Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебно-методическое пособие по выполнению курсовой работы по дисциплине Технологии стеганографии в системах инфокоммуникаций

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
1 Мб
Скачать

 

 

 

 

 

Метод

относительной

за-

 

 

 

 

 

мены величин коэффициен-

 

 

 

 

 

тов ДКП (метод Коха и Жао)

 

 

 

 

 

Алгоритм

стеганографического скры-

Алгоритм Куттера

 

 

тия информации в видеоконтейнере

 

 

Алгоритм Брайндокса

 

 

 

 

 

 

 

 

 

 

 

 

Алгоритм Дармстедтера-Де-

 

 

 

 

 

лейгла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Алгоритм Фридриха

 

 

 

 

 

 

 

 

 

 

 

 

 

Алгоритм Хсу и Ву

 

 

 

 

 

 

 

 

 

 

 

 

 

Алгоритм Фридрих

 

 

 

 

 

 

Метод

скрытия

информации

в

Кодирование наименее зна-

аудиоконтейнере

 

 

 

чащих бит (временная об-

 

 

 

 

 

ласть)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Метод расширения спектра

 

 

 

 

 

(временная область)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Метод

фазового

кодирова-

 

 

 

 

 

ние (частотная область)

 

 

 

 

 

 

Алгоритм оценки

качества

восприятия

Среднеквадратическая

 

стеганоконтейнера после

скрытия

ин-

ошибка (Mean Square Error -

формации

 

 

 

 

MSE)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нормированная среднеквад-

 

 

 

 

 

ратическая

ошибка

 

 

 

 

 

(NormalizedMeanSquareError

 

 

 

 

 

- NMSE)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отношение

 

 

 

 

 

 

 

"сигнал/шум"(Signal

to

 

 

 

 

 

Noise Ratio - SNR)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Максимальноеотношение

 

 

 

 

 

 

"сигнал/шум" (Peak Signal

 

 

 

 

 

toNoiseRatio - PSNR)

 

 

 

 

 

 

 

 

 

 

21

6.Структура отчета

1)Теоретические основы.

Вобъеме 4-6 страниц дается обзор методов, алгоритмов, математических моделей, практических инструментов (библиотек функций или классов, протоколов, фрагментов программного кода), пригодных для решения поставленной в теме семестровой работы задачи. Необходимо дать их сравнительный анализ, подчеркнув достоинства и недостатки применения в тех или иных случаях, указать возможные пределы использования на практике.

2)Постановка задачи для практической реализации.

Разработать оконное Windows-приложение для стеганографического скрытия и детектирования цифрового водяного знака (ЦВЗ) или текста в графическом, текстовом, аудио или видео контейнере заданного в соответствии с заданием формата (bmp,jpeg, mpeg) . Вид скрываемого файла и способ скрытия информации в видеоконтейнере задается в задании. При встраивании данных скрываемый текст (в кодировке ASCII) и графический контейнер (в формате bmp) должны извлекаться из файлов на диске по выбору пользователя. Перед встраиванием пользователю предоставляется возможность задания параметров встраивания: количество заменяемых бит контейнера, схему выбора изменяемых точек изображения. При старте встраивания программа должна оценить допустимость скрытия выбранных данных в контейнере при заданных параметрах. Если встраивание допустимо – программа должна формировать новый графический файл с встроенным текстом. При этом программа должна позволять просмотреть контейнер до и после встраивания для визуальной оценки скрытности встраивания. Если встраивание недопустимо – программа должна выводить соответствующее сообщение. Вместе с текстом программа должна встраивать в контейнер специальную метку, по которой можно определить наличие встроенного текста при детектировании.

В режиме детектирования программа должна предоставлять пользователю возможность выбрать файл с контейнером на диске, выбрать параметры детектирования (аналогичные параметрам встраивания) и запустить процедуру обнаружения встроенного текста. Если в контейнере найдена метка – программа должна сохранять детектированный текст в файл. Если метка не найдена – программа должна выводить сообщение об отсутствии в выбранном контейнере скрытого текста.

22

Используя программное обеспечение оценить качество контейнера

искрываемой информации используя метрику заданную в задании

3)Листинг разработанной программы.

Втретьей главе необходимо обосновать выбранное средство разработки программы и привести листинг программы с комментариями, а также результаты работы программы. Работающую программу необходимо продемонстрировать преподавателю лично.

4)Список использованных при выполнении работы литературных источников.

Должен содержать не менее 5 источников, среди которых допускаются книги, статьи в научных и технических журналах, ссылки на ресурсы интернет. Дата публикации источника должна быть не более 5 лет от момента сдачи работы.

7. Пример выполнения задания

Задание:

Тип стеганографического контейнера — аудио (стерео). Музыка и речь;

Тип скрываемого файла — текст;

Способ сжатия, используемый в аудио контейнере – wav;

Метод скрытия информации в аудиоконтейнере — Метод расширения спектра (временная область);

Алгоритмы оценки качества восприятия стеганоконтейнера после скрытия информации;

Среднеквадратическая ошибка (MeanSquareError - MSE);

Нормированная среднеквадратическая ошибка (Normalized Mean Square Error — NMSE);

Отношение "сигнал/шум"(Signal to Noise Ratio — SNR);

Максимальное отношение "сигнал/шум" (Peak Signal to Noise Ratio — PSNR)

23

7.1.Структура аудиоконтейнеров для скрытия информации

Будем использовать два вида контейнера. Первый контейнер является аудиофайлом формата Wav, который содержит отрывок музыкальной композиции жанра «ретро» и имеет следующие характеристики:

1.Размер файла – 1,68 МБ

2.Продолжительность – 10 секунд

3.Количество каналов аудио – 2 канала (стерео)

4.Частота дискретизации – 44100 Гц

5.Количество бит для кодирования одного отсчета – 16 бит

6.Среднее количество бит в секунду, необходимое для воспроизведения файла в реальном времени – 176400 бит/с.

Второй контейнер является аудиофайлом формата Wav, который содержит записанную мужскую речь на русском языке. Известно, что речь человека занимает полосу частот примерно от 60 до 12000 Гц, но для того, чтобы можно было ее разобрать, вполне хватит полосы частот от 300 до 3400 Гц, а все, что выше 3,4 кГц, будет «отброшено» фильтром. Согласно теореме Котельникова, для того, чтобы без потерь восстановить ограниченный по спектру сигнал, необходимо иметь частоту дискретизации в два раза больше верхней частоты сигнала. Выберем частоту дискретизации равной 8 кГц. Данный аудиофайл с речью имеет следующие характеристики:

1.Размер файла – 80 КБ

2.Продолжительность – 10 секунд

3.Количество каналов аудио – 1 канал (моно)

4.Частота дискретизации – 8000 Гц

5.Количество бит для кодирования одного отсчета – 8 бит

6.Среднее количество бит в секунду, необходимое для воспроизведения файла в реальном времени – 8000 бит/с.

7.2.Потенциальная емкость контейнеров

Аудиоконтейнер, в котором записана музыкальная композиция, имеет продолжительность 10 секунд, частоту дискретизации 44100 Гц и 2 канала (стерео). Следовательно, в данном файле есть 882000 отсчетов (441000 отсчетов на 1 канал аудиофайла). Метод НЗБ использует для каждого скрываемого бита информации 1 отсчет. Соответственно потенциальная емкость контейнера составляет 882000/8 = 110250 байт или символов.

24

Аудиоконтейнер, который содержит речь, имеет также продолжительность 10 секунд, но 1 канал (моно) и частоту дискретизации значительно меньше – 8000 Гц. Этот аудио файл имеет 80000 отсчетов, следовательно, потенциальная емкость данного контейнера составляет 80000/8 = 10000 байт или символов.

В виде скрываемой информации будет использоваться текст песни «День победы»:

День Победы, как он был от нас далек, Как в костре потухшем таял уголек. Были версты, обгорелые, в пыли, - Этот день мы приближали, как могли. Этот День Победы Порохом пропах, Это праздник С сединою на висках.

Это радость Со слезами на глазах. День Победы!!

День Победы!! День Победы!!

Дни и ночи у мартеновских печей Не смыкала наша Родина очей. Дни и ночи битву трудную вели -

Этот день мы приближали, как могли. Здравствуй, мама, возвратились мы не все...

Босиком бы пробежаться по росе! Пол-Европы прошагали, полземли, - Этот день мы приближали, как могли.

Данный текст содержит 580 символов. Размер txt файла с произведением - 580 байт.

7.3.Реализация метода расширения спектра в MathCAD

Шаг 1. Для загрузки аудиофайла используется функция READ-

WAV(“Имя_файла.wav”).

C READWAV ("C.WAV" )

25

Соответственно для загрузки текстового файла используется функция READ-

BIN(“Имя_файла.txt”,”byte”).

Message READBIN("m.txt" "byte" )

Для того, чтобы подсчитать количество встраиваемых бит, используется следующее выражение:

Lm 8 st rlen (M) 4640 .

Встраивание текста будет происходить в первый канал в случае, если используется двухканальный сигнал:

1

C1 C .

Для того, чтобы внедрить сообщение в контейнер, последний необходимо разбить на некоторое количество N сегментов. Чтобы подсчитать необходимое количество сегментов, используется следующее выражение:

N floor

rows(C1)

 

95

.

 

 

 

Lm

 

 

 

 

 

 

Где rows(C1) – количество отсчетов, floor – функция деления без остатка.

Шаг 2. Для каждого бита встраиваемого сообщения генерируется псевдослучайная последовательность +1/-1. Длина данной последовательность должна быть как минимум N элементов.

Алгоритм генерирования ПСП следующий:

1 ( 1 )T

2 ( 1 1 )T

3 ( 1

0

1 )T

 

4 ( 0

0

1

1 )T

5 ( 0

1

0

0

1 )T

6 ( 1

0

0

0

0 1 )T

7 ( 1 0 0

0 0 0 1 )T

8 ( 0 1 1 1

0 0 0 1 )T

 

26

9 ( 0 0 0 1 0 0 0 0 1 )T

10 ( 0 0 1 0 0 0 0 0 0 1 )T

11 ( 0 1 0 0 0 0 0 0 0 0 1 )T

 

 

 

 

 

 

12 ( 1 0 0 1 0 1 0 0 0 0 0 1 )T

 

 

 

 

 

 

CHIP(start)

d

 

 

 

 

 

 

 

 

 

for i 1 N

 

 

 

 

 

 

 

 

if

i

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Rdeci start

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Rbin D2B Rdeci

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if

i 2

 

 

 

 

 

 

 

 

 

 

bit

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for

j 1 d

 

 

 

 

 

 

 

 

 

 

 

bit Rbinj bit

if

j

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R Rbin

 

 

 

 

 

 

 

 

 

 

for

j 1 d

 

 

 

 

 

 

 

 

 

 

 

 

 

Rbinj

Rj 1

if

j

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Rbinj

bit if

j

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Rdeci B2D(Rbin)

CHIPi Rbin1

CHIP 2 1

Где d – разряд регистра. Для того, чтобы его подсчитать, используется следующее выражение:

d ceil (log(N 1 2)) 7

При этом период сгенерированной ПСП будет равен:

2d 1 127

Данный алгоритм генерирования ПСП позволяет получать последовательность при различных значениях регистра. Процесс генерирования ПСП будет

27

завершен после получения N бит. В конце программного модуля полученная последовательность {0/1} интерпретируется в последовательность {-1/1}.

Шаг 3. Встраивание скрываемого текста будет происходить благодаря алгоритму S1:

S1

 

 

 

M vec str2vec(M)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M vec_bin D2B M vec

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

for j 2 strlen(M)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M vec_bin stack

M vec_bin D2B M vec

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

M vec_bin 2 M vec_bin 1

 

 

 

 

 

 

 

m 1

 

 

 

 

 

 

 

 

 

while m Lm

 

 

 

 

 

 

 

 

 

 

c submat rix[C1 [N (m 1) 1] N m 1 1]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s c (c CHIP(m)) M vec_bin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

S1 s if m 1

 

 

 

 

 

 

 

 

 

 

S1 stack (S1 s)

if

m 1

 

 

 

 

 

 

 

 

m m 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S1 stack (S1 submat rix(C1 Lm N

1 rows(C) 1 1))

 

 

 

 

S1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В начале алгоритма полученная строка переводится в двоичный код и преобразуется в вектор значений -1/1. Затем из канала, в который происходит встраивание, выделяются необходимые для изменения отсчеты, после чего происходит наложение полученного вектора на выделенные отсчеты с помощью сгенерированной ПСП. Параметр α служит для ослабления полученного сигнала.

После вышеописанных преобразований модифицированные элементы аудио сигнала стекируются с оставшимися оригинальными элементами. Результат проделанных модификаций изображен на рисунке 7.

28

Рис. 7. Временные диаграммы аудиофайла после скрытия текстового файла

Полученный массив записывается в новый файл S следующей функцией:

WRITEWAV("S.WAV" f Q) S

Шаг 4. Для извлечения скрытого сообщения из аудиоконтейнера необходимо его загрузить, используя функцию:

S* READWAV ("S.wav" )

После считывания аудиофайла выделяется необходимый канал, в который происходило встраивание:

S1* S* 1

Для осуществления процесса извлечения необходимо иметь оригинальный аудиофайл, а точнее, канал, в который происходило встраивание сгенерированной ПСП, а также знать количество сегментов, на которое происходило разбиение оригинального сигнала при встраивании сообщения.

Используя следующий алгоритм можно извлечь необходимое сообщение:

29

M *

m 1

 

 

 

 

 

while m N* rows(S*)

 

 

 

s* submat rix[S1* [N* (m 1)

1] N* m 1 1]

 

 

 

 

c submat rix[C1 [N* (m 1)

1] N* m 1 1]

 

 

 

 

 

 

c' [(s* c) CHIP(m)]

 

 

 

M *binm 1

if

sign (mean(c))

 

sign (mean(c'))

 

 

 

 

 

 

M *binm 0

if

sign (mean(c)) sign (mean(c'))

 

 

m m 1

 

 

 

 

 

 

 

 

 

 

for j 1 rows(M *bin) 8

M *vecj B2D(submat rix(M *bin 8 j 7 8 j 1 1)) M *vec

В начале алгоритма выделяются отсчеты, необходимые для анализа и извлечения сообщения. После этого происходит сравнение сегментов оригинального аудио сигнала и модифицированного. Если знак сравниваемых сегментов разный, значит, в него было встроено «1», если же одинаковый, значит

«0».

7.4. Оценка качества встраивания информации в аудио контейнер

Критерии оценки

После завершения этапа встраивания информации в аудио контейнер необходимо оценить искажения, полученные в ходе изменения файла. Для этого используются определенные метрики, которые можно разделить на две большие категории: объективные и субъективные.

Всоответствии с заданием используются следующие субъективные метрики:

1.Среднеквадратичная ошибка (MeanSquareError - MSE) является одной из самых простых метрик. Данный метод используется для определения отклонения бит измененного контейнера от исходного:

MSE = =( − )

где I — длина контейнера, Ci — i-бит пустого контейнера, Si — i-бит заполненного контейнера.

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]