Встраивание путем модификации отношения между значениями коэффициентов в пределах одного блока 2 страница
Изображения С и С* разбиваем на блоки, используя программный модуль (М.55). Заметим, что при разбитии С* в модуле необходимо провести соответствующую замену переменных на такие, которые характеризуют именно это изображение.
К каждому блоку оригинального изображения и изображения, исследуемого на наличие ЦВЗ, применяем операцию прямого ДКП (модули (М.46,47)). На основе полученных матриц коэффициентов ДКП ( и ) формируем матрицы СЧ-коэффициентов и (модуль (М.63)), которые используем при вычислении шаблонов полярности Р и Р* (модуль (М.64)).
Путем поблочного сложения по модулю 2 полученных матриц полярностей получаем двоичные данные, которые, в том случае, если контейнер действительно содержит ЦВЗ, отвечают переставленным в пространстве и псевдослучайно смешанным элементам ЦВЗ. Операцию суммирования выполняем с помощью программного модуля (М.70).
Формируем массив индексов сопоставленных пар блоков контейнера и оригинального ЦВЗ (см. (М.59), (М.60)), на основании которого выполняем обратную пространственную перестановку блоков массива — программный модуль (М.71)
Пространственно переставленные блоки объединяем в общий массив (М.72), элементы которого гипотетически являются псевдослучайно перемешанными элементами оригинального ЦВЗ.
Используя программный модуль (М.73), проводим обратную псевдослучайную перестановку данных, используя (М.57) для получения ПСЧ, на основе которых генерируется пара координат элемента в массиве , значение которого присваивается і-му элементу вектора .
Полученный в результате выполнения (М.73) вектор сворачиваем в массив W*, имеющий размерность оригинального ЦВЗ (модуль (М.74)).
Графическое представление извлеченных ЦВЗ, встраивание которых в контейнер было проведено путем изменения отношений между значениями коэффициентов ДКП, соответственно, соседних блоков и в пределах одного блока, изображено на рис. 5.41 а и б.
Рис. 6.41. ЦВЗ, извлеченные из контейнере
Результаты вычисления показателей визуального искажения для двух рассмотренных разновидностей метода занесены в табл. 5.4 (стр. 179) Заметим, что при сравнении полученных результатов с результатами других методов, следует принимать во внимание, что в контейнер встраивалась информация, пиксельный объем которой был всего лишь в 4 раза меньше объема контейнера.
Метод Фридрих
Алгоритм, предложенный Джессикой Фридрих (J. Fridrich) [106], по сути является комбинацией двух алгоритмов: в соответствии с одним из них скрываемые данные встраиваются в низкочастотные, а с другим — в среднечастотные коэффициенты ДКП. Как было показано автором, каскадное использование двух разных алгоритмов позволяет получить хорошие результаты относительно стойкости стеганографической системы к атакам.
Изображение, которое планируется использовать в качестве контейнера, конвертируется в сигнал с нулевым математическим ожиданием и определенным стандартным отклонением таким образом, чтобы НЧ-коэффициенты ДКП, которые будут вычислены в дальнейшем, попадали в предварительно заданный неизменный диапазон. Предложенное преобразование
(5.37)
где X, Y — размерность изображения С в пикселях; и — соответственно, математическое ожидание и стандартное отклонение значений яркости пикселей изображения, — трансформирует полутоновое изображение С в двумерный сигнал G с нулевым математическим ожиданием. В этом случае абсолютное значение максимального НЧ-коэффициента ДКП сигнала G не будет превышать порог (200...250). Кроме того, утверждается, что данное преобразование применимо для широкого круга всевозможных изображений: как с большими однородными областями, так и сильно текстурированных.
Для сигнала-изображения G проводится вычисление коэффициентов ДКП, из всего множества которых модифицируются только низкочастотные. Причем модифицирование проводится таким образом, чтобы в коэффициентах было закодировано скрываемое сообщение W, представляющее собой сигнал в виде последовательности чисел {-1,1}. Для этого предварительно необходимо определить геометрическую прогрессию действительных чисел
(5.38)
параметризованную (настраиваемую) с помощью параметра .
Для значений определяется индексная функция
если (5.39)
позволяющая для каждого действительного числа определить его индекс (+ / -1). Вполне очевидно, что указанный индекс может быть изменен путем прибавления или же вычитания числа, не превышающего значения . На рис. 5.42 приведены индексные функции для .
Рис.5.42. Индексная функция Ind(t) при значениях
Для встраивания массива сообщения W, каждый отдельный бит которого может принимать значения , при , выбираются НЧ-коэффициентов ДКП — , значения которых изменяются таким образом, что бы удовлетворялось условие где — модифицированное значение коэффициента ДКП. В том случае, если , коэффициент для встраивания не используется. Благодаря свойствам индексной функции, как указывает автор, каждый коэффициент будет изменен не больше чем на процентов [9]. Также отмечается, что изменения будут носить случайных характер, поскольку не существует никаких оснований считать, что коэффициенты ДКП на начальном этапе кодирования являются следствием определенного сообщения.
Наибольшая стойкость стеганосистемы к искажениям контейнера достигается при установлении в качестве новых значений коэффициентов ДКП середины интервалов . Однако это может послужить появлению сосредоточений одинаковых коэффициентов ДКП, что делает систему ненадежной с точки зрения возможного стеганографического анализа. Значение параметра а выбирается таким образом, чтобы встраивание сообщения не приводило к заметным для глаза искажениям контейнера.
Операция извлечения проводится путем выполнения аналогичных с операцией встраивания преобразований контейнера, который подозревается на наличие скрытого сообщения:
• конвертация в сигнал с нулевым матожиданием по формуле (5.37);
• вычисление коэффициентов ДКП конвертированного изображения;
• вычисление для заранее оговоренных коэффициентов ДКП индексной функции (5.39) при заданном параметре ;
• формирование из полученных индексов массива извлеченного сообщения.
Кроме того, Фридрих предложен метод детектирования наличия /отсутствия встроенного сообщения в контейнере, что может быть полезным при защите цифрового контента (информационного содержимого) с помощью ЦВЗ. Данная операция предполагает осведомленность получателя относительно содержания скрытого сообщения.
По причине того, что большинство из НЧ-коэффициентов было подвергнуто модификации во время кодирования, простое вычисление корреляции между Wj и предопределяло бы собой нестойкость метода, поскольку малые, визуально незначащие коэффициенты ДКП делают такой же весовой вклад в общую энергию сигнала, как и большие, визуально более значащие коэффициенты.
Так как предварительно было выдвинуто условие, что контейнер со встроенным сообщением не должен привлекать внимание, мы не можем встраивать данные только в коэффициенты, имеющие большое значение. Кроме того, позиции наибольших коэффициентов ДКП первичного и модифицированного изображений могут не совпадать, что сделает невозможной безошибочную идентификацию тех из них, в которые было произведено встраивание. В предлагаемой автором системе встраивание осуществляется во все НЧ-коэффициенты, независимо от их значения (конечно, кроме тех, которые не превышают единицы), однако только наибольшие из них учитываются впоследствии при вычислении коэффициента корреляции, взвешиваемого с энергией абсолютных значений коэффициентов ДКП:,
(5.40)
Такое взвешивание автоматически делает более выразительными наибольшие значения коэффициентов, одновременно подавляя незначительные, которые могли претерпеть изменения в результате каких-либо операций по обработке изображения. Параметр устанавливает важность взвешивания. Если , вычисляется обычный, невзвешенный коэффициент корреляции. Значение , слишком близкое к единице, приводит к сингулярности (вырождению) системы детектирования: функция обнаружения будет зависеть только от значения всего лишь одного бита, отвечающего наибольшему коэффициенту ДКП. Автор метода рекомендует использовать значения .
Более стойкой к атакам данную систему можно сделать путем поиска максимального значения коэффициента корреляции относительно стандартного отклонения значений яркости пикселей изображения, подозреваемого на присутствие встроенного сообщения.
Масштабирование (5.37) зависит от стандартного отклонения значений яркости пикселей, которое может быть существенно искажено, если изображение с встроенным сообщением было подвергнуто сглаживанию, или, например, дополнительно зашумлено. Как следствие, коэффициенты ДКП такого изображения будут промасштабированы с помощью фиксированного коэффициента (отношение стандартных отклонений оригинального и исследуемого на наличие скрытого сообщения изображений ). Однако сообщения, закодированного в коэффициентах ДКП, линейные изменения не коснутся. Указанный факт и наводит на мысль о целесообразности использования простого одномерного поиска правильного масштаба d, который бы Максимизировал значение коэффициента корреляции (поскольку, как было отмечено выше, первичное изображение, используемое в качестве контейнера, в детекторе отсутствует). Таким образом, дополненная функция детектирования имеет следующий вид:
(5.41)
Автором [106] установлено, что даже при значительных искажениях изображения в результате атак, достаточным будет являться шаг отклонения масштаба .
Трудности детектирования, возникающие при этом, требуют уменьшения информационного содержания сообщения и добавления корректирующих бит. Следовательно, поскольку вклад в обнаружение сообщения вносят только наибольшие коэффициенты ДКП, информационное содержание сообщения длиной представляет собой лишь определенную долю от . Кроме того, вполне очевидно, что одномерный поиск масштабного коэффициента, который максимизирует коэффициент корреляции, увеличивает процент ошибочных обнаружений.
Для достижения свойств высокой устойчивости к атакам на стеганосистему при одновременном наименьшем (насколько, конечно, это возможно) искажении контейнера Фридрих было предложено встроить в последний дополнительное сообщение, используя методику расширения спектра. При этом встраивание сообщения осуществляется путем добавления шумоподобного сигнала к СЧ-коэффициентам ДКП изображения. Количество таких коэффициентов составляет приблизительно 30% от общего количества коэффициентов ДКП.
Считается, что информация, которую несет дополнительное сообщение, состоит из символов , каждый из которых может быть представлен десятичным целым числом,
Для каждого j-го символа генерируется последовательность ПСЧ, равномерно распределенных в интервале [0,1]. Начальное состояние генератора ПСЧ может выступать в роли секретного ключа. Мощность j-го множества ПСЧ:
Для представления отдельного символа сообщения , из множества выделяется сегмент , который содержит элементов.
В результате, сообщение из символов может быть представлено в виде cледующей суммы :
(5.42)[10]
Сигнал с расширенным спектром Spr характеризуется приблизительно нормальным (гауссовым) распределением с нулевым математическим ожиданием и единичным стандартным отклонением (точность аппроксимации возрастает при увеличении значения . В дальнейшем сигнал Spr умножается на параметр , который регулирует отношение "устойчивость/заметность встраивания" и поэлементно суммируется с выбранными СЧ-коэффициентами. Извлечение сообщения выполняется путем предварительного вычисления коэффициентов ДКП изображения и выделения среди них именно среднечастотных (данная операция должна быть согласованной с соответствующим действием на этапе встраивания). Используя секретный ключ/алгоритм, осуществляется генерация последовательностей ПСЧ (общим количеством , если данный параметр известен; в противном случае — по обстоятельствам, исходя из анализа уже извлеченной части сообщения) длиной .
Из каждой последовательности выделяется сегментов длиной элементов, для которых рассчитывается взаимная корреляция с вектором выделенных СЧ-коэффициентов. Позиция наибольшего значения функции корреляции в полученном при этом векторе и будет определять значение, которое предположительно имел встроенный символ .Рассмотрим реализацию данного метода на практике.
Шаг1
Пусть изображение-контейнер и изображёние-ЦВЗ представлены графическими файлами C.bmp и W.bmp соответственно (рис. 5.45):
С := READBMP("C.bmp"); W := READBMP(W."bmp").
При этим характеристики, отвечающие указанным изображениям, составляют:
X:=rows(C), Х = 256; Y=cols(C), Y = 256;
А:=rows(W), A = 16; Z:=cols(W), Z = 16.
Рис 5.45. Пример контейнера-оригинала (С), ЦВЗ (W) и контейнера, разбитого на блоков Бс
Шаг 2
Для большей стойкости стеганосистемы, контейнер разбиваем на блоки размерностью , при N: = 128 (см. программный модуль (М.55)), Количество блоков .
Шаг 3
Используя первый (низкочастотный) алгоритм Фридрих, в каждый из блоков будем встраивать один и тот же ЦВЗ.
Трансформацию (5.37) реализуем отдельно для каждого блока с помощью программного модуля (М 75) Функции mean и stdev возвращают, cooтветственно, среднее значение и стандартное отклонение для элементов массива .
Формирование прогрессии (5.38) осуществляется программным модулем (М.76).
Верхняя граница переменной цикла i (300) и прерывание цикла в случае превышения элементом порога 256 выбрано условно, исходя из того, что в результате трансформации (М.75) наибольшие значения НЧ-коэффициентов ДКП не будут превышать 200…250. Кроме того, для прохождения всех 300 отсчетов значение параметра должно быть меньше 0.01, что на, практике не используется из-за низкой стойкости к атакам полученных при указанных условиях стеганосистем. Вид прогрессии при приведен на рис. 5.46
2.727 | 7.439 | 20.289 | 55.335 | 150.923 | |||||||||||||
1.222 | 3.334 | 9.092 | 24.797 | 67.632 | 184.461 | ||||||||||||
1.494 | 4.074 | 11.112 | 30.308 | 82.662 | 225.452 | ||||||||||||
1.828 | 4.980 | 13.582 | 37.043 | 24т | 101.031 | 275.553 | |||||||||||
2.232 | 6.086 | 16.600 | 45.274 | 123.482 |
Рис 5.46. Прогрессия при параметре
Программный модуль (М.77) определяет индексную функцию для аргумента t. В предложенном варианте последняя определена и для значений аргумента . Примеры индексных функций для некоторых значений параметра приведены на рис. 5.42.
Шаг 4
На данном этапе необходимо провести ДКП трансформированных блоков изображения. Очевидно, что время, необходимое для вычисления матрицы ДКП одного блока изображения по формулам (5.18), существенно зависит от размерности блока. Для вычисления полной матрицы ДКП используются два вложенных цикла перебирания индексов элементов матрицы, общее количество которых равняется (см., например, (М.47) и (М.49)).
Для вычисления одного элемента матрицы необходимо выполнить вычисление двух вложенных суммирований ( операций), внутри которых вычислить аргументы двух косинусов ( операций), собственно косинусы ( операции) и два произведения.
Кроме того, полученный при этом результат (обозначим его как ) умножается на коэффициент: — еще 5 операций. Следовательно, общее количество шагов или арифметико-логических операций, необходимых для решения данной вычислительной проблемы (формирование матрицы ДКП одного блока) составляет:
(5.43)
Соответствующим образом возрастает и время вычисления алгоритма. На рис. S.47 приведен график зависимости времени вычисления программного модуля (М.47) ДКП блока изображения размерностью от значения N, полученный с помощью вычислительной системы следующей конфигурации: процессор Intel Pentium 4HT 2.4 ГГц, FSB 4x200 МГц, Dual DDR SDRAM 2x256 Мб.
Таким образом, в нашем случае, при проведении прямого ДКП по модулю (М.47), реализующему формулу (5.18, а), время вычисления всех блоков размерностью 128x128 составило бы около 40 минут (по 10 минут на блок).
Рис. 5.47. Зависимость продолжительности Т проведений ДКП блока от его размерности N при использовании для вычисления программного модуля (М.47)
Значительно более эффективный вариант вычисления коэффициентов ДКП реализуется через произведение матриц. При таком подходе формула прямого ДКП может быть представлена в следующем виде
(5.44)
(5.45)
где — матрица коэффициентов ДКП; — трансформационная матрица ДКП размерностью , элементы которой определяются по формуле (5.45); С — матрица яркостей пикселей изображения размерностью ; — транспонированная матрица .
В (5.44) результатом произведения матриц является матрица размерностью , чьи столбцы содержат результат одномерного ДКП столбцов С. Произведение полученной матрицы на позволяет получить двумерное ДКП. Поскольку , представляет собой ортонормированную матрицу действительных элементов, транспонированная матрица является эквивалентной обратной: . Таким образом, формула обратного ДКП: