Читаем Цифровая стеганография полностью

Для выполнения классификации значения яркости сортируются по возрастанию (рис. 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)


Перейти на страницу:

Все книги серии Аспекты защиты

Похожие книги