5.2. Скрытие данных в пространственной области

We use cookies. Read the Privacy and Cookie Policy

5.2. Скрытие данных в пространственной области

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

А1. (Kutter[8]). Пусть изображение имеет RGB-кодировку. Встраивание выполняется в канал синего цвета, так как к синему цвету система человеческого зрения наименее чувствительна. Рассмотрим алгоритм передачи одного бита секретной информации.

Пусть si - встраиваемый бит, I = {R,G,B} — контейнер, p = (x,y) — псевдослучайная позиция, в которой выполняется вложение. Секретный бит встраивается в канал синего цвета путем модификации яркости :

, (5.3)

где q — константа, определяющая энергию встраиваемого сигнала. Ее величина зависит от предназначения схемы. Чем больше q, тем выше робастность вложения, но тем сильнее его заметность.

Извлечение бита получателем осуществляется без наличия у него исходного изображения, то есть вслепую. Для этого выполняется предсказание значения исходного, немодифицированного пиксела на основании значений его соседей. В работе [8] предлагается для получения оценки пиксела использовать значения нескольких пикселов, расположенных в том же столбце и той же строке. Авторы использовали «крест» пикселов размером 7х7. Оценка получается в виде

, (5.4)

где c — число пикселов сверху (снизу, слева, справа) от оцениваемого пиксела (c = 3). Так как в процессе встраивания ЦВЗ каждый бит был повторен cr раз, то мы получим cr оценок одного бита ЦВЗ. Секретный бит находится после усреднения разности оценки пиксела и его реального значения

. (5.5)

Знак этой разности определяет значение встроенного бита.

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

В работе [8] рассмотрена также и модификация данного алгоритма для встраивания нескольких бит. Показано, что алгоритм является робастным ко многим из известных атак: низкочастотной фильтрации изображения, его сжатию в соответствии с алгоритмом JPEG, обрезанию краев.

А2. (Bruyndonckx[9]). ЦВЗ представляет собой строку бит. Для повышения помехоустойчивости применяется код БЧХ. Внедрение осуществляется за счет модификации яркости блока 8х8 пикселов.

Процесс встраивания осуществляется в три этапа.

1) Классификация, или разделение пикселов внутри блока на две группы с примерно однородными яркостями.

2) Разбиение каждой группы на категории, определяемые данной сеткой.

3) Модификация средних значений яркости каждой категории в каждой группе.

Рассмотрим подробнее каждый из этих этапов.

1) При классификации авторы выделяют два типа блоков: блоки с «шумовым контрастом» (рис. 5.3(а)) и блоки с резко выраженными перепадами яркости (рис. 5.3(б)).

Рис. 5.3. Два типа блока: а) с нечетким контрастом и б) с резко выраженным контрастом

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

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

2) Для сортировки пикселов по категориям на блоки накладываются маски, разные для каждой зоны и каждого блока. Назначение масок состоит в обеспечении секретности внедрения. Пример масок для двух зон приведен на рис. 5.5(а) и (б).

Рис. 5.4. Сортированные значения яркостей блоков

Рис. 5.5. Пример используемых масок

3) Модификация. Итак, множество пикселов оказалось разделенным на пять подмножеств: две зоны * две категории + пикселы, не принадлежащие какой-либо зоне (для блоков первого типа). Обозначим среднее значение яркости для пикселов двух зон и категорий через . Нам известно, что . Встраивание бита ЦВЗ s осуществляется по следующему правилу:

(5.6)

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

и . (5.7)

Для достижения этого яркость всех пикселов одной зоны меняется одинаково. Например, для зоны 1, категории А это изменение составит .

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

(5.8)

А3. (Langelaar[10]). Данный алгоритм также работает с блоками 8х8. Вначале создается псевдослучайная маска нулей и единиц такого же размера . Далее каждый блок B делится на два субблока B0 и B1, в зависимости от значения маски. Для каждого субблока вычисляется среднее значение яркости, l0 и l1. Далее выбирается некоторый порог ?, и бит ЦВЗ встраивается следующим образом:

(5.9)

Если условие (5.9) не выполняется, мы изменяем значение яркости пикселов субблока B1. Для извлечения бита ЦВЗ вычисляются средние значения яркости субблоков — l'0 и l'1. Разница между ними позволяет определить искомый бит:

(5.10)

А.5. (Pitas[11]). ЦВЗ представляет собой двумерный массив бит размером с изображение, причем число единиц в нем равно числу нулей. Существует несколько версий алгоритма, предложенного Питасом. Вначале предлагалось встраивать бит ЦВЗ в каждый пиксел изображения, но позже благоразумно было решено использовать для этой цели блоки размером 2х2 или 3х3 пиксела, что делает алгоритм более робастным к сжатию или фильтрации. ЦВЗ складывается с изображением:

. (5.11)

В случае использования для внедрения блоков детектор ЦВЗ вычисляет среднее значение яркости этого блока. Отсюда появляется возможность неравномерного внедрения ЦВЗ в пикселы, то есть величина . Таким образом можно получить ЦВЗ, оптимизированный по критерию робастности к процедуре сжатия алгоритмом JPEG. Для этого в блоке 8х8 элементов заранее вычисляют «емкость» каждого пиксела (с учетом ДКП и матрицы квантования JPEG). Затем ЦВЗ внедряют в соответствии с вычисленной емкостью. Эта оптимизация производится раз и навсегда, и найденная маска применяется для любого изображения. На рис. 5.6 (а) и (б) показан ЦВЗ до и после оптимизации.

Рис. 5.6. Оптимизация ЦВЗ: а) до оптимизации; б) после оптимизации

В работе [11] также приведена модификация этого алгоритма, устойчивая к атаке удаления линий из изображения.

А5. (Rongen [12]). Также, как и в предыдущем алгоритме, ЦВЗ представляет собой двумерную матрицу единиц и нулей с примерно равным их количеством. Пикселы, в которые можно внедрять единицы (то есть робастные к искажениям), определяются на основе некоторой характеристической функции (характеристические пикселы). Эта функция вычисляется локально, на основе анализа соседних пикселов. Характеристические пикселы составляют примерно 1/100 от общего числа, так что не все единицы ЦВЗ встраиваются именно в эти позиции. Для повышения количества характеристических пикселов в случае необходимости предлагается осуществлять небольшое предыскажение изображения.

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

А6. Алгоритм PatchWork([13]). В основе алгоритма Patchwork лежит статистический подход. Вначале псевдослучайным образом на основе ключа выбираются два пиксела изображения. Затем значение яркости одного из них увеличивается на некоторое значение (от 1 до 5), значение яркости другого — уменьшается на то же значение. Далее этот процесс повторяется большое число раз (~10000) и находится сумма значений всех разностей. По значению этой суммы судят о наличии или отсутствии ЦВЗ в изображении.

Для пояснения работы алгоритма введем ряд обозначений. Пусть значения выбираемых на каждом шаге пикселов ai и bi, величина приращения — ?. Тогда сумма разностей значений пикселов

(5.3)

Матожидание величины (суммы разности значений пикселов в незаполненном контейнере) близко к нулю при достаточно большом n. Матожидание величины Sn будет больше 2?. В работе [13] показано, что Sn имеет гауссовское распределение. Таким образом, в стегодетекторе в соответствии с ключом проверяется значение Sn и в том случае, если она значительно отличается от нуля, выносится решение о наличии ЦВЗ.

Авторами также предложены улучшения основного алгоритма для повышения его робастности. Вместо отдельных пикселов предлагается использовать блоки, или patches. Отсюда и название алгоритма. Использование блоков различного размера может рассматриваться как формирование спектра вносимого ЦВЗ шума (шейпинг), аналогично тому, как это применяется в современных модемах. Так как наиболее вероятной модификацией стего является компрессия JPEG, то целесообразно, чтобы спектр ЦВЗ находился в области низких частот. С другой стороны, если характер возможных модификаций стего заранее неизвестен, целесообразно применение сигналов с расширенным спектром. От формы блока зависит невидимость вносимых искажений.

Алгоритм Patchwork является достаточно стойким к операциям сжатия изображения, его усечения, изменения контрастности. Основным недостатком алгоритма является его неустойчивость к афинным преобразованиям, то есть поворотам, сдвигу, масштабированию. Другой недостаток заключается в малой пропускной способности. Так, в базовой версии алгоритма для передачи 1 бита скрытого сообщения требуется 20000 пикселов.

А7.(Bender [13]). Алгоритм, основанный на копировании блоков из случайно выбранной текстурной области в другую, имеющую сходные статистические характеристики. Это приводит к появлению в изображении полностью одинаковых блоков. Эти блоки могут быть обнаружены следующим образом:

1. Анализ функции автокорреляции стегоизображения и нахождение ее пиков.

2. Сдвиг изображения в соответствии с этими пиками и вычитание изображения из его сдвинутой копии.

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

Так как копии блоков идентичны, то они изменяются одинаково при преобразованиях всего изображения. Если сделать размер блоков достаточно большим, то алгоритм будет устойчивым по отношению к большинству из негеометрических искажений. В проведенных экспериментах показана робастность алгоритма к фильтрации, сжатию, поворотам изображения [13].

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

Один из первых предложенных способов для проверки аутентичности изображений получил название метода проверочных сумм. Согласно этому методу отбирались семь старших бит восьми близлежащих пикселов. Получалось 56-битное слово. Выполнив эту операцию для всего изображения, имели N ? N/8 таких слов, где N ? N — число пикселов в изображении. Затем они поразрядно складывались по модулю два, то есть вычислялась проверочная сумма длиной 56 бит. Эта сумма записывалась в младшие значащие биты выбранных в соответствии с ключом пикселов. В детекторе осуществлялась проверка этих бит, получившаяся проверочная сумма сравнивалась с эталонной, и выносилось решение о наличии или отсутствии модификации изображения. Таким образом, в данном алгоритме в качестве ключа использовались местоположение несущих проверочную сумму пикселов и сама эта проверочная сумма.

Большинство предложенных алгоритмов встраивания ЦВЗ в пространственную область изображений основаны на использовании широкополосных сигналов (ШПС). Этот метод хорошо зарекомендовал себя в радиосвязи, при передаче узкополосных сигналов по каналам с шумами. Основной идеей применения ШПС в стеганографии является то, что данные внедряются в шумовой сигнал малой мощности. Так как сигнал малой мощности, то для защиты ЦВЗ применяют помехоустойчивые коды. Рассмотрим пример.

А8. (Marvel[14]). Стегокодер с применением ШПС изображен на рис. 5.7. Скрываемое сообщение шифруется на ключе k1 и кодируется помехоустойчивым кодом, в результате чего получается кодированное сообщение m. Это сообщение модулируется псевдослучайной последовательностью с выхода генератора, начальное заполнение которого равно k2. Получившийся сигнал с расширенным спектром подвергается перестановкам в соответствии с ключом k3 и складывается с изображением-контейнером. В декодере выполняются обратные операции. В качестве детектора ЦВЗ используют кореляционный приемник (см. гл.1).

Рис. 5.7. Стегокодер на основе ШПС

В качестве датчика псевдослучайной последовательности чаще всего предлагается использовать генератор M — последовательности в силу хороших корреляционных свойств этой последовательности.

Данный текст является ознакомительным фрагментом.