Метод Куттера-Джордана-Боссена
Метод Куттера-Джордана-Боссена - стеганографический метод, осуществляющий внедрение цифрового водяного знака в изображение. Метод был представлен Мартином Куттером, Фредериком Джорданом и Фрэнком Боссеном в журнале Journal of Electronic Imaging в апреле 1998 года[1].
Метод Куттера-Джордана-Боссена относится к классу алгоритмов, осуществляющих скрытие данных в пространственной области. В алгоритмах этого класса внедрение ЦВЗ выполняется за счет изменения яркостной либо цветовых компонент пикселя. В этом методе отдельные биты водяного знака многократно внедряются в изображение путём изменения значения синего канала в пикселе. Это изменение пропорционально яркостной компоненте пикселя и может принимать как положительные, так и отрицательные значения в зависимости от значения встраиваемого бита водяного знака[2].
Основными свойствами, которыми должен обладать ЦВЗ – это неразличимость для человеческого глаза и устойчивость к различным искажениям и изменениям изображения. Метод Куттера-Джордана-Боссена удовлетворяет первому требованию за счёт встраивания битов водяного знака именно в синий канал пикселя, так как человеческий глаз наименее чувствителен именно к этому цвету[3]. Устойчивость к искажениям изображения обеспечивается путём многократного встраивания битов ЦВЗ в различных частях исходного изображения.
Научные работы в области применения этого метода показали высокую эффективность при его использовании для защиты авторских прав изображений и видеоматериалов[4][5] (см. Применение стеганографии), а также для проверки целостности изображений и QR-кодов[6].
АлгоритмПравить
Встраивание одного бита информацииПравить
Пусть - отдельный бит встраиваемой в контейнер информации, где , и - красная, зелёная и синяя компоненты пикселя соответственно, а - псевдослучайная позиция с координатами и , в которой выполняется вложение. Позиция пикселя определяется ключом , который используется в качестве начального состояния (англ. seed) в генераторе псевдослучайных чисел. Бит встраивается в изображение путём изменения значения синего канала в пикселе с позицией пропорционально яркостной компоненте пикселя . Таким образом, вместо синей компоненты записывается новое значение, вычисляемое по формуле , где – константа, характеризующая энергию встраиваемого сигнала. Ее величина зависит от предназначения схемы. Чем больше , тем выше робастность (устойчивость) вложения, но тем сильнее его заметность[7].
Извлечение одного бита информацииПравить
Извлечение получателем бита информации водяного знака выполняется без наличия исходного изображения. Для того, чтобы восстановить исходный бит, нужно выполнить предсказание его значения. В качестве такого предсказания, используется линейная комбинация значений синего канала соседних битов. Авторы работы[8] эмпирически установили, что использование соседей из крестообразной окрестности пикселя (пиксели, с одинаковой координатой либо по отношению к исходному пикселю) дают наилучшее предсказание. Следовательно, предсказанное значение можно вычислить по формуле:
- ,
где - размеры крестообразной окрестности пикселя сверху (снизу, слева, справа). Чтобы восстановить значение бита ЦВЗ, вычисляется разность . Знак разности как раз и определяет значение встроенного бита информации[8].
Хотя правильное извлечение наиболее вероятно, оно не является гарантированным. Функции встраивания и извлечения информации из контейнера не являются симметричными, то есть функция извлечения не является обратной к функции встраивания, поэтому значение предсказанного бита имеет вероятностный характер и, вообще говоря, может не совпадать с исходным значением бита цифрового водяного знака. Для того, чтобы увеличить вероятность правильного извлечения бита информации используется многократное встраивание одного и того же бита в контейнер[8].
Многократное встраивание бита информацииПравить
Для увеличения вероятности правильного восстановления ЦВЗ в методе Куттера-Джордана-Боссена используется многократное встраивание бита информации в позиций контейнера. Эти позиций определяются псевдослучайной последовательностью. Как и раньше, начальное состояние генератора псевдослучайных чисел определяется ключом . Избыточность информации определяется параметром плотности . Плотность определяет вероятность того, что тот или иной пиксель будет использован для встраивания информации. Значение этого параметра лежит в пределах от 0 до 1, где 0 означает полное отсутствие встраивания информации, а 1 - встраивание битов ЦВЗ в каждый пиксель[8].
Координаты пикселей для встраивания определяются следующим образом: для каждого пикселя изображения генерируется псевдослучайное число . Если , тогда бит информации должен быть встроен в пиксель. Иначе, пиксель остается не тронутым. При этом пиксели изображения обходятся в зигзагообразном порядке, вместо того, чтобы перебирать координаты пикселя строка за строкой (или столбец за столбцом). Это сделано для того, чтобы процедура встраивания информации была независимой от размера изображения[8].
В этом методе генератор псевдослучайных чисел используется только для определения позиций пикселя. Поскольку не все пиксели подвергаются изменению и не существует явного способа определить, какие пиксели были изменены, генератор псевдослучайных чисел не обязательно должен быть криптографически стойким[8].
Также как и раньше, чтобы восстановить бит, вычисляется разница между предсказанным и реальным значениями бита для каждого : [8].
Затем полученные разницы усредняются: , где - количество пикселей в изображении . Знак усредненной разности определяет значение встраиваемого бита информации[8].
Встраивание m-битного цифрового водяного знакаПравить
Встраивание -битного цифрового водяного знака осуществляется следующим образом. Пусть - позиции, выбранные для многократного встраивания одного бита ЦВЗ. Тогда для каждой из этих позиций выбирается и встраивается бит информации. При встраивании сообщения длиной бит, добавляются два дополнительных бита. Эти два бита всегда выбираются равными 0 и 1 соответственно. Это позволяет улучшить вероятность извлечений информации путём определения порогового значения (см. следующий подраздел). Также данные биты определяют геометрическое расположение, которое используется, чтобы противостоять геометрическим атакам, таким как поворот и обрезание изображения[9].
Устойчивость к стеганографическим атакамПравить
Адаптивное пороговое значениеПравить
В работе[9] авторов данного метода приводится анализ устойчивости алгоритма к стеганографическим атакам. Авторы построили графики зависимости значения числа (разница истинного и предсказанного значений бита) от номера бита для двух изображений: изображения с ЦВЗ, встроенным с помощью метода Куттера-Джордана-Боссена, и изображения после попытки стеганографической атаки. В оригинальном изображении с ЦВЗ знак может быть однозначно определен, в то время как после стеганографической атаки, определения знака является недостаточно однозначным. Решением этой проблемы является введение ранее упомянутого порогового значения. Поскольку известно, что первые два бита информации имеют значения 0 и 1 соответственно, то можно воспользоваться этой информацией, чтобы вычислить адаптивное пороговое значение . Оно вычисляется как среднее и :
Идея использования адаптивного порогового значения базируется на предположении о том, что изменения, произведённые при стеганографической атаке, одинаково затрагивают все встраиваемые биты в изображении. Это допущение может быть сделано, так как каждый бит цифрового водяного знака встраивается несколько раз и равномерно распределен по всему изображению. Следовательно, любые изменения производимые над изображением одинаково затронут все биты восстанавливаемого ЦВЗ, предполагая, что число встраиваний довольно велико[9].
ПримечанияПравить
- ↑ Digital watermarking of color images using amplitude modulation, 1998.
- ↑ Digital watermarking of color images using amplitude modulation, 1998, p. 326.
- ↑ Стеганографические системы. Критерии и методическое обеспечение: Учебно-методическое пособие, 2016, с. 25-29.
- ↑ Multimedia Watermarking Techniques, 1999, p. 1087.
- ↑ Applying of Kutter-Jordan-Bossen steganographic algorithm in video sequences, 2017, p. 696.
- ↑ Digital watermarking for QR-code protection, 2014, p. 121-122.
- ↑ Цифровая стеганография, 2002, с. 164.
- ↑ 1 2 3 4 5 6 7 8 Digital watermarking of color images using amplitude modulation, 1998, p. 327.
- ↑ 1 2 3 Digital watermarking of color images using amplitude modulation, 1998, p. 328.
ЛитератураПравить
- Грибунин В. Г., Костюков В. Е., Мартынов А. П., Николаев Д. Б., Фомченко В. Н. Стеганографические системы. Критерии и методическое обеспечение: Учебно-методическое пособие / Под редакцией доктора технических наук В. Г. Грибунина. — г. Саров: ФГУП "РФЯЦ-ВНИИЭФ", 2016. — 324 p. — ISBN 978-5-9515-0317-6.
- Kutter M., Jordan F., Bossen F. Digital watermarking of color images using amplitude modulation (англ.) : журнал. — 1998. — 1 April (vol. 7, no. 2). — doi:10.1117/1.482648.
- Hartung F., Kutter M. Multimedia Watermarking Techniques (англ.) // Proceedings of the IEEE : журнал. — 1999. — July (vol. 87, no. 7). Архивировано 9 августа 2017 года.
- Lysenko N., Labkov G. Applying of Kutter-Jordan-Bossen steganographic algorithm in video sequences (англ.) // IEEE : журнал. — 2017. — 17 April. — doi:10.1109/EIConRus.2017.7910651.
- Наріманова О. В., Семенченко Д. М. Digital watermarking for QR-code protection (укр.) // Политехпериодика (Одесса) : журнал. — 2014. — Т. 1, № 15. — ISSN 2308-8060.
- Грибунин В. Г., Оков И. Н., Туринцев И. В. Цифровая стеганография. — Солон-Пресс, 2002. — 235 с. — ISBN 5-98003-011-5.