Метод Куттера — Джордана — Боссена — стеганографический метод, осуществляющий внедрение цифрового водяного знака в изображение, описан Мартином Куттером, Фредериком Джорданом и Фрэнком Боссеном в апреле 1998 года.

Относится к классу алгоритмов, осуществляющих скрытие данных в пространственной области. В алгоритмах этого класса внедрение цифрового водяного знака выполняется за счёт изменения яркостной либо цветовых компонент пикселя. В этом методе отдельные биты водяного знака многократно внедряются в изображение путём изменения значения синего канала в пикселе. Это изменение пропорционально яркостной компоненте пикселя и может принимать как положительные, так и отрицательные значения в зависимости от значения встраиваемого бита водяного знака.

Основными свойствами, которыми должен обладать цифровой водяной знак — это неразличимость для человеческого глаза и устойчивость к различным искажениям и изменениям изображения. Метод удовлетворяет первому требованию за счёт встраивания битов водяного знака именно в синий канал пикселя, так как человеческий глаз наименее чувствителен именно к этому цвету. Устойчивость к искажениям изображения обеспечивается путём многократного встраивания битов водяного знака в различных частях исходного изображения.

Научные работы в области применения этого метода показали высокую эффективность при его использовании для защиты авторских прав изображений и видеоматериалов (см. Применение стеганографии), а также для проверки целостности изображений и QR-кодов.

Алгоритм

Встраивание одного бита информации

Пусть  — отдельный бит встраиваемой в контейнер информации, где , и  — красная, зелёная и синяя компоненты пикселя соответственно, а  — псевдослучайная позиция с координатами и , в которой выполняется вложение. Позиция пикселя определяется ключом , который используется в качестве начального состояния (англ. seed) в генераторе псевдослучайных чисел. Бит встраивается в изображение путём изменения значения синего канала в пикселе с позицией пропорционально яркостной компоненте пикселя . Таким образом, вместо синей компоненты записывается новое значение, вычисляемое по формуле , где  — константа, характеризующая энергию встраиваемого сигнала. Ее величина зависит от предназначения схемы. Чем больше , тем выше робастность (устойчивость) вложения, но тем сильнее его заметность.

Извлечение одного бита информации Извлечение получателем бита информации водяного знака выполняется без наличия исходного изображения. Для того, чтобы восстановить исходный бит, нужно выполнить предсказание его значения. В качестве такого предсказания, используется линейная комбинация значений синего канала соседних битов. Авторы работы эмпирически установили, что использование соседей из крестообразной окрестности пикселя (пиксели, с одинаковой координатой либо по отношению к исходному пикселю) дают наилучшее предсказание. Следовательно, предсказанное значение можно вычислить по формуле: ,

где  — размеры крестообразной окрестности пикселя сверху (снизу, слева, справа). Чтобы восстановить значение бита водяного знака, вычисляется разность . Знак разности как раз и определяет значение встроенного бита информации.

Хотя правильное извлечение наиболее вероятно, оно не является гарантированным. Функции встраивания и извлечения информации из контейнера не являются симметричными, то есть функция извлечения не является обратной к функции встраивания, поэтому значение предсказанного бита имеет вероятностный характер и, вообще говоря, может не совпадать с исходным значением бита цифрового водяного знака. Для того, чтобы увеличить вероятность правильного извлечения бита информации используется многократное встраивание одного и того же бита в контейнер.

Многократное встраивание бита информации Для увеличения вероятности правильного восстановления цифрового знака в методе Куттера — Джордана — Боссена используется многократное встраивание бита информации в позиций контейнера. Эти позиций определяются псевдослучайной последовательностью. Как и раньше, начальное состояние генератора псевдослучайных чисел определяется ключом . Избыточность информации определяется параметром плотности . Плотность определяет вероятность того, что тот или иной пиксель будет использован для встраивания информации. Значение этого параметра лежит в пределах от 0 до 1, где 0 означает полное отсутствие встраивания информации, а 1 — встраивание битов ЦВЗ в каждый пиксель.

Координаты пикселей для встраивания определяются следующим образом: для каждого пикселя изображения генерируется псевдослучайное число . Если , тогда бит информации должен быть встроен в пиксель. Иначе, пиксель остается не тронутым. При этом пиксели изображения обходятся в зигзагообразном порядке, вместо того, чтобы перебирать координаты пикселя строка за строкой (или столбец за столбцом). Это сделано для того, чтобы процедура встраивания информации была независимой от размера изображения.

В этом методе генератор псевдослучайных чисел используется только для определения позиций пикселя. Поскольку не все пиксели подвергаются изменению и не существует явного способа определить, какие пиксели были изменены, генератор псевдослучайных чисел не обязательно должен быть криптографически стойким.

Также как и раньше, чтобы восстановить бит, вычисляется разница между предсказанным и реальным значениями бита для каждого : .

Затем полученные разницы усредняются: , где  — количество пикселей в изображении . Знак усредненной разности определяет значение встраиваемого бита информации.

Встраивание m-битного цифрового водяного знака Встраивание -битного цифрового водяного знака осуществляется следующим образом. Пусть  — позиции, выбранные для многократного встраивания одного бита ЦВЗ. Тогда для каждой из этих позиций выбирается и встраивается бит информации. При встраивании сообщения длиной бит, добавляются два дополнительных бита. Эти два бита всегда выбираются равными 0 и 1 соответственно. Это позволяет улучшить вероятность извлечений информации путём определения порогового значения (см. следующий подраздел). Также данные биты определяют геометрическое расположение, которое используется, чтобы противостоять геометрическим атакам, таким как поворот и обрезание изображения.

Устойчивость к стеганографическим атакам

Адаптивное пороговое значение В работе авторов данного метода приводится анализ устойчивости алгоритма к стеганографическим атакам. Авторы построили графики зависимости значения числа (разница истинного и предсказанного значений бита) от номера бита для двух изображений: изображения с цифровым водяным знаком, встроенным с помощью метода Куттера — Джордана — Боссена, и изображения после попытки стеганографической атаки. В оригинальном изображении с цифровым водяным знаком знак может быть однозначно определён, в то время как после стеганографической атаки, определения знака является недостаточно однозначным. Решением этой проблемы является введение ранее упомянутого порогового значения. Поскольку известно, что первые два бита информации имеют значения 0 и 1 соответственно, то можно воспользоваться этой информацией, чтобы вычислить адаптивное пороговое значение . Оно вычисляется как среднее и :

Идея использования адаптивного порогового значения базируется на предположении о том, что изменения, произведённые при стеганографической атаке, одинаково затрагивают все встраиваемые биты в изображении. Это допущение может быть сделано, так как каждый бит цифрового водяного знака встраивается несколько раз и равномерно распределён по всему изображению. Следовательно, любые изменения производимые над изображением одинаково затронут все биты восстанавливаемого водяного знака, предполагая, что число встраиваний довольно велико.

Примечания

Литература

Категория:Стеганография