Скрытие данных с использованием эхо-сигнала

Данный метод подразумевает под собой встраивание данных в аудиосигнал-контейнер путем введения в него эхо-сигнала [14]. Данные скрываются изменением трех параметров эхо-сигнала: начальной амплитуды, скорости затухания [(начальная амплитуда - затухание)/ Скрытие данных с использованием эхо-сигнала - student2.ru ] и сдвига (рис. 5.78).

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.78 Регулируемые параметры эхо-сигнала

Когда сдвиг (задержка) между первичным и эхо-сигналом уменьшается, начиная с некоторого значения задержки, ССЧ становится не способной обнаружить разницу между двумя сигналами, а эхо-сигнал воспринимается только как дополнительный резонанс. Упомянутое значение трудно определить точно, поскольку оно зависит от качества первичной звукозаписи, типа звука, для которого формируется эхо-сигнал, и, в конечном итоге, — от слушателя.

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

Стеганокодер использует два времени задержки: одно для представления двоичного нуля ("сдвиг" на рис. 5.78), а другое — для представления двоичной единицы ("сдвиг + Скрытие данных с использованием эхо-сигнала - student2.ru "). Оба времени задержки меньше того предельного времени, за которое ССЧ способна распознать эхо-сигнал. Кроме уменьшения времени задержки для обеспечения неощущаемости также можно установить уровни начальной амплитуды и времени затухания, которые бы не превышали порог чувствительности ССЧ.

Процесс встраивания данных может быть представлен в виде устройства, которое реализует одну из двух возможных системных функций. Во временной области системные функции — это дискретные во времени экспоненты (рис. 5.79), отличие между которыми состоит лишь в задержке между импульсами.

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.79 Дискретный во времени экспоненциал

Рассмотрим пример с двумя импульсами (один для копирования исходного сигнала, а другой — для формирования эхо-сигнала). Очевидно, что увеличение количества импульсов приведет к возрастанию количества эхо-сигналов.

На рис. 5.80 представлены системные функции для кодирования двоичных "1" и "0". Обработка сигнала в соответствии с рис. 5.80, а или б будет иметь своим результатом закодированный сигнал (рис. 5.81).

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.80 Регулируемые параметры эхо-сигнала

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.81 Примеры эхо-отображения

Задержка Скрытие данных с использованием эхо-сигнала - student2.ru между первичным и эхо-сигналом является зависимой от того, какое представление или системная функция была использована. Представление "1" создается задержкой в Скрытие данных с использованием эхо-сигнала - student2.ru секунд, тогда как представление "0" — задержкой в Скрытие данных с использованием эхо-сигнала - student2.ru секунд.

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

На рис. 5.82 изображен пример, при котором сигнал был разделен на 7 равных сегментов, помеченных как а, b, с, d, е, f и g.

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.82. Разбиение первичного сигнала на меньшие сегменты для встраивания информации, представляющей собой последовательность двоичных данных

Пусть необходимо, чтобы сегменты а, с, d и g содержали "1". Следовательно, для каждого из них нужно применить системную функцию представления единицы (рис. 5.80, а). Каждый сегмент индивидуально сворачивается с системной функцией. Нули, помещенные в сегменты b, e и f, кодируются аналогично, используя способ представления нуля (рис. 5.80, б).

Полученные после сворачивания с соответствующей функцией результаты повторно объединяются.

Для достижения минимальной заметности повторного объединения, в [14] предварительно предлагается создать отдельные "единичный" и "нулевой" эхо-сигналы, повторяя первичный и используя соответствующие представления "1" и "0". Полученные в результате сигналы изображены на рис. 5.83.

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.83. Создание "единичного" и "нулевого" эхо-сигналов (более светлая линия)

"Единичный" и "нулевой" эхо-сигналы содержат, соответственно, только единицы и нули. Для того чтобы объединить эти два сигнала, также создаются два смешивающих сигнала (рис. 5.84), которые представляют собой последовательность двоичных данных, состояние которой зависит от того, какой бит необходимо скрыть в том или ином сегменте первичного сигнала.

"Единичный" и "нулевой" смешивающие сигналы умножаются на соответствующие им эхо-сигналы. Иными словами, последние масштабируются единицей или нулем на протяжении всего времени действия сигнала в зависимости от того, какой бит предусматривается поместить в любой из его отдельных сегментов. В дальнейшем два результата складываются друг с другом.

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

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.84 Смешивающие сигналы

Блок-схема, которая отображает полный процесс встраивания, показана на рис. 5.85.

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.85 Блок-схема встраивания информации методом эхо-сигнала

Извлечение вложенной информации подразумевает под собой выявление интервала между эхо-сигналами отдельных сегментов. Для этого необходимо исследовать в двух позициях амплитуду автокорреляционной функции (АКФ) косинус-преобразования Фурье натурального логарифма спектра мощности (или так называемого кепстра) кодированного сигнала [92,93]:

Скрытие данных с использованием эхо-сигнала - student2.ru (5.61)

Рассмотрим пример процесса извлечения, приведенный в [14]. Пусть получен закодированный сигнал, представляющий собой такую последовательность импульсов, в которой последние отделены друг от друга определенным интервалом и характеризуются экспоненциальным затуханием амплитуды. Во всех других точках сигнал равняется нулю (рис. 5.86).

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

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.86. Пример сигнала Скрытие данных с использованием эхо-сигнала - student2.ru

К сожалению, результат вычисления кепстра кроме всего прочего дублирует эхо-сигнал через каждые Скрытие данных с использованием эхо-сигнала - student2.ru секунд. На рис. 5.87 это изображено наличием последовательности импульсов на выходе. Более того, амплитуда импульсов, которые представляют эхо-сигнал, является малой по отношению к первичному сигналу. Как следствие, их трудно обнаружить

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.87 Процесс получения кепстра от эхо-кодированного сигнала

Решение данной проблемы заключается в вычислении АКФ кепстра. С помощью однократного отображения сигнала с задержкой Скрытие данных с использованием эхо-сигнала - student2.ru (рис. 5.88), получаем результат, изображенный на рис. 5.89.

При этом значительно усилен только первый импульс, поскольку его "поддерживают" следующие за ним импульсы. Таким образом, в позиции первого импульса мы получаем всплеск. Подобно первому импульсу, всплеск повторяется через Скрытие данных с использованием эхо-сигнала - student2.ru или же через Скрытие данных с использованием эхо-сигнала - student2.ru секунд после всплеска первичного сигнала. Остаточные составляющие импульсов стремятся к нулю, что позволяет эффективно бороться с шумами.

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.88 Принцип отображения сигнала

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.89 Результат однократного отображения сигнала

Приведем критерий принятия решения относительно того, какой бит ("1" или "0") скрыт во временной задержке Скрытие данных с использованием эхо-сигнала - student2.ru всплеска АКФ по отношению к первичному сигналу. Вспомним, что "1" кодировалась размещением эхо-сигнала через Скрытие данных с использованием эхо-сигнала - student2.ru , а "0" — через Скрытие данных с использованием эхо-сигнала - student2.ru секунд после оригинала. Аналогично при извлечении — бит является единичным, если значение АКФ через Скрытие данных с использованием эхо-сигнала - student2.ru секунд больше, чем через Скрытие данных с использованием эхо-сигнала - student2.ru секунд. В противном случае бит считается нулевым.

По утверждению авторов [14], с помощью данного метода вполне возможно скрывать/извлекать информацию в виде двоичного кода в/из потока аудиоданных с минимальным изменением первичного сигнала при пропускной способности, приблизительно, в 16 бит/с. Под минимальным изменением подразумевается тот факт, что среднестатистический человек не будет способен при этом почувствовать существенную разницу между модифицированным и первичным сигналами.

Однако; в другой своей работе [108] авторы указывают на то, что предложенный ими метод не является универсальным — для некоторых аудиосигналов невозможно получить достаточно высокий коэффициент правильно распознанных при извлечении бит даже при отсутствии помех в канале связи.

Рассмотрим реализацию метода эхо-кодирования с помощью системы Math-CAD.

Шаг1

Исходные данные: контейнер с частотой дискретизации fД=22050 Гц и количеством бит на один уровень квантования Q = 16:

Ctotal:= READWAV("C.wav") С := Ctotal<1>; rows(C) = 20191.

Сообщение М:= "Опасность" длиной NM := strlen(M), NM= 9 символов или LM:=8·NM,

LM= 72бит.

Шаг 2

Пусть нулевая задержка между первичным и эхо-сигналом составляет Скрытие данных с использованием эхо-сигнала - student2.ru := 20 дискретных отсчетов (или Скрытие данных с использованием эхо-сигнала - student2.ru = 0.907 мс), а единичная — Скрытие данных с использованием эхо-сигнала - student2.ru :=30 отсчетов (или Скрытие данных с использованием эхо-сигнала - student2.ru = 1.361 мс).

"Единичный" и "нулевой" эхо-сигналы получим с помощью простого смещения на Скрытие данных с использованием эхо-сигнала - student2.ru отсчетов элементов контейнера-оригинала и поэлементного суммирования полученных векторов (предварительно умноженных на коэффициент затухания Скрытие данных с использованием эхо-сигнала - student2.ru а) с вектором С — программные модули (М.122) и (М.123).

Скрытие данных с использованием эхо-сигнала - student2.ru

Фрагменты (первые 70 отсчетов) результата сдвига сигнала С на Скрытие данных с использованием эхо-сигнала - student2.ru и Скрытие данных с использованием эхо-сигнала - student2.ru , отсчетов изображены на рис. 5.90.

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.90 "Нулевой" и "единичный" эхо-сигналы массива С при параметре Скрытие данных с использованием эхо-сигнала - student2.ru

Шаг 3

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

Вычислим количество отсчетов в одном сегменте, исходя из битовой длины сообщения LM (путем округления к ближайшему наименьшему целому с помощью функции floor( Скрытие данных с использованием эхо-сигнала - student2.ru )):

NБ :=floor(rows(C)/LM), NБ=280

Шаг 4

Исходя из указанной при описании метода необходимости в наклонных фронтах импульсов смесительных сигналов (трапецеидальные импульсы), предварительно задаемся следующим:

• размах импульса: U:= 1;

• длительность фронтов: Скрытие данных с использованием эхо-сигнала - student2.ru := 20 отсчетов;

• длительность импульса по уровню U: Т := NБ - х, Т = 260 отсчетов;

Амплитуды отсчетов импульса формируем с помощью комплексного программного модуля (М.124).

Скрытие данных с использованием эхо-сигнала - student2.ru

Графическая интерпретация вычисления модуля (М.124) приведена на рис. 5.91.

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.91 Трапецеидальный импульс, построенный по Скрытие данных с использованием эхо-сигнала - student2.ru отсчетам

Формирование смесительных сигналов выполним, пользуясь программным модулем (М.125). При этом принимаем, что каждый бит сообщения кодируется половиной переднего фронта импульса, его единичным уровнем и половиной заднего фронта.

Скрытие данных с использованием эхо-сигнала - student2.ru

После формирования смесительного сигнала для всех LM бит сообщения, данный сигнал дописывается нулевым или единичным уровнем, в зависимости от значения последнего (LM -го) бита. Нулевой смесительный сигнал получается из единичного с учетом того, что их сумма должна равняться единице.

Смесительные сигналы для первой восьмерки бит сообщения представлены на рис. 5.92.

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.92 "Нулевой" Скрытие данных с использованием эхо-сигнала - student2.ru и "единичный" Скрытие данных с использованием эхо-сигнала - student2.ru смесительные сигналы

Шаг 5

Непосредственно встраивание бит сообщения в аудиоконтейнер выполняет программный модуль (МЛ 26).

В зависимости от значения текущего бита бинарного сообщения Mvec_bin, проводится выделение сегмента заданной размерности (NБ) из соответствующего эхо-сигнала ( Скрытие данных с использованием эхо-сигнала - student2.ru или Скрытие данных с использованием эхо-сигнала - student2.ru ) и из смесительного сигнала ( Скрытие данных с использованием эхо-сигнала - student2.ru или Скрытие данных с использованием эхо-сигнала - student2.ru ), которые в дальнейшем поэлементно перемножаются (для чего можно также использовать и операцию векторизации).

Полученные для каждого бита векторы s' формируют общий вектор заполненного контейнера S, в конец которого после встраивания последнего символа сообщения дописываются элементы контейнера-оригинала, которые не были модифицированы. Очевидно, что количество элементов сформированного вектора S будет отвечать соответствующему показателю для вектора С, то есть rows(S) = 20191.

Скрытие данных с использованием эхо-сигнала - student2.ru

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

WRITEWAV ("S_echo.wav", fД, Q) := augment(S, Ctotal<1>)

Шаг 6

Для извлечения скрытого сообщения предусматривается следующее: получателю известны размерность блоков, на которые разбивается контейнер (то есть Скрытие данных с использованием эхо-сигнала - student2.ru ), а также значения нулевой и единичной задержек ( Скрытие данных с использованием эхо-сигнала - student2.ru ).

Программный модуль извлечения данных — (М.127). В основу модуля положено вычисление автокорреляционной функции кепстра (5.61), однако для более надежного извлечения анализируется окрестность отсчетов Скрытие данных с использованием эхо-сигнала - student2.ru и Скрытие данных с использованием эхо-сигнала - student2.ru .

На pис. 5.93 приведен результат вычисления АКФ кепстра для первого и восьмого бит сообщения Скрытие данных с использованием эхо-сигнала - student2.ru .

Результаты вычисления показателей звукового искажения контейнера при внесении в него данных путем эхо-кодирования .сведены в табл. 5.6.

Скрытие данных с использованием эхо-сигнала - student2.ru

Рис. 5.93. Пример вида АКФ кепстра сигнала, который содержит "нулевое" (а) и "единичное" (б) эхо-отображение

Таблица 5.6. Показатели звукового искажения в случае скрытия данных в аудиосреде

Название показателя искажения Оригинал Методы скрытия данных в аудиосреде
НЗБ (ПС интервал) Фазовое кодирование Расширение спектра Эхо-кодирование
Максимальная разность, MD
Средняя абсолютная разность, AD 3.244·10-3 15.298 14.321 572.093
Нормированная средняя абсолютная разность, NAD 2.625·10-6 0.012 0.012 0.5
Среднеквадратическая ошибка, MSE 0.003 2.657 ·103 956.742 7.640· 105
Нормированная среднеквадратическая ошибка, NMSE 9.402· 10-10 7.702·10-4 2.773·10-4 0.250
Lp- норма, р = 2 0.057 51.551 30.931 874.01
Отношение "сигнал/шум", SNR 1.064·109 1.298·103 3.606·103 4.006
Максимальное отношение "сигнал/шум", PSNR 1.177·1010 1.437·104 3.992·104 45.968
Качество звучания, AF ≈1 0.999230 0.999723 0.750371
Нормированная взаимная корреляция, NC ≈1 0.999615 0.999806 1.255078
Качество корреляции, CQ 2.792·103 2.792·103 2.790·103 2.791·103 3.355·103
Структурное содержание, SC ≈1 ≈1 1.000110 0.568251
Общее сигма-отношение "сигнал/шум", GSSNR 1.152·1014 1.51·1020 3.279·108 9.377
Сигма-отношение "сигнал/шум", SSNR 140.6 201.8 85.2 9.721
Отношение "сигма/ошибка", SER 1.064-109 1.298-103 3.606- 103 4.006
Подобие гистограмм. HS

Скрытие данных в тексте

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

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

Скрытие данных в тексте требует поиска таких модификаций, которые были бы незаметными подавляющему большинству читателей. Авторы [14] рассматривают три группы методов, которые получили наибольшее распространение при встраивании скрываемых данных в текст:

• методы произвольного интересна, которые осуществляют встраивание путем манипуляции с пробельными символами (свободным местом на печатной полосе);

• синтаксические методы, которые работают с пунктуацией;

• семантические методы, в основу алгоритмов которых положено манипулирование словами, зависимое от скрываемых бит данных.

Наши рекомендации