Ознакомительная версия.
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 бит. Эта сумма записывалась в младшие значащие биты выбранных в соответствии с ключом пикселов. В детекторе осуществлялась проверка этих бит, получившаяся проверочная сумма сравнивалась с эталонной, и выносилось решение о наличии или отсутствии модификации изображения. Таким образом, в данном алгоритме в качестве ключа использовались местоположение несущих проверочную сумму пикселов и сама эта проверочная сумма.
Ознакомительная версия.