Диплом ЦВЗ (1221233), страница 4
Текст из файла (страница 4)
В настоящее время получает распространение новая версия формата JPEG – JPEG-2000. Одним из существенных улучшений JPEG-2000 является применение более эффективного алгоритма компрессии с потерями – вейвлет-преобразования. Вейвлет-коэффициенты подвергаются квантованию по алгоритму, известному как «иерархическое кодирование блоков с оптимизированным усечением» (EBCOT). Преимуществом EBCOT является то, что он работает с независимыми неперекрывающимися блоками, которые кодируются итеративно. Но данная версия ещё не поддерживается операционными системами семейства Windows и популярными веб-браузерами, что значительно уменьшает её область применения.
Процесс внедрения скрываемой информации в изображения сопоставим с процессом их сжатия. Встраивание информации зачастую осуществляется в незначащие области, для сохранения визуального представления изображения. Оптимальный метод сжатия удалит эту информацию, но современные алгоритмы оставляют достаточно возможностей для реализации различных способов внедрения данных. В стеганографии используется много идей из области компрессии изображений и знание алгоритмов сжатия помогает конструировать робастные к этим алгоритмам ЦВЗ.
3.3 Алгоритмы генерирования и встраивания ЦВЗ в изображения
По способу встраивания ЦВЗ стегоалгоритмы делятся на аддитивные и нелинейные. В алгоритмах аддитивного внедрения информации исходное изображение линейно модифицируется, а при извлечении в декодере используются корреляционные методы. При этом ЦВЗ или складывается с изображением-контейнером, или «вплавляется» в него. Нелинейные методы, в основном, основаны на скалярном и векторном квантовании.
Среди линейных алгоритмов можно выделить алгоритмы скрытия данных в пространственной области и скрытия данных в области преобразования. Нелинейные методы можно разделить на алгоритмы расширения спектра, скалярного и векторного квантования и методы, основанные на фрактальное кодирование.
3.3.1 Скрытие данных в пространственной области
Алгоритмы, относящиеся к этой группе, внедряют ЦВЗ в области исходного изображения. Их достоинством является то, что для внедрения ЦВЗ нет необходимости выполнять вычислительно сложные линейные преобразования.
3.3.1.1 Метод замены наименее значащего бита
Метод замены наименее значащего бита (LSB – Least Significant Bit) – самый распространённый среди методов замены в пространственной области.
Младший значащий бит изображения практически не несет в себе информации, так как человек в большинстве случаев не способен заметить изменений в этом бите. Фактически, НЗБ – это шум, поэтому его можно использовать для встраивания информации путем замены менее значащих битов пикселов изображения битами секретного сообщения. При этом, для изображения в градациях серого (каждый пиксель изображения кодируется одним байтом) объем встроенных данных может составлять 1/8 от общего объема контейнера.
Популярность данного метода обусловлена его простотой и то, что он обладает высокой пропускной способностью.
Перед скрытием текстового файла в контейнере его можно защитить криптографическим кодированием (для этого можно использовать, например, шифр Виженера) [7].
Для того чтобы при распаковке контейнера из полученного множества символов можно было четко определить начало и конец именно скрытого сообщения, целесообразно ввести соответствующие секретные метки, которые ограничивали бы это сообщение [7]. Метки должны состоять из достаточного количества символов, чтобы не принимать за метки символы случайного образования.
Все графические контейнеры условно разделяются на «чистые» и «зашумленные». У первых прослеживается связь между младшими и остальными битами цветовых компонентов, а также зависимость между младшими битами. Встраивание сообщения в «чистое» изображение разрушает существующие зависимости, что довольно легко обнаруживается. Если же изображение изначально зашумлено (сканированное изображение, цифровое фото и т.д.), то определить постороннее вложение становится на порядок сложнее, хотя и возможно при использовании теории вероятностей и математической статистики.
В данной дипломной работе была реализована модификация данного алгоритма, в которой биты сообщения вносятся в синюю компоненту каждого второго пикселя изображения, что повышает скрытность сообщения.
3.3.1.2 Метод Куттера-Джордана-Боссена
Куттер (M. Kutter), Джордан (F. Jordan) и Боссен (F. Bossen) [8] предложили алгоритм встраивания в канал синего цвета изображения, имеющего RGB- кодирование, так как к синему цвету СЧЗ является наименее чувствительной. Рассмотрим алгоритм передачи бита секретной информации в этом методе.
Пусть — бит, который подлежит встраиванию,
— изображение-контейнер,
— псевдослучайный пиксель контейнера, в который выполняется встраивание.
Секретный бит встраивается в канал синего цвета путем модификации яркости
:
,
где — константа, определяющая энергию встраиваемого сигнала, зависящая от назначения стегосистемы. Чем больше
, тем выше устойчивость встроенной информации к искажениям, однако и тем сильнее ее заметность.
Получатель извлекает бит, не имея первичного изображения. Для этого выполняется предсказание значения не модифицированного пикселя на основе значений соседних пикселей. Для получения оценки пикселя предложено использовать значение соседних пикселей. Авторы использовали “крест” пикселей размером 7x7. Оценка получается в виде
где
— количество пикселей сверху (снизу, слева, справа) от оцениваемого пикселя (в случае креста 7x7
= 3).
При извлечении встроенного бита вычисляется разница между текущим (
и предсказываемым
значениями интенсивности пикселя
.
Знак будет означать встроенный бит: если
< 0, то
; если
> 0, то
= 1.
Функции встраивания и извлечения в данном методе не симметричны, то есть, функция извлечения не является обратной функцией встраивания. Хотя правильное распознание бита сообщения является далеко не стопроцентным. Для уменьшения вероятности ошибок извлечения в процессе встраивания каждый бит повторяется несколько раз (многократное встраивание). Поскольку при этом каждый бит был встроен раз, то получается
оценок одного бита сообщения. Бит сообщения извлекается как средняя разность реального и оцененного значения интенсивности пикселя в полученном контейнере:
.
Знак этой усредненной разницы и определяет значение встроенного бита.
Данный алгоритм был реализован в программном комплексе дипломной работы с параметрами и
=200. Эти параметры были выбраны для эффективной работы алгоритма со всеми изображениями, но для некоторых изображений количество повторений
может быть уменьшено.
3.3.1.3 Алгоритм PatchWork
В основе алгоритма Patchwork лежит статистический подход [9]. Опишем механизм работы алгоритма.
Псевдослучайным образом на основе ключа выбираются два пикселя изображения. Затем значение яркости одного из них увеличивается на некоторое значение (от 1 до 5), значение яркости другого – уменьшается на то же значение. Далее этот процесс повторяется большое число раз(~10000) и находится сумма значений всех разностей. По значению этой суммы судят о наличии или отсутствии ЦВЗ в изображении.
Введем ряд обозначений. Пусть значения выбираемых на каждом шаге пикселов и
, величина приращения- δ.Тогда сумма разностей значений пикселов
.
Матожидание величины близко к нулю при достаточно большом
. Матожидание величины
будет больше
. Таким образом, в стегодетекторе в соответствии с ключом проверяется значение
и в том случае, если значение значительно отличается от нуля, выносится решение о наличии ЦВЗ [4].
Авторами были предложены улучшения алгоритма для повышения его робастности. Вместо отдельных пикселов предлагается использовать блоки(так называемые patches, откуда и получил название алгоритм). Так как одной из самых распространённых атак является сжатие JPEG, то целесообразно, чтобы спектр ЦВЗ находился в области низких частот. С другой стороны, если характер возможных модификаций стего заранее неизвестен, целесообразно применение сигналов с расширенным спектром. От формы блока зависит невидимость вносимых искажений.
Алгоритм Patchwork является робастным к операциям сжатия изображения, его усечения, изменения контрастности. Основным недостат-ком алгоритма является его неустойчивость к афинным преобразованиям, то есть поворотам, сдвигу и масштабированию. Также стегосистемы, основанные на применении данного алгоритма имеют малую пропускную способность. Так, в базовой версии алгоритма для передачи бита сообщения требуется 20000 пикселей [4].
3.3.2 Скрытие данных в области преобразования
В большинстве методов скрытия данных в изображениях используется декомпозиция контейнера. Среди всех линейных ортогональных преобразований наибольшее распространение в стеганографии получили вейвлет-преобразование и ДКП, что в основном объясняется их успешным применением при сжатии изображений. Кроме того, желательно применять для скрытия данных преобразование изображения, которое используется при его сжатии, что будет способствовать робастности к компрессии изображения. В стандарте JPEG используется ДКП, а в JPEG2000 – вейвлет-преобразование.
Рассмотрим схему работы стегосистемы, осуществляющей вложение ЦВЗ в область преобразования [4]. Изображение разделяется на субполос. К каждой из них и добавляется скрытая информация. В результате обратного преобразования получается модифицированное изображение-контейнер
После проведения компрессии/декомпрессии получается изображение
. Оно подвергается прямому преобразованию, и из каждой субполосы независимо извлекается скрытое сообщение.
Эффективность применения вейвлет-преобразования и ДКП для сжатия изображений объясняется тем, что они хорошо моделируют процесс обработки изображения в СЧЗ, отделяя «значимые» детали от «незначимых»[4]. Их рекомендовано применять в случае активного нарушителя. Действительно, модификация значимых коэффициентов преобразований приведёт к большому искажению изображения.
3.3.2.1 Метод относительной замены величин коэффициентов ДКП (метод Коха и Жао)
Наиболее распространенным методом скрытия информации в частотной области изображения является метод относительной замены величин коэффициентов ДКП, который в свое время описали Кох (Е. Koch) и Жао (J. Zhao) [10].
Дискретное косинусное преобразование имеет вид: (3.1) – для прямого преобразования, (3.2) – для обратного.
Для начала первичное изображение разбивается на блоки размерностью 8x8 пикселей. ДКП применяется к каждому блоку – формула (1), в результате чего получаются матрицы размером 8x8 коэффициентов ДКП, которые зачастую обозначают , где b – номер блока контейнера С, a
– позиция коэффициента в этом блоке. Каждый блок предназначен для скрытия одного бита данных.