Цифровая стеганография
Шрифт:
А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) Модификация. Итак, множество пикселов оказалось разделенным на пять подмножеств: две зоны * две категории + пикселы, не принадлежащие какой-либо зоне (для блоков первого типа). Обозначим среднее значение яркости для пикселов двух зон и категорий через
С другой стороны, необходимо обеспечить равенство значений яркости в каждой зоне:
Для достижения этого яркость всех пикселов одной зоны меняется одинаково. Например, для зоны 1, категории А это изменение составит
Алгоритм извлечения ЦВЗ является обратным алгоритму внедрения. При этом вычисляются средние значения яркостей и находятся разности
А3. (Langelaar[10]). Данный алгоритм также работает с блоками 8х8. Вначале создается псевдослучайная маска нулей и единиц такого же размера
Если условие (5.9) не выполняется, мы изменяем значение яркости пикселов субблока B1. Для извлечения бита ЦВЗ вычисляются средние значения яркости субблоков — l''0 и l''1. Разница между ними позволяет определить искомый бит:
А.5. (Pitas[11]). ЦВЗ представляет собой двумерный массив бит размером с изображение, причем число единиц в нем равно числу нулей. Существует несколько версий алгоритма, предложенного Питасом. Вначале предлагалось встраивать бит ЦВЗ в каждый пиксел изображения, но позже благоразумно было решено использовать для этой цели блоки размером 2х2 или 3х3 пиксела, что делает алгоритм более робастным к сжатию или фильтрации. ЦВЗ складывается с изображением:
В случае использования для внедрения блоков детектор ЦВЗ вычисляет среднее значение яркости этого блока. Отсюда появляется возможность неравномерного внедрения ЦВЗ в пикселы, то есть величина
Рис. 5.6. Оптимизация ЦВЗ: а) до оптимизации; б) после оптимизации
В работе [11] также приведена модификация этого алгоритма, устойчивая к атаке удаления линий из изображения.
А5. (Rongen [12]). Также, как и в предыдущем алгоритме, ЦВЗ представляет собой двумерную матрицу единиц и нулей с примерно равным их количеством. Пикселы, в которые можно внедрять единицы (то есть робастные к искажениям), определяются на основе некоторой характеристической функции (характеристические пикселы). Эта функция вычисляется локально, на основе анализа соседних пикселов. Характеристические пикселы составляют примерно 1/100 от общего числа, так что не все единицы ЦВЗ встраиваются именно в эти позиции. Для повышения количества характеристических пикселов в случае необходимости предлагается осуществлять небольшое предыскажение изображения.
Детектор находит значения характеристических пикселов и сравнивает с имеющимся у него ЦВЗ. Если в изображении ЦВЗ не содержится, то в характеристических пикселах количество единиц и нулей будет примерно поровну. Авторы рассчитали значение порога принятия решения, минимизирующего вероятность ложной тревоги.
А6. Алгоритм PatchWork([13]). В основе алгоритма Patchwork лежит статистический подход. Вначале псевдослучайным образом на основе ключа выбираются два пиксела изображения. Затем значение яркости одного из них увеличивается на некоторое значение (от 1 до 5), значение яркости другого — уменьшается на то же значение. Далее этот процесс повторяется большое число раз (~10000) и находится сумма значений всех разностей. По значению этой суммы судят о наличии или отсутствии ЦВЗ в изображении.
Для пояснения работы алгоритма введем ряд обозначений. Пусть значения выбираемых на каждом шаге пикселов ai и bi, величина приращения — δ. Тогда сумма разностей значений пикселов
Матожидание величины