Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао)

Один из наиболее распространенных на сегодня методов скрытия конфиденциальной информации в частотной области изображения заключается в относительной замене величин коэффициентов ДКП, который в свое время описали Кох (Е. Koch) и Жао (J. Zhao) [86, 87].

На начальном этапе первичное изображение разбивается на блоки размерностью 8x8 пикселей. ДКП применяется к каждому блоку — формула (5.18 а), в результате чего получают матрицы 8x8 коэффициентов ДКП, которые зачастую обозначают Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru , где b — номер блока контейнера С, a Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru - позиция коэффициента в этом блоке. Каждый блок при этом предназначен для скрытия одного бита данных

Было предложено две реализации алгоритма: псевдослучайно могут выбираться два или три коэффициента ДКП. Рассмотрим первый вариант.

Во время организации секретного канала абоненты должны предварительно договориться о двух конкретных коэффициентах ДКП из каждого блока, которые будут использоваться для скрытия данных. Зададим данные коэффициенты их координатами в массивах коэффициентов ДКП: Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru и Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru . Кроме этого, указанные коэффициенты должны отвечать косинус-функциям со средними частотами, что обеспечит скрытость информации в существенных для ЗСЧ областях сигнала, к тому же информация не будет искажаться при JPEG-компрессии с малым коэффициентом сжатия.

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

Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru (5.19)

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

После соответствующего внесения коррекции в значения коэффициентов, которые должны удовлетворять неравенству (5.19), проводится обратное ДКП.

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

Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru (5.20)

Промоделируем описанный метод в программе MathCAD.

Шаг 1

Выделяем массивы цветовых компонентов изображения:

R:=READ_RED("C.bmp"); G:=READ_GREEN("C.bmp"); В:=READ_BLUE("C.bmp").

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

Определим размерность массива В и зададим размерность сегментов (блоков), на которые он будет разбиваться: количество строк X:=rows(B), X=128; количество столбцов Y:= cols(B), Y=128; размерность сегментов N :=8 пикселей.

Общее количество сегментов, на которое разбивается контейнер: Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru , NC=256сегментов.

Шаг 2

Разбивку массива В на сегменты С проводим с помощью модуля (М.45).

Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru

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

Пусть, как и в предыдущим случаях, сообщение имеет вид М:= "© Пузыренко А.Ю., 2005 г." При этом количество бит вскрываемом сообщении (один символ сообщения кодируется одним байтом): Lм :=8 strlen(M) = 200 бит<NC =256. Итак, объем сообщения является приемлемым для встраивания.

Шаг 3

Применим к каждому из сегментов прямое дискретное косинусное преобразование — см. выражение (5.18 а). Программный модуль прямого ДКП состоит из. двух частей: первая (М.46) определяет значения коэффициентов Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru для текущего значения аргумента Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru вторая (М.47)проводит вычисление спектральных коэффициентов ДКП для каждого сегмента Сb, при этом возвращается соответствующая матрица размерностью NxN.

Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru

Рис. 5.27. Пример массива Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru коэффициентов ДКП

Коэффициент в левом верхнем" углу матрицы Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru (напомним, что в нашем случае нумерация элементов массивов начинается с единицы) —( Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru )11 содержит информацию о яркости всего сегмента (его зачастую называют DC-коэффициентом). Другие коэффициенты называются АС-коэффициентами. Отметим также, что коэффициенты НЧ компонентов размещены ближе к левому верхнему углу, а ВЧ компонентов — ближе к правому нижнему углу (рис. 5.27).

Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru

Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru

Шаг 4

Как уже отмечалось выше, НЧ компоненты содержат преобладающую часть энергии изображения и, следовательно, носят шумовой характер. ВЧ компоненты больше поддаются влиянию со стороны различных алгоритмов обработки (см. рис. 5.25). Таким образом, для встраивания сообщения оптимальными являются среднечастотные компоненты спектра изображения. Зададим позиции двух коэффициентов ДКП в массиве Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru , которые будут использоваться при встраивании и извлечении сообщения в/из контейнера. Для создания более защищенной от взлома стеганосистемы отмеченная пара коэффициентов ДКП должна выбираться псевдослучайно, конечно, из множества среднечастотных коэффициентов. Пусть, первый коэффициент определяется координатами Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru , а второй — Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru .Также установим значение порога, с которым будут сравниваться результаты разности модулей коэффициентов. Пусть Р:= 25.

Шаг 5

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

Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru

В начале модуля массиву Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru присваивается значение массива Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru .Строка символов М преобразуется в вектор их ASCII-кодов. В цикле изменения Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru (перебор кодов символов) формат кода каждого символа преобразуется из десятичного в двоичный. Каждый из восьми полученных при этом бит скрывается в отдельном сегменте изображения путем модификации значений коэффициентов ДКП соответствующего сегмента. Для уменьшения заметности встраивания, вместо одностороннего изменения одного из двух коэффициентов ДКП для удовлетворения требований (5.19), можно изменять их одновременно в противоположных направлениях: например, при встраивании "0" — увеличивать модуль коэффициента с координатами Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru и одновременно уменьшать модуль коэффициента с координатами Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru .

Шаг 6

Выполним обратное ДКП (М.49) в соответствии с формулой (5.18 б).

Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru

Шаг 7

Проведем сборку сегментов в массив, используя программный модуль (М.50).

Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru

Поскольку модификация коэффициентов ДКП в некоторых случаях приводит к выходу значений интенсивностей пикселей изображения за пределы допустимого диапазона [0,255], в конце модуля (М.50) проводим нормирование указанных значений.

Воссоздаем массив восстановленного изображения графически (рис. 5.28 а). Также на рис. 5.28 изображен контейнер-результат, восстановленный по цветовым составляющим R-G-ВM Кроме того, представлено вид, который приобретают массив синего цвета и контейнер-результат в случае установления значения порога Р:=250 при неизменных значениях Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru и Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru (рис. 5.28 б).

Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru

Рис. 6.28. Результаты встраивания в контейнер секретного сообщения М путем модификации коэффициентов ДКП сегментов массива канала синего при различных значениях порога Р

Шаг 8

Рассмотрим процесс извлечения сообщения на принимающей стороне.

Получателю должны быть известны: алгоритм скрытия, цветовой массив-контейнер (В*) и его размерность (X* и Y*), размерность сегментов (N*) и матричные координаты коэффициентов косинусных функций, которые использовались для скрытия) Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru и Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru .

Выполним вычисление общего количества сегментов в изображении-контейнере: Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru .

Разбивка массива В* на сегменты выполняется с помощью модуля, аналогичного программному модулю (М.45). В результате получаем массив С*, каждый сегмент которого представляет собой матрицу размерностью Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru

К каждому сегменту применяем прямое ДКП (см. модули (М.46), (М.47)), при этом получаем массив Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао) - student2.ru коэффициентов ДКП каждого отдельного сегмента С*.

С помощью модуля (М.51) осуществляем извлечение скрытой информации. В основу модуля положена проверка соотношений (5.20), по результатам которой извлекаемому биту сообщения присваивается значение 0 или 1.

После извлечения каждого восьмого бита полученный вектор m* преобразуется из массива двоичных данных в соответствующее десятичное число, которое, в свою очередь, присваивается определенному переменнойjэлементу вектора М* Результат извлечения (вектор десятичных чисел) в конце модуля трансформируется из вектора ASCII-кодов в строку символов.

Результаты вычисления показателей визуального искажения графического контейнера при значениях порога встраивания Р=0.5 и Р=25 сведены в табл. 5.4 (стр. 179).

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