Цифровая стеганография.

5.3. Скрытие данных в области преобразования.

5.3.1. Выбор преобразования для скрытия данных.

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

Возникает следующий вопрос: существует ли робастное преобразование, независимое от применяемого далее алгоритма сжатия? В работе [15] с позиций теории информации рассмотрены различные ортонормальные преобразования, такие как ДПФ, ДКП, Хартли, субполосное преобразование.

Известно много моделей для оценки пропускной способности канала скрытия данных. Так, в работе [16] представлена следующая модель.

Пусть S0 - исходное изображение (контейнер), W — вложение. Тогда модифицированное изображение Цифровая стеганография. Модифицированное изображение визуально неотличимо от исходного и может быть подвергнуто сжатию с потерями: Цифровая стеганография, где C(.) — оператор компрессии. Биты вложения W должны быть извлечены из Цифровая стеганография. Вопрос: какое количество бит может быть вложено в данное изображение и извлечено из него с произвольно малой вероятностью ошибки, то есть какова пропускная способность канала скрытия данных, при данном алгоритме сжатия?

Блок-диаграмма рассматриваемого стегоканала представлена на рис. 5.8.

Цифровая стеганография

Рис. 5.8. Блок-диаграмма стегоканала.

Цифровая стеганография

Рис. 5.9. Структурная схема стегосистемы.

Сообщение W передается по каналу. Канал имеет два источника «шума»: S0 - изображение-контейнер и P — «шум», возникающий при компрессии/декомпрессии. Цифровая стеганография- возможно искаженное сообщение.

Структурная схема схема стегосистемы приведена на рис. 5.9. Изображение декомпозируется на L субполос. К каждой субполосе «подмешивается» скрытая информация. После обратного преобразования получается модифицированное изображение Sw. После компрессии/декомпрессии получается изображение Цифровая стеганография. Оно подвергается прямому преобразованию, и из каждой из L субполос независимо извлекается скрытое сообщение.

Реальные изображения вовсе не являются случайным процессом с равномерно распределенными значениями величин. Хорошо известно, и это используется в алгоритмах сжатия, что большая часть энергии изображений сосредоточена в низкочастотной части спектра. Отсюда и потребность в осуществлении декомпозиции изображения на субполосы. Стегосообщение добавляется к субполосам изображения. Низкочастотные субполосы содержат подавляющую часть энергии изображения и, следовательно, носят шумовой характер. Высокочастотные субполосы наиболее подвержены воздействию со стороны различных алгоритмов обработки, будь то сжатие или НЧ фильтрация. Таким образом, для вложения сообщения наиболее подходящими кандидатами являются среднечастотные субполосы спектра изображения. Типичное распределение шума изображения и обработки по спектру частоты показано на рис. 5.10.

Цифровая стеганография

Рис. 5.10. Зависимость шума изображения (сплошная линия) и шума обработки (пунктирная линия) от частоты.

Стегоканал можно декомпозировать на ряд независимых подканалов. Это разделение осуществляется за счет выполнения прямого и обратного преобразования. В каждом из L подканалов имеется по два источника шума. Пусть Цифровая стеганография — дисперсия коэффициентов преобразования (шума изображения) в каждом из подканалов. Тогда выражение для пропускной способности канала стегосистемы примет вид Цифровая стеганография, где νj — визуальный порог для j-й субполосы. Иными словами, ν2j - максимально допустимая энергия стегосообщения, исходя из требований сохранения визуального качества изображения.

Шум обработки появляется в результате квантования коэффициентов трансформанты. Значение этого шума легко получить, скажем, для пары ДКП — JPEG, если известны таблицы квантования. Однако, например, в случае преобразования Адамара один коэффициент ДКП будет влиять на несколько коэффициентов Адамара. Хотелось бы иметь более общее определение шума обработки. Его можно рассматривать как уменьшение корреляции между коэффициентами трансформанты исходного изображения и квантованными коэффициентами. Например, при высоких степенях сжатия может возникнуть ситуация, когда будут отброшены целые субполосы. То есть дисперсия шума в этих субполосах, вообще говоря, бесконечна. Налицо уменьшение корреляции между коэффициентами субполосы до квантования и после. Конечно для получения приемлемых результатов необходимо усреднить значение шума обработки по многим изображениям.

Выбор значения визуального порога основывается на учете свойств СЧЗ. Известно, что шум в ВЧ областях изображения более приемлем, чем в НЧ областях. Можно ввести некоторые взвешивающие коэффициенты, Цифровая стеганография, где Цифровая стеганография и Цифровая стеганография. Случаю α = 0 соответствует равномерное распределение стего по всем субполосам, случаю α = 1 соответствует распределение стего в соответствии с дисперсиями субполос. После некоторых упрощений можно получить выражение для пропускной способности: Цифровая стеганография. Как видно из этого выражения, при α = 1 декомпозиция никак не будет влиять на пропускную способность стегоканала. При α < 1 это не так. Таким образом, пропускная способность возрастает за счет того, что в области с низкой дисперсией (высокочастотные) добавляется относительно больше энергии стегосигнала.

Цифровая стеганография

Рис. 5.11. Различные преобразования, упорядоченные по достигаемым выигрышам от кодирования.

В работе [15] были произведены многочисленные эксперименты, которые позволили дать определенные рекомендации по выбору преобразования для стеганографии. Известно, что преобразования можно упорядочить по достигаемым выигрышам от кодирования (см. рис. 5.11). Под выигрышем от кодирования понимается степень перераспределения дисперсий коэффициентов преобразования.

Наибольший выигрыш дает преобразование Карунена-Лоэва (ПКЛ), наименьший — разложение по базису единичного импульса (то есть отсутствие преобразования). Преобразования, имеющие высокие значения выигрыша от кодирования, такие как ДКП, вейвлет-преобразование, характеризуются резко неравномерным распределением дисперсий коэффициентов субполос. Высокочастотные субполосы не подходят для вложения из-за большого шума обработки, а низкочастотные — из-за высокого шума изображения. Поэтому приходится ограничиваться среднечастотными полосами, в которых шум изображения примерно равен шуму обработки. Так как таких полос немного, то пропускная способность стегоканала невелика. В случае применения преобразования с более низким выигрышем от кодирования, например, Адамара или Фурье, имеется больше блоков, в которых шум изображения примерно равен шуму обработки. Следовательно, и пропускная способность выше. Неожиданный вывод: для повышения пропускной способности стеганографического канала лучше применять преобразования с меньшими выигрышами от кодирования, плохо подходящие для сжатия сигналов.

Эффективность применения вейвлет-преобразования и ДКП для сжатия изображений объясняется тем, что они хорошо моделируют процесс обработки изображения в СЧЗ, отделяют «значимые» детали от «незначимых». Значит, их более целесообразно применять в случае активного нарушителя. В самом деле, модификация значимых коэффициентов может привести к неприемлемому искажению изображения. При применении преобразования с низкими значениями выигрыша от кодирования существует опасность нарушения вложения, так как коэффициенты преобразования менее чувствительны к модификациям. Однако, существует большая гибкость в выборе преобразования. И если преобразование неизвестно нарушителю (хотя учет этого момента и противоречит принципу Керхгофа), то модификация стего будет затруднена.

5.3.2. Скрытие данных в коэффициентах дискретного косинусного преобразования.

Впервые использование ДКП для скрытия информации было описано в работе [17]. При этом ДКП применялось ко всему изображению в целом.

Обычно же контейнер разбивается на блоки размером 8х8 пикселов. ДКП применяется к каждому блоку, в результате чего получаются матрицы коэффициентов ДКП, также размером 8х8. Коэффициенты будем обозначать через Цифровая стеганография, где b — номер блока, (j,k) — позиция коэффициента внутри блока. Если блок сканируется в зигзагообразном порядке (как это имеет место в JPEG), то коэффициенты будем обозначать через cb,j. Коэффициент в левом верхнем углу Цифровая стеганография обычно называется DC-коэффициентом. Он содержит информацию о яркости всего блока. Остальные коэффициенты называются АС-коэффициентами. Иногда выполняется ДКП всего изображения, а не отдельных блоков. Рассмотрим некоторые из предлагавшихся алгоритмов внедрения ЦВЗ в области ДКП.

А1. (Koch [17]). В данном алгоритме в блок размером 8х8 осуществляется встраивание 1 бита ЦВЗ. Описано две реализации алгоритма: псевдослучайно могут выбираться два или три коэффициента ДКП. Здесь мы рассмотрим вариацию алгоритма с двумя, а ниже, при описании следующего алгоритма — вариацию с тремя выбираемыми коэффициентами.

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

Цифровая стеганография(5.23).

Таким образом, исходное изображение искажается за счет внесения изменений в коэффициенты ДКП.

Для чтения ЦВЗ в декодере выполняется та же процедура выбора коэффициентов, и решение о переданном бите принимается согласно правилу:

Цифровая стеганография(5.24).

А2. (Benham [18]). Этот алгоритм можно рассматривать как улучшенную версию предыдущего. Улучшения проведены по двум направлениям: во-первых, для встраивания используются не все блоки, а лишь «пригодные» для этого, во-вторых, внутри блока для встраивания выбираются не два, а три коэффициента, что уменьшает искажения, как будет показано далее. Разберем подробнее эти усовершенствования.

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

Встраивание бита ЦВЗ осуществляется следующим образом. Псевдослучайно выбираются три коэффициента ДКП блока. Если нужно вложить 1, коэффициенты изменяются так (если требуется), чтобы третий коэффициент стал меньше каждого из первых двух; если нужно встроить 0 он делается больше других. В том случае, если такая модификация приведет к слишком большой деградации изображения, коэффициенты не изменяют, и этот блок просто не используется.

Изменение трех коэффициентов вместо двух, а тем более отказ от изменений в случае неприемлемых искажений уменьшает вносимые ЦВЗ погрешности. Декодер всегда сможет определить блоки, в которые ЦВЗ не встроен, повторив анализ, выполненный в кодере.

А3. (Podilchuk [19]). При обнаружении ЦВЗ этот алгоритм требует наличия у детектора исходного изображения. Встраиваемые данные моделируются вещественным случайным процессом с нормальным распределением, единичной дисперсией и нулевым средним. Для каждого коэффициента ДКП определяется значение порога, изменение сверх которого может привести к деградации изображения. Этот порог зависит от позиции коэффициента в матрице (то есть частотного диапазона, за который он отвечает). Кроме того, порог обуславливается и свойствами самого изображения: контрастностью и яркостью блока.

Встраивание осуществляется следующим образом: если абсолютное значение коэффициента меньше порога, то он не изменяется. В противном случае к нему прибавляется произведение значения порога и значения ЦВЗ.

При обнаружении ЦВЗ вначале коэффициенты исходного изображения вычитаются из соответствующих коэффициентов модифицированного изображения. Затем вычисляется коэффициент корреляции, и устанавливается факт наличия ЦВЗ.

А5. (Hsu [20]). В данном алгоритме декодеру ЦВЗ также требуется исходное изображение. Однако, декодер определяет не факт наличия ЦВЗ, а выделяет встроенные данные. В качестве ЦВЗ выступает черно-белое изображение размером вдвое меньше контейнера. Перед встраиванием это изображение подвергается случайным перестановкам. ЦВЗ встраивается в среднечастотные коэффициенты ДКП (четвертая часть от общего количества). Эти коэффициенты расположены вдоль второй диагонали матрицы ДКП.

Для внедрения бита ЦВЗ si в коэффициент Цифровая стеганография находится знак разности коэффициента текущего блока и соответствующего ему коэффициента из предыдущего блока.

Цифровая стеганография. (5.25).

Если надо встроить 1, коэффициент Цифровая стеганография меняют так, чтобы знак разности стал положительным, если 0 — то чтобы знак стал отрицательным.

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

Цифровая стеганография. (5.26).

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

Надо отметить, что этот алгоритм не является робастным по отношению к JPEG-компрессии.

А5. (Tao [21]). Для обнаружения ЦВЗ детектору требуется исходный контейнер. При встраивании ЦВЗ используются коэффициенты ДКП, имеющие наименьший шаг квантования в таблице JPEG. Число и местоположение этих коэффициентов не зависит от изображения.

Алгоритм работает следующим образом. Вначале выполняется классификация блоков по 6 категориям, в зависимости от степени гладкости и наличия в них контуров. Для каждого блока вычисляется коэффициент чувствительности к аддитивному шуму, и блоки упорядочиваются в соответствии с этим коэффициентом. Далее энергия встраиваемого ЦВЗ определяется либо этим коэффициентом (зависящим от изображения), либо шагом квантования (независимым от изображения) (смотря что больше).

Для обнаружения ЦВЗ вначале выполняют вычитание исходного изображения из принятого. Затем вычисляют ДКП исходного и разностного изображений и применяют статистические методы проверки гипотез.

А6. (Cox [22]). Этот алгоритм является робастным ко многим операциям обработки сигнала. Обнаружение встроенного ЦВЗ в нем выполняется с использованием исходного изображения. Внедряемые данные представляют собой последовательность вещественных чисел с нулевым средним и единичной дисперсией. Для вложения информации используются несколько АС-коэффициентов ДКП всего изображения с наибольшей энергией. Автором предложено три способа встраивания ЦВЗ в соответствии со следующими выражениями:

Цифровая стеганография, (5.27).

Цифровая стеганография(5.28).

И.

Цифровая стеганография. (5.29).

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

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

А7. (Barni [23]). Этот алгоритм является улучшением предыдущего, и в нем также выполняется ДКП всего изображения. В нем детектору уже не требуется исходного изображения, то есть схема слепая. Для встраивания ЦВЗ используются не наибольшие АС-коэффициенты, а средние по величине. В качестве ЦВЗ выступает произвольная строка бит.

Выбранные коэффициенты модифицируются следующим образом:

Цифровая стеганография. (5.30).

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

Цифровая стеганография. (5.31).

Здесь β ≈ 1 для текстурированных областей (в которых человеческий глаз мало чувствителен к добавленному шуму) и β ≈ 0 в однородных областях. Значение β находится не для каждого пиксела в отдельности, а для неперекрывающихся блоков фиксированного размера. Например, в качестве β целесообразно использовать нормализованную дисперсию блоков.

В детекторе ЦВЗ вычисляется корреляция между модифицированным изображением и ЦВЗ, Цифровая стеганография.

А8. (Fridrich [24]). Алгоритм является композицией двух алгоритмов: в одном данные встраиваются в низкочастотные, в другом — в среднечастотные коэффициенты ДКП. Как показали авторы, каскадное применение двух различных алгоритмов приводит к хорошим результатам в отношении робастности. Это объясняется видимо тем, что недостатки одного алгоритма компенсируются достоинствами другого. Также, как и в двух предыдущих алгоритмах, здесь осуществляется ДКП всего изображения. Исходный сигнал детектору ЦВЗ не требуется.

Перед встраиванием ЦВЗ в НЧ коэффициенты изображение преобразуется в сигнал с нулевым средним и определенной дисперсией так, чтобы абсолютные значения коэффициентов ДКП находились в диапазоне (200,250). Авторы использовали для этой цели следующее преобразование.

Цифровая стеганография, (5.32).

Где σ(I) — стандартное отклонение, Цифровая стеганография — среднее значение яркости. ЦВЗ представляет собой последовательность чисел {-1;1}.

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

Цифровая стеганография, (5.33).

Где параметр Цифровая стеганография. Индексная функция.

Цифровая стеганография. (5.34).

Таким образом, для каждого вещественного числа t можно определить его индекс. Этот индекс изменится только в том случае, если к числу t прибавить/отнять число, превосходящее значение αt. На рис. 5.12 показан вид функции ind(t) для α = 0.1.

Для внедрения бита ЦВЗ si в коэффициент cj последний изменяется не менее, чем на 100α процентов так, чтобы Цифровая стеганография. Если значение коэффициента мало (меньше 1), то в него информация не встраивается.

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

Цифровая стеганография

Рис. 5.12. Индексная функция ind(c).

Цифровая стеганография, (5.35).

Где параметр β определяет важность взвешивания: если он равен нулю, то взвешивания не происходит. Авторы рекомендуют использовать Цифровая стеганография.

Если изображение было модифицировано, то стандартное отклонение σ(I') отлично от σ(I). При знании s = σ(I)/σ(I') можно было бы уточнить выражение для коэффициента корреляции:

Цифровая стеганография. (5.36).

Однако, как было указано, исходное изображение отсутствует у детектора. Поэтому значение s выбирается так, чтобы оно максимизировало значение коэффициента корреляции:

Цифровая стеганография. (5.37).

В среднечастотные коэффициенты ДКП информация встраивается путем умножения преобразованного значения ЦВЗ на параметр α и сложения результата со значением коэффициента. Предварительное кодирование ЦВЗ выполняется по следующему алгоритму.

Вход алгоритма: сообщение длины M, состоящее из символов Цифровая стеганография.

Выход алгоритма: ЦВЗ длины N, состоящий из вещественных чисел si.

Для кодирования символа mi генерируется N+B+1 чисел псевдослучайной последовательности Цифровая стеганография. Эту последовательность будем называть i-м случайным вектором.

Первые mi чисел этого вектора пропускаются, а следующие N чисел образуют вектор Vi, используемый при дальнейшем суммировании.

Для каждого символа сообщения генерируются статистически независимые различные случайные вектора.

В качестве ЦВЗ используется сумма векторов Vi. Если M достаточно велико, то ЦВЗ будет иметь гауссовское распределение. i-й символ исходного сообщения может быть получен после вычисления взаимной корреляции ЦВЗ с i-м случайным вектором. N имеет величину от 1000 до 10000.

Встраивание ЦВЗ в небольшие по размеру блоки имеет то преимущество, что при этом существует возможность адаптации к локальной яркости и гладкости изображения. Однако при достаточной энергии ЦВЗ появляется артефакт блочности, также как и при высокой степени сжатия в стандарте JPEG. Перекрывающееся ортогональное преобразование (ПОП) изначально было предложено для преодоления недостатка ДКП при сжатии изображений. В работе [25] предложено его использование для внедрения информации. Чтобы увеличить робастность алгоритма вложения, авторы предложили дополнительно встраивать некий шаблон, причем этот процесс происходит в области преобразования Фурье. В результате получился алгоритм, достаточно стойкий ко многим атакам.