Это не официальный сайт wikipedia.org 01.01.2023

Метод Куттера-Джордана-Боссена — Википедия

Метод Куттера-Джордана-Боссена

Метод Куттера-Джордана-Боссена - стеганографический метод, осуществляющий внедрение цифрового водяного знака в изображение. Метод был представлен Мартином Куттером, Фредериком Джорданом и Фрэнком Боссеном в журнале Journal of Electronic Imaging в апреле 1998 года[1].

Метод Куттера-Джордана-Боссена относится к классу алгоритмов, осуществляющих скрытие данных в пространственной области. В алгоритмах этого класса внедрение ЦВЗ выполняется за счет изменения яркостной либо цветовых компонент пикселя. В этом методе отдельные биты водяного знака многократно внедряются в изображение путём изменения значения синего канала в пикселе. Это изменение пропорционально яркостной компоненте пикселя и может принимать как положительные, так и отрицательные значения в зависимости от значения встраиваемого бита водяного знака[2].

Основными свойствами, которыми должен обладать ЦВЗ – это неразличимость для человеческого глаза и устойчивость к различным искажениям и изменениям изображения. Метод Куттера-Джордана-Боссена удовлетворяет первому требованию за счёт встраивания битов водяного знака именно в синий канал пикселя, так как человеческий глаз наименее чувствителен именно к этому цвету[3]. Устойчивость к искажениям изображения обеспечивается путём многократного встраивания битов ЦВЗ в различных частях исходного изображения.

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

АлгоритмПравить

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

Пусть s   - отдельный бит встраиваемой в контейнер I = { R , G , B }   информации, где R  , G   и B   - красная, зелёная и синяя компоненты пикселя соответственно, а p = ( i , j )   - псевдослучайная позиция с координатами i   и j  , в которой выполняется вложение. Позиция пикселя определяется ключом K  , который используется в качестве начального состояния (англ. seed) в генераторе псевдослучайных чисел. Бит s   встраивается в изображение путём изменения значения синего канала в пикселе с позицией p   пропорционально яркостной компоненте пикселя L = 0.299 R + 0.587 G + 0.114 B  . Таким образом, вместо синей компоненты B i j   записывается новое значение, вычисляемое по формуле B i j = B i j + ( 2 s 1 ) L i j q  , где q   – константа, характеризующая энергию встраиваемого сигнала. Ее величина зависит от предназначения схемы. Чем больше q  , тем выше робастность (устойчивость) вложения, но тем сильнее его заметность[7].

Извлечение одного бита информацииПравить

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

B ^ i j = 1 4 c ( k = c c B i + k , j + k = c c B i , j + k 2 B i j )  ,

где c   - размеры крестообразной окрестности пикселя сверху (снизу, слева, справа). Чтобы восстановить значение бита ЦВЗ, вычисляется разность δ = B i j B ^ i j  . Знак разности δ   как раз и определяет значение встроенного бита информации[8].

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

Многократное встраивание бита информацииПравить

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

 
Порядок обхода изображения в методе Куттера-Джордана-Боссена

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

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

Также как и раньше, чтобы восстановить бит, вычисляется разница между предсказанным и реальным значениями бита для каждого p k  : δ k = B p k B ^ p k  [8].

Затем полученные разницы усредняются: δ ¯ = 1 ρ | I | k δ k  , где | I |   - количество пикселей в изображении I  . Знак усредненной разности δ k   определяет значение встраиваемого бита информации[8].

Встраивание m-битного цифрового водяного знакаПравить

Встраивание m  -битного цифрового водяного знака S = { s 0 , . . . , s m 1 }   осуществляется следующим образом. Пусть p 1 . . . p n   - позиции, выбранные для многократного встраивания одного бита ЦВЗ. Тогда для каждой из этих позиций выбирается и встраивается бит информации. При встраивании сообщения длиной m 2   бит, добавляются два дополнительных бита. Эти два бита всегда выбираются равными 0 и 1 соответственно. Это позволяет улучшить вероятность извлечений информации путём определения порогового значения τ   (см. следующий подраздел). Также данные биты определяют геометрическое расположение, которое используется, чтобы противостоять геометрическим атакам, таким как поворот и обрезание изображения[9].

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

Адаптивное пороговое значениеПравить

В работе[9] авторов данного метода приводится анализ устойчивости алгоритма к стеганографическим атакам. Авторы построили графики зависимости значения числа δ ¯ b   (разница истинного и предсказанного значений бита) от номера бита b   для двух изображений: изображения с ЦВЗ, встроенным с помощью метода Куттера-Джордана-Боссена, и изображения после попытки стеганографической атаки. В оригинальном изображении с ЦВЗ знак δ ¯ b   может быть однозначно определен, в то время как после стеганографической атаки, определения знака δ ¯ b   является недостаточно однозначным. Решением этой проблемы является введение ранее упомянутого порогового значения. Поскольку известно, что первые два бита информации имеют значения 0 и 1 соответственно, то можно воспользоваться этой информацией, чтобы вычислить адаптивное пороговое значение τ  . Оно вычисляется как среднее δ ¯ 0   и δ ¯ 1  :

s ¯ b = { 1 , δ ¯ b > δ ¯ 0 + δ ¯ 1 2 0 , δ ¯ b δ ¯ 0 + δ ¯ 1 2  

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

ПримечанияПравить

ЛитератураПравить

  • Грибунин В. Г., Костюков В. Е., Мартынов А. П., Николаев Д. Б., Фомченко В. Н. Стеганографические системы. Критерии и методическое обеспечение: Учебно-методическое пособие / Под редакцией доктора технических наук В. Г. Грибунина. — г. Саров: ФГУП "РФЯЦ-ВНИИЭФ", 2016. — 324 p. — ISBN 978-5-9515-0317-6.
  • Грибунин В. Г., Оков И. Н., Туринцев И. В. Цифровая стеганография. — Солон-Пресс, 2002. — 235 с. — ISBN 5-98003-011-5.