пиксела (
. (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) Модификация. Итак, множество пикселов оказалось разделенным на пять подмножеств: две зоны * две категории + пикселы, не принадлежащие какой-либо зоне (для блоков первого типа). Обозначим среднее значение яркости для пикселов двух зон и категорий через . Нам известно, что
. Встраивание бита ЦВЗ
(5.6)
С другой стороны, необходимо обеспечить равенство значений яркости в каждой зоне:
и
. (5.7)
Для достижения этого яркость всех пикселов одной зоны меняется одинаково. Например, для зоны 1, категории А это изменение составит .
Алгоритм извлечения ЦВЗ является обратным алгоритму внедрения. При этом вычисляются средние значения яркостей и находятся разности
(5.8)
А3. (Langelaar[10]). Данный алгоритм также работает с блоками 8х8. Вначале создается псевдослучайная маска нулей и единиц такого же размера . Далее каждый блок
(5.9)
Если условие (5.9) не выполняется, мы изменяем значение яркости пикселов субблока
(5.10)
А.5. (Pitas[11]). ЦВЗ представляет собой двумерный массив бит размером с изображение, причем число единиц в нем равно числу нулей. Существует несколько версий алгоритма, предложенного Питасом. Вначале предлагалось встраивать бит ЦВЗ в каждый пиксел изображения, но позже благоразумно было решено использовать для этой цели блоки размером 2х2 или 3х3 пиксела, что делает алгоритм более робастным к сжатию или фильтрации. ЦВЗ складывается с изображением:
. (5.11)
В случае использования для внедрения блоков детектор ЦВЗ вычисляет среднее значение яркости этого блока. Отсюда появляется возможность неравномерного внедрения ЦВЗ в пикселы, то есть величина . Таким образом можно получить ЦВЗ, оптимизированный по критерию робастности к процедуре сжатия алгоритмом JPEG. Для этого в блоке 8х8 элементов заранее вычисляют «емкость» каждого пиксела (с учетом ДКП и матрицы квантования JPEG). Затем ЦВЗ внедряют в соответствии с вычисленной емкостью. Эта оптимизация производится раз и навсегда, и найденная маска применяется для любого изображения. На рис. 5.6 (а) и (б) показан ЦВЗ до и после оптимизации.
Рис. 5.6. Оптимизация ЦВЗ: а) до оптимизации; б) после оптимизации
В работе [11] также приведена модификация этого алгоритма, устойчивая к атаке удаления линий из изображения.
А5. (Rongen [12]). Также, как и в предыдущем алгоритме, ЦВЗ представляет собой двумерную матрицу единиц и нулей с примерно равным их количеством. Пикселы, в которые можно внедрять единицы