Сокрытие данных методами стеганографии

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 18:39, 9 апреля 2018.

Содержание

Введение

Настоящее пособие, по существу, развивает первичные материалы раздела «Обнаруженние и распознавание сигналов», посвященного стеганографическим методам сокрытия сообщений. Совместно с опубликованными в 2011 году работами студентов, посвященным конкретным исследованиям с использованием среды MathCad, эти материалы могут быть полезными для студентов 4 курса 2012 года, принявших решение выполнить домашнее задание по выбору.

Цифровая стеганография

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

Рис.1. Структурная схема типичной стегосистемы

Стегосистема, представленная на рис.1, выполняет задачу встраивания и выделения цифровых водяных знаков (ЦВЗ) из изображения-контейнера. Предварительный кодер - устройство, предназначенное для преобразования скрываемого водяного знака к виду, удобному для встраивания в контейнер. Устройство встраивания ЦВЗ предназначено для осуществления встраивания (вложения) скрытого ЦВЗ в изображение-контейнер. В стегосистеме происходит объединение двух типов информации так, чтобы они могли быть различимы двумя принципиально разными детекторами. В качестве одного из детекторов выступает система выделения ЦВЗ, в качестве другого – человек. Предварительная обработка часто выполняется с использованием ключа для повышения секретности встраивания. Далее ЦВЗ «вкладывается» в контейнер, например, путем модификации младших значащих бит коэффициентов. Этот процесс возможен благодаря особенностям системы восприятия человека. Хорошо известно, что изображения обладают большой психовизуальной избыточностью. Глаз человека подобен низкочастотному фильтру, пропускающему мелкие детали. Особенно незаметны искажения в высокочастотной области изображений. В стегодетекторе (Детектор ЦВЗ) происходит обнаружение ЦВЗ в (возможно измененном) защищенном ЦВЗ изображении. Это изменение может быть обусловлено влиянием ошибок в канале связи, операций обработки сигнала, преднамеренных атак нарушителей.

Различают стегодетекторы, предназначенные для обнаружения факта наличия ЦВЗ и устройства, предназначенные для выделения этого ЦВЗ (стегодекодеры, Декодер ЦВЗ). В первом случае возможны детекторы с жесткими (да/нет) или мягкими решениями. Решение о наличии или отсутствии ЦВЗ выносится либо на основании расстояния по Хэммингу, либо на основании взаимной корреляции между имеющимся сигналом и оригиналом (при отсутствии которого, используются статистические методы).

В зависимости от того, какая информация требуется детектору для обнаружения ЦВЗ, стегосистемы ЦВЗ делятся на три класса:

  • открытые;
  • полузакрытые;
  • закрытые системы.

Существуют 2 типа закрытых систем: в первом типе, детектору требуется и исходный контейнер и исходный ЦВЗ, а на выходе система выдает решение о наличии или отсутствии ЦВЗ (такие стегосистемы имеют наибольшую устойчивость по отношению к внешним воздействиям); во втором типе детектору нужен только исходный контейнер, а на выходе система выдает восстановленный ЦВЗ. В полузакрытых системах детектору требуется исходный ЦВЗ, на выходе выдается решение о наличии или отсутствии ЦВЗ. Наибольшее применение имеют закрытые стегосистемы ЦВЗ, так как они аналогичны системам скрытой передачи данных, и в них детектору не нужны ни исходный контейнер, ни исходный ЦВЗ, а на выходе система выдает восстановленный из контейнера ЦВЗ.

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

Встраиваемые ЦВЗ могут быть трех типов:

  • робастные;
  • хрупкие;
  • полухрупкие.

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

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

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

Рис.2. Классификация систем цифровой стеганографии

Алгоритмы встраивания информации в изображения

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

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

Для оценки качества восстановленного изображения используют либо меру среднеквадратического искажения, определяемую как

СКО

где - число пикселов в изображении, , - значение пикселов исходного и восстановленного изображений.

Либо применяется модификация этой меры - пиковое отношение сигнал/шум, определяемое как

ПОСШ

где 255 - максимальное значение яркости полутонового изображения (т.е. 8 бит/пиксель). Восстановленное изображение считается приемлемым, если ПОСШ ≥ 28÷30 дБ (в среднем).

Часто используется принцип встраивания данных, когда сигнал контейнера представлен последовательностью из n бит. Скрытие информации начинается с определения бит контейнера, которые можно изменять без внесения заметных искажений – стегопути. Далее среди этих бит обычно в соответствии с ключом выбираются биты, заменяемые битами ЦВЗ.

По способу встраивания информации стегоалгоритмы можно разделить на линейные (аддитивные), нелинейные и другие. Алгоритмы аддитивного внедрения информации заключаются в линейной модификации исходного изображения, а ее извлечение в декодере производится корреляционными методами. При этом ЦВЗ обычно складывается с изображением-контейнером, либо «вплавляется» (fusion) в него. В нелинейных методах встраивания информации используется скалярное либо векторное квантование. Среди других методов определенный интерес представляют методы, использующие идеи фрактального кодирования изображений.

Алгоритмы встраивания данных в пространственной области

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

Большинство алгоритмов встраивания ЦВЗ в пространственную область изображений основаны на использовании широкополосных сигналов (ШПС). Основной идеей применения ШПС в стеганографии является то, что данные внедряются в шумовой сигнал малой мощности. Так как сигнал малой мощности, то для защиты ЦВЗ применяют помехоустойчивые коды.

Алгоритм Катера (Kutter)

Алгоритм Катера предполагает что изображение имеет RGB кодировку. Встраивание выполняется в канал синего цвета, так как к синему цвету система человеческого зрения наименее чувствительна.

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

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

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

где - число пикселов сверху (снизу, слева, справа) от оцениваемого пиксела (). Так как в процессе встраивания ЦВЗ каждый бит был повторен раз, то мы получим cr оценок одного бита ЦВЗ. Секретный бит находится после усреднения разности оценки пиксела и его реального значения

Знак этой разности определяет значение встроенного бита.

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

Алгоритм Брундокса (Bruyndonckx)

ЦВЗ представляет собой строку бит. Для повышения помехоустойчивости применяется код Боуза-Чоудхури-Хоквингема (БЧХ). Внедрение осуществляется за счет модификации яркости блока 8х8 пикселов. Процесс встраивания осуществляется в три этапа:

  1. Классификация пикселов внутри блока на две группы с примерно однородными яркостями.
  2. Разбиение каждой группы на категории, определяемые данной сеткой.
  3. Модификация средних значений яркости каждой категории в каждой группе.

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

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

Для сортировки пикселов по категориям на блоки накладываются маски, разные для каждой зоны и каждого блока. Назначение масок состоит в обеспечении секретности внедрения.

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

Алгоритм Ленгелаара (Langelaar)

Данный алгоритм также работает с блоками 8х8. Вначале создается псевдослучайная маска нулей и единиц такого же размера Далее каждый блок делится на два субблока и , в зависимости от значения маски. Для каждого субблока вычисляется среднее значение яркости, и . Далее выбирается некоторый порог , и бит ЦВЗ встраивается следующим образом:

Если это условие не выполняется, необходимо изменять значения яркости пикселов субблока . Для извлечения бита ЦВЗ вычисляются средние значения яркости субблоков – и . Разница между ними позволяет определить искомый бит:

Алгоритм Питаса (Pitas)

В данном алгоритме ЦВЗ представляет собой двумерный массив бит размером с изображение, причем число единиц в нем равно числу нулей. Существует несколько версий алгоритма, предложенного Питасом. Вначале предлагалось встраивать бит ЦВЗ в каждый пиксель изображения, но позже благоразумно было решено использовать для этой цели блоки размером 2х2 или 3х3 пикселя, что делает алгоритм более робастным к сжатию или фильтрации. ЦВЗ складывается с изображением:
.
В случае использования для внедрения блоков детектор ЦВЗ вычисляет среднее значение яркости этого блока. Отсюда появляется возможность неравномерного внедрения ЦВЗ в пиксели, то есть величина . Таким образом можно получить ЦВЗ, оптимизированный по критерию робастности к процедуре сжатия алгоритмом JPEG. Для этого в блоке 8х8 элементов заранее вычисляют «емкость» каждого пикселя (с учетом ДКП и матрицы квантования JPEG). Затем ЦВЗ внедряют в соответствии с вычисленной емкостью. Эта оптимизация производится раз и навсегда, и найденная маска применяется для любого изображения.

Алгоритм Роджена (Rongen)

В этом алгоритме, также, как и в алгоритме Питаса, ЦВЗ представляет собой двумерную матрицу единиц и нулей с примерно равным их количеством. Пикселы, в которые можно внедрять единицы (то есть робастные к искажениям), определяются на основе некоторой характеристической функции (характеристические пиксели). Эта функция вычисляется локально, на основе анализа соседних пикселов. Характеристические пиксели составляют примерно 1/100 от общего числа, так что не все единицы ЦВЗ встраиваются именно в эти позиции. Для повышения количества характеристических пикселов в случае необходимости предлагается осуществлять небольшое предыскажение изображения. Детектор находит значения характеристических пикселов и сравнивает с имеющимся у него ЦВЗ. Если в изображении ЦВЗ не содержится, то в характеристических пикселях количество единиц и нулей будет примерно поровну.

Алгоритм PatchWork

В основе алгоритма Patchwork лежит статистический подход. Вначале псевдослучайным образом на основе ключа выбираются два пикселя изображения. Затем значение яркости одного из них увеличивается на некоторое значение (от 1 до 5), значение яркости другого – уменьшается на то же значение. Далее этот процесс повторяется большое число раз (~10000) и находится сумма значений всех разностей. По значению этой суммы судят о наличии или отсутствии ЦВЗ в изображении.

Значения выбираемых на каждом шаге пикселов - и , величина приращения – . Сумма разностей значений пикселов

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

Алгоритм Patchwork является достаточно стойким к операциям сжатия изображения, его усечения, изменения контрастности. Основным недостатком алгоритма является его неустойчивость к аффинным преобразованиям, то есть поворотам, сдвигу, масштабированию. Другой недостаток заключается в малой пропускной способности. Так, в базовой версии алгоритма для передачи 1 бита скрытого сообщения требуется 20000 пикселов.

Алгоритм Бендера (Bender)

Алгоритм Бендера основан на копировании блоков из случайно выбранной текстурной области в другую, имеющую сходные статистические характеристики. Это приводит к появлению в изображении полностью одинаковых блоков. Эти блоки могут быть обнаружены следующим образом:

  1. Анализ функции автокорреляции стегоизображения и нахождение ее пиков.
  2. Сдвиг изображения в соответствии с этими пиками и вычитание изображения из его сдвинутой копии.
  3. Разница в местоположениях копированных блоков должна быть близка к нулю. Выбирается некоторый порог и значения, меньшие этого порога по абсолютной величине, считаются искомыми блоками.

Так как копии блоков идентичны, то они изменяются одинаково при преобразованиях всего изображения. Если сделать размер блоков достаточно большим, то алгоритм будет устойчивым по отношению к большинству из негеометрических искажений. Алгоритм является робастным к фильтрации, сжатию, поворотам изображения. Основным недостатком алгоритма является исключительная сложность нахождения областей, блоки из которых могут быть заменены без заметного ухудшения качества изображения. Кроме того, в данном алгоритме в качестве контейнера могут использоваться только достаточно текстурные изображения.

Алгоритмы встраивания данных в области преобразования

Реальные изображения вовсе не являются случайным процессом с равномерно распределенными значениями величин. Хорошо известно, и это используется в алгоритмах сжатия, что большая часть энергии изображений сосредоточена в низкочастотной части спектра. Отсюда и потребность в осуществлении декомпозиции изображения на субполосы. Cтегосообщение добавляется к субполосам изображения. Низкочастотные субполосы содержат подавляющую часть энергии изображения и, следовательно, носят шумовой характер. Высокочастотные субполосы наиболее подвержены воздействию со стороны различных алгоритмов обработки, будь то сжатие или НЧ фильтрация. Таким образом, для вложения сообщения наиболее подходящими кандидатами являются среднечастотные субполосы спектра изображения. Типичное распределение шума изображения и обработки по спектру частоты показано на рис.3.

Рис.3. Зависимость шума изображения и шума обработки от частоты

Шум обработки появляется в результате квантования коэффициентов трансформанты. Его можно рассматривать как уменьшение корреляции между коэффициентами трансформанты исходного изображения и квантованными коэффициентами. Например, при высоких степенях сжатия может возникнуть ситуация, когда будут отброшены целые субполосы. То есть дисперсия шума в этих субполосах, вообще говоря, бесконечна. Налицо уменьшение корреляции между коэффициентами субполосы до квантования и после. Для получения приемлемых результатов необходимо усреднить значение шума обработки по многим изображениям.

Преобразования можно упорядочить по достигаемым выигрышам от кодирования [13], единичное, Адамара, Хаара, ДКП, Вейвлет, ПКЛ. Под выигрышем от кодирования понимается степень перераспределения дисперсий коэффициентов преобразования.

Наибольший выигрыш дает преобразование Карунена-Лоэва (ПКЛ), наименьший – разложение по базису единичного импульса (то есть отсутствие преобразования). Преобразования, имеющие высокие значения выигрыша от кодирования, такие как ДКП, вейвлет-преобразование, характеризуются резко неравномерным распределением дисперсий коэффициентов субполос. Высокочастотные субполосы не подходят для вложения из-за большого шума обработки, а низкочастотные – из-за высокого шума изображения. Поэтому приходится ограничиваться среднечастотными полосами, в которых шум изображения примерно равен шуму обработки. Так как таких полос немного, то пропускная способность стегоканала невелика. В случае применения преобразования с более низким выигрышем от кодирования, например, Адамара или Фурье, имеется больше блоков, в которых шум изображения примерно равен шуму обработки. Следовательно, и пропускная способность выше. Следовательно, для повышения пропускной способности стеганографического канала лучше применять преобразования с меньшими выигрышами от кодирования, плохо подходящие для сжатия сигналов.

Эффективность применения вейвлет-преобразования и ДКП для сжатия изображений объясняется тем, что они хорошо моделируют процесс обработки изображения в СЧЗ, отделяют «значимые» детали от «незначимых». Значит, их более целесообразно применять в случае активного нарушителя, так как модификация значимых коэффициентов может привести к неприемлемому искажению изображения. При применении преобразования с низкими значениями выигрыша от кодирования существует опасность нарушения вложения, так как коэффициенты преобразования менее чувствительны к модификациям.

Рис.4. Блок 8x8 пикселей с расположением коэффициентов ДКП
Встраивание данных в коэффициенты дискретного косинусного преобразования

При использовании данного метода, контейнер разбивается на блоки размером 8х8 пикселов. ДКП применяется к каждому блоку, в результате чего получаются матрицы коэффициентов ДКП, также размером 8х8. Коэффициенты обозначаются через где – номер блока, - позиция коэффициента внутри блока. Если блок сканируется в зигзагообразном порядке (как это имеет место в JPEG), то коэффициенты обозначаются через . Коэффициент в левом верхнем углу обычно называется DC- коэффициентом. Он содержит информацию о яркости всего блока. Остальные коэффициенты называются АС-коэффициентами. Иногда выполняется ДКП всего изображения, а не отдельных блоков. Далее рассмотрим некоторые из алгоритмов внедрения ЦВЗ в области ДКП.

Алгоритм Коча (Koch)

В данном алгоритме в блок размером 8х8 осуществляется встраивание 1 бита ЦВЗ. Описано две реализации алгоритма: псевдослучайно могут выбираться два или три коэффициента ДКП. Рассмотрим вариацию алгоритма с двумя выбираемыми коэффициентами.

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

Алгоритм Бенхама (Benham)

Этот алгоритм является улучшенной версией предыдущего. Улучшения проведены по двум направлениям: для встраивания используются не все блоки, а лишь «пригодные» для этого, внутри блока для встраивания выбираются не два, а три коэффициента, что уменьшает искажения. Пригодными для встраивания информации считаются блоки изображения, не являющиеся слишком гладкими, а также не содержащие малого числа контуров. Для первого типа блоков характерно равенство нулю высокочастотных коэффициентов, для второго типа – очень большие значения нескольких низкочастотных коэффициентов. Эти особенности и являются критерием отсечения непригодных блоков.

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

Алгоритм Подилчука (Podilchuk)

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

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

Алгоритм Хсю (Hsu)

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

Для внедрения бита ЦВЗ в коэффициент находится знак разности коэффициента текущего блока и соответствующего ему коэффициента из предыдущего блока . Если надо встроить 1, коэффициент меняют так, чтобы знак разности стал положительным, если 0 – то чтобы знак стал отрицательным.

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

Еще одним усовершенствованием этого алгоритма является порядок сортировки, при котором блоки ЦВЗ упорядочиваются по убыванию в них числа единиц. Блоки исходного изображения-контейнера также упорядочиваются по убыванию дисперсий. После этого выполняется соответствующее вложение данных. Данный алгоритм не является робастным по отношению к JPEG-компрессии.

Алгоритм Кокса (Cox)

Этот алгоритм является робастным ко многим операциям обработки сигнала. Обнаружение встроенного ЦВЗ в нем выполняется с использованием исходного изображения. Внедряемые данные представляют собой последовательность вещественных чисел с нулевым средним и единичной дисперсией. Для вложения информации используются несколько АС-коэффициентов ДКП всего изображения с наибольшей энергией. Автором предложено три способа встраивания ЦВЗ в соответствии со следующими выражениями:

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

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

Алгоритм Барни (Barni)

Этот алгоритм является улучшением алгоритма Кокса, и в нем также выполняется ДКП всего изображения. В нем детектору уже не требуется исходного изображения, то есть схема слепая. Для встраивания ЦВЗ используются не наибольшие АС-коэффициенты, а средние по величине. В качестве ЦВЗ выступает произвольная строка бит.

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

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

Аддитивные алгоритмы

Алгоритмы аддитивного внедрения информации заключаются в линейной модификации исходного изображения, а ее извлечение в декодере производится корреляционными методами. При этом ЦВЗ обычно складывается с изображением- контейнером, либо «вплавляется» (fusion) в него.

Алгоритмы на основе линейного встраивания данных

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

где – весовой коэффициент, а – модифицированный пиксель изображения. Другой способ встраивания водяного знака был предложен И.Коксом:

или, при использовании логарифмов коэффициентов

При встраивании в соответствии с первой формулой, ЦВЗ в декодере находится следующим образом:

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

Эта величина варьируется в интервале [-1; 1]. Значения, близкие к единице, свидетельствуют о том, что извлеченная последовательность с большой вероятностью может соответствовать встроенному ЦВЗ. Следовательно, в этом случае делается заключение, что анализируемое изображение содержит водяной знак.

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

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

Для извлечения внедренной информации в аддитивной схеме встраивания ЦВЗ обычно необходимо иметь исходное изображение, что достаточно сильно ограничивает область применения подобных методов.

Также существуют слепые методы извлечения ЦВЗ [15], вычисляющие корреляцию последовательности со всеми коэффициентами полученного изображения :

Затем полученное значение коэффициента корреляции сравнивается с некоторым порогом обнаружения
Основным недостатком этого метода является то, что само изображение в этом случае рассматривается, как шумовой сигнал. Существует гибридный подход (полуслепые схемы), когда часть информации об исходном изображении доступно в ходе извлечения информации, но неизвестно собственно исходное изображение.

Корреляционный метод позволяет только обнаружить наличие или отсутствие ЦВЗ. Для получения же всех информационных битов нужно протестировать все возможные последовательности, что является крайне вычислительно сложной задачей.

Алгоритмы на основе слияния ЦВЗ и контейнера

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

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

Алгоритм Чайа (Chae)

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

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

Обозначим, через А, В, и С соответственно, старший, средний и младший байты 24- битного представления логотипа. Старший байт каждого из этих чисел представляет собой соответственно А, В, или С, два других байта заполняются нулями. Затем формируется расширенный вчетверо блок коэффициентов логотипа. После чего он поэлементно складывается с 24-битной версией исходного изображения

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

Данный алгоритм позволяет скрыть довольно большой объем данных в исходном изображении: до четверти от размеров исходного изображения.

Алгоритм Кандара (Kundur)

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

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

где – коэффициент масштаба, вычисляемый по формуле:

где – взвешивающая матрица, определяющая частотную чувствительность системы зрения человека, – оператор ДПФ.

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

Алгоритмы на основе квантования

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

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

Передаваемое сообщение имеет ограниченную энергию для выполнения требования его незаметности. Помехами являются исходный сигнал и еще одна гауссовская помеха – шум обработки (квантования). Кодеру исходный сигнал известен, декодер должен извлечь ЦВЗ без знания обеих составляющих помех. Существуют многочисленные улучшения метода Костаса (направленных на борьбу с помехами), заключающиеся в применении различных структурированных квантователей (например, решетчатых или древовидных).

Наиболее предпочтительно внедрение информации в спектральную область изображения. Если при этом используются линейные методы, то встраивание ЦВЗ производят в средние полосы частот. Это объясняется тем, что энергия изображения сосредоточена, в основном, в низкочастотной (НЧ) области. Следовательно, в детекторе ЦВЗ в этой области наблюдается сильный шум самого сигнала. В высокочастотных (ВЧ) областях большую величину имеет шум обработки, например, сжатия. В отличие от линейных, нелинейные схемы встраивания информации могут использовать НЧ области, так как мощность внедряемого ЦВЗ не зависит от амплитуды коэффициентов. Это объясняется тем, что в нелинейных алгоритмах скрытия не используется корреляционный детектор, коэффициенты малой и большой амплитуды обрабатываются одинаково.

Выбор метода встраивания ЦВЗ в изображение-контейнер

Встраивание ЦВЗ возможно благодаря особенностям системы восприятия человека. Хорошо известно, что изображения обладают большой психовизуальной избыточностью. Глаз человека подобен низкочастотному фильтру, поэтому особенно незаметными оказываются искажения в высокочастотной области спектра изображений.

Для преодоления воздействий фотопечати и сканирования наиболее успешными оказались методы, получившие название методов “модуляции” изображения-контейнера, причем модуляция может осуществляться как в частотной [2-5], так и в пространственных областях изображения [7,8]. Для компенсации геометрических искажений типа смещения, поворота и изменения масштаба изображения используется полярная логарифмическая система координат с углом и логарифмическим радиусом по осям координат [3] или применяется инвариантное к повороту и масштабу преобразование Меллинга [2].

В случае внедрения ЦВЗ в частотной области модуляции подвергаются амплитудные составляющие комплексного спектра изображения-контейнера [3]. Для этого предварительно осуществляется вычисление амплитудной и фазовой составляющих компонентов преобразования Фурье. Для оценки последствий геометрических искажений, связанных со случайным поворотом, смещением или изменением масштаба, в изображение-контейнер, кроме ЦВЗ, встраивается изображение-шаблон [9]. В случае внедрения ЦВЗ в пространственной области сигнал ЦВЗ встраивается путем модуляции исходного изображения-контейнера, а извлечение ЦВЗ (демодуляция) выполняется с помощью линейной фильтрации изображения [7]. Если изображение цветное, сигнал ЦВЗ внедряется путем модификации значений пикселов в Blue канале RGB изображения [8]. Модификация осуществляется либо добавлением, либо вычитанием в зависимости от значения внедряемого бита ЦВЗ яркости изображения-контейнера.

Методы, использующие в качестве контейнеров аудиофайлы

Для надежного сокрытия данных в акустическом канале система сокрытия должна отвечать следующим требованиям:

  • быть стойкой к повсеместно используемым алгоритмам сжатия с потерями
  • не вносить в сигнал воспринимаемые человеческим слухом искажения
  • не вносить заметных изменений в статистику контейнера

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

MP3 - полное название MPEG 1 Layer 3 - формат кодирования звуковых файлов, входящий в стандарт кодирования видеоинформации MPEG 1. Принципиальной особенностью формата является сжатие с потерями: после упаковки и распаковки звукового файла с помощью MP3 результат не является побитной копией оригинала. Напротив, при кодировании несущественные компоненты целенаправленно исключаются из упаковываемого сигнала. При сохранении приемлемого качества, MP3 позволяет сжать звуковые данные в десять и более раз.

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

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

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

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

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

где - случайная двоичная последовательность, - порог слышимости i-той подполосы, - скрываемый бит.

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

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

Фазовое кодирование. В данном методе используется тот факт, что человеческое ухо воспринимает не значения фазы, а только их разность.

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

Для кодирования значений фаз, на множестве фаз выделяется набор равномерно распределенных значений, соответствующих битам 0 и 1. Значение фазы заменяется ближайшим значением, соответствующим требуемому биту. Разность значений в наборе зависит от частоты полосы, и варьируется от на чувствительных полосах до на высокочастотных полосах.

Для кодирования одного бита скрываемого сообщения используется определенная последовательность изменений фаз, различная для кодирования 0 и для кодирования 1. Для извлечения скрытого сообщения используется следующая функция обнаружения:
где - амплитуда и фаза i-го полученного сигнала.
- ожидаемая последовательность фаз при кодировании бита 1.
- ожидаемая последовательность фаз при кодировании бита 0.
и - ближайшие к значения фаз, соответствующие 1 и 0.

Если , бит скрытого сообщения принимается равным 1, иначе 0.

Метод обеспечивает высокую эффективность кодирования по критерию отношения сигнал-шум, однако его пропускная способность невелика, и составляет от 8 до 32 бит в секунду.

Эхо-кодирование использует неравномерные промежутки между эхо-сигналами для кодирования последовательности значений. При наложении ряда ограничений соблюдается условие незаметности для человеческого восприятия. Эхо характеризуется тремя параметрами: начальной амплитудой, степенью затухания, задержкой. При достижении некоего порога между сигналом и эхом они смешиваются. В этой точке человек не может отличить эти два сигнала. Наличие этой точки сложно определить, так как она зависит от качества исходной записи и слушателя. Как правило, используется задержка около одной тысячной секунды, что вполне приемлемо для большинства записей и слушателей. Используются две различные задержки при кодирования нуля и единицы. Обе эти задержки должны быть меньше, чем порог чувствительности уха слушателя к получаемому эху.

Замена шума. В данном методе используется тот факт, что человеческое ухо воспринимает не столько форму, сколько энергию шума. Так как в формате MP3 полностью кодируется форма шумных частотных подполос, данные подполосы могут быть использованы для сокрытия данных. Входной сигнал преобразуется в частотную область с помощью используемого в MP3 модифицированного дискретного косинусного преобразования(МДКП).

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

где - случайная двоичная последовательность,

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

В качестве шумных предлагается использовать полосы с частотами выше 5 кГц.

Следует отметить, что метод устойчив по отношению к MP3 сжатию, так как алгоритм кодирования MP3 не меняет знаки коэффициентов МДКП. Пропускная способность метода составляет от 20 до 60 бит в секунду. Метод так же достаточно прост в реализации, так как базируется на широко реализованном на различных платформах алгоритме МДКП, входящем в состав MP3 кодировщика.

В целом методы сокрытия данных в несжатом звуковом потоке имеют ряд серьезных недостатков:

  • возможную заметность при прослушивании;
  • ограниченную пропускную способность;
  • сложность реализации.

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

Таким образом, более перспективными являются алгоритмы, скрывающие данные непосредственно в сжатом MP3 потоке.

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

Особенностями метода являются: практическая незаметность при прослушивании; высокая сложность реализации и медленная работа, так как необходимо выполнить весь процесс MP3 кодирования; пропускная способность порядка 50 бит в секунду.

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

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

Поток данных MP3 состоит из кадров - участков данных, кодирующих 26мс звукового сигнала. Каждый кадр содержит 4х-байтный заголовок, содержащий синхронизирующее слово и служебную информацию. Служебная информация содержит, в частности, версию формата, стерео режим и битрейт. Эти значения однозначно определяют размер кадра.

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

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

Данный метод не вносит искажений в звуковой сигнал-контейнер, прост, быстр обладает значительной пропускной способностью(порядка 20% от объема контейнера). Однако зная алгоритм сокрытия, легко обнаружить наличие скрытой информации, исходя из того что в стандартном MP3 потоке нет "лишних" байт. Таким образом, метод можно использовать только в том случае, когда необходима быстрая передача значительного объема информации и не ожидается серьезного противодействия противника.

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

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

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

Так как модифицированный коэффициент отличается от исходного не более чем на 1, минимизация суммарных отклонений от исходного сигнала сводится к отбору коэффициентов с дробной частью близкой к 0,5. Кроме того, для сохранения структуры потока сжатых данных, отбираются коэффициенты, модификация которых не изменяет размера кодирующего их слова, в частности, отбрасываются коэффициенты с нулевым значением. Возникает проблема декодирования данных на стороне получателя - декодер не обладает информацией о том, какие коэффициенты использованы для сокрытия, т.е. сообщение должно быть представлено как известная декодеру функция от вектора бит всех коэффициентов, как использованных, так и нет. Используя в качестве данной функции умножение на общую для отправителя и получателя задаваемую секретным ключем матрицу, получаем систему линейных алгебраических уравнений, которую отправитель решает относительно вектора бит коэффициентов. Не подлежащие модификации коэффициенты задают значения некоторых переменных. Максимально возможный размер передаваемого сообщения, при котором система имеет решение, стремится к числу модифицируемых коэффициентов при увеличении данного числа, таким образом, метод позволяет без потерь в емкости использовать для сокрытия произвольные элементы контейнера.

Структура энтропийного кодирования в MP3 накладывает дополнительные ограничения на допустимые для модификации коэффициенты. Коэффициенты в рамках одного блока разбиты на 3 группы, каждая из которых упакована с помощью отдельной Хаффман-таблицы. Первые 2 группы упакованы парами следующим образом: в потоке записан код из таблицы, соответствующий паре, после чего записаны знаковые биты каждого отсчета. Числа, больше максимального для таблицы, кодируются как максимально возможный отсчет, плюс определяемое таблицей количество бит, записанных после кода, которые содержат прибавляемое к значению число.

Последний блок коэффициентов закодирован четверками с возможными значениями коэффициентов -1, 0, 1. Длина блоков содержится в служебной информации кадра, что позволяет вычислить количество нулевых значений отсчетов в конце кадра.

Внесение изменений в коэффициенты последнего блока, то есть замена -1 и 0, 0 и 1, приведет к изменению размера сжатого коэффициента(из-за появления или исчезновения знакового бита), что в свою очередь может привести к нарушению структуры MP3 файла - информация окажется больше или меньше отведенного под нее места в кадре.

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

Данные ограничения приводят к отсеиванию около 85% подходящих коэффициентов.

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

Для достижения допустимого уровня быстродействия метода, MP3 поток разбивается на группы кадров одинакового размера. Количество кадров в группах выбирается с тем чтобы количество модифицируемых коэффициентов в них было приблизительно одинаковым. В каждой группе СЛАУ сокрытия решается независимо. Таким образом, несмотря на то что время работы метода Гаусса в каждой группе пропорционально кубу от числа уравнений, общее время работы растет линейно с увеличением числа используемых коэффициентов. Однако каждая группа должна содержать определенное количество служебных бит, в которых записана длина сообщения в этой группе. Следовательно чем меньше группы, (и быстрее работает метод), тем больше бит расходуется на служебную информацию.

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

Методы компьютерной стеганографии (КС)

Результаты сопоставительного анализа методов КС приведены в таблице 1.

Таблица 1
Стеганографические методы Краткая характеристика методов Недостатки Преимущества
1. Методы использования специальных свойств компьютерных форматов данных
1.1. Методы использования зарезервированных для расширения полей компьютерных форматов данных Поля расширения имеются во многих мультимедийных форматах, они заполняются нулевой информацией и не учитываются программой Низкая степень скрытности, передача небольших ограниченных объемов информации Простота использования
1.2. Методы специального форматирования текстовых файлов:
1.2.1. Методы использования известного смещения слов, предложений, абзацев Методы основаны на изменении положения строк и расстановки слов в предложении, что обеспечивается вставкой дополнительных пробелов между словами 1. Слабая производительность метода,передача небольших объемов информации
2. Низкая степень скрытности
Простота использования.
Имеется опубликованное программное обеспечение реализации данного метода
1.2.2. Методы выбора определенных позиций букв (нулевой шифр) Акростих - частный случай этого метода (например, начальные буквы каждой строки образуют сообщение)
1.2.3. Методы использования специальных свойств полей форматов, не отображаемых на экране Методы основаны на использовании специальных "невидимых", скрытых полей для организации сносок и ссылок (например, использование черного шрифта на черном фоне)
1.3. Методы скрытия в неиспользуемых местах гибких дисков Информация записывается в обычно неиспользуемых местах ГМД (например, в нулевой дорожке) 1. Слабая производительность метода, передача небольших объемов информации
2. Низкая степень скрытности
Простота использования.
Имеется опубликованное программное обеспечение реализации данного метода
1.4. Методы использования имитирующих функций (mimic-function) Метод основан на генерации текстов и является обобщением акростиха. Для тайного сообщения генерируется осмысленный текст, скрывающий само сообщение 1. Слабая производительность метода, передача небольших объемов информации
2. Низкая степень скрытности
Результирующий текст не является подозрительным для систем мониторинга сети
1.5. Методы удаления идентифицирующего файл заголовка Скрываемое сообщение шифруется и у результата удаляется идентифицирующий заголовок,оставляя только шифрованные данные. Получатель заранее знает о передаче сообщения и имеет недостающий заголовок Проблема скрытия решается только частично.Необходимо заранее передать часть информации получателю Простота реализации.Многие средства (White Noise Storm, S-Tools), обеспечивают реализацию этого метода с PGP шифроалгоритмом
2. Методы использования избыточности аудио и визуальной информации
2.1. Методы использования избыточности цифровых фотографии, цифрового звука и цифрового видео Младшие разряды цифровых отсчетов содержат очень мало полезной информации. Их заполнение дополнительной информацией практически не влияет на качество восприятия, что и дает возможность скрытия конфиденциальной информации За счет введения дополнительной информации искажаются статистические характеристики цифровых потоков. Для снижения компрометирующих признаков требуется коррекция статистических характеристик Возможность скрытой передачи большого объема информации. Возможность защиты авторского права, скрытого изображения товарной марки, регистрационных номеров и т.п

Как видно из таблицы 1, первое направление основано на использовании специальных свойств компьютерных форматов представления данных, а не на избыточности самих данных. Специальные свойства форматов выбираются с учетом защиты скрываемого сообщения от непосредственного прослушивания, просмотра или прочтения. На основании анализа материалов можно сделать вывод, что основным направлением компьютерной стеганографии является использование избыточности аудио и визуальной информации. Как показывает предварительный анализ, применение стеганографических методов для решения задач, поставленных в ТЗ, принципиально возможно. Однако все проанализированные методы обладают следующими недостатками:

  • Множество возможных реализаций в КС счетно и конечно, что позволяет реализовать атаки простым перебором методов, хотя это требует значительных вычислительных затрат.
  • Не все реализации отвечают требованию возможности аппаратной реализации.

Приложение 1. Вещественный интеграл Фурье. Косинусное преобразование (КП)

Вещественный интеграл Фурье

Приложение 2. Математическое определение прямого ДКП [DCT (FDCT)] и обратного ДКП [DCT (IDCT)]

Ссылка на статью

Список литературы

  1. Грибунин В.Г., Оков И.Н., Туринцев И.В. Цифровая Стеганография. М.: СОЛОН-Пресс, 2002. – 272с.
  2. Rotation scale and translation invariant spread spectrum digital image watermarking. IEEE Int. Conf. on Image Processing, 1998. P. 4.
  3. Pereira S., Joseph J., Deguillaume F. Template Based recovery of Fourier-Based Watermarks Using log-polar and Log-log Maps. IEEE Int. Conf on Multimedia Computing and Systems, 1999. P.5.
  4. Lin Ch-Y., Chang Sh.-F. Distortion Modeling and Invariant Extraction for Digital Image Print-and Scan Process. International Symposium on Multimedia Information Processing, 1999. P. 10.
  5. Lin Ch-Y., Chang Sh.-F. Public Watermarking Surviving General Scaling and Cropping: An Application for Print-and-Scan Process. Multimedia and Security Workshop at ACM Multimedia, 1999.
  6. Pereira S., Thierry P. Fine Robust Template Matching for Affine Resistant Image Watermarks. IEEE Trans. on Image Processing, 1999. - P. 12.
  7. Kutter M. Watermarking Resisting to Translation, Rotation, and Scaling. Signal Processing Laboratory, 1998. P. 10.
  8. Kutter M. Digital Signature of Color Images using Amplitude Modulation. Signal Processing Laboratory, 1997. P. 9.
  9. Herrigel A., Pereira S., Petersen H. Secure Copyright Protection Techniques for Digital Images. International Workshop on Information Hiding, 1998. P. 22.
  10. Ramkumar M. Data Hiding in Multimedia – Theory and Applications. New Jersey Institute of Technolog, 1999. P. 70.
  11. Bender W. Applications for Data Hiding. IBM Systems Journal, 2000. P. 22.
  12. Chae J., Manjunath B. A Robust Data Hiding Technique using Multidimensional Lattices. Proc. IEEE Conference on Advances in Digital Libraries, 1998. P. 8.
  13. Chae J., Manjunath B. A Technique for Image Data Hiding and Reconstruction without Host Image. Proceedings of the SPIE - The International Society for Optical Engineering. 1999, P. 11.
  14. Cuche E., Marquet P., Spatial filtering for zero-order and twin-image elimination in digital off-axis holography. Applied Optics V.39, 2000. P. 4070–4075.