Вычислительные технологии
Том 16, № 3, 2011
Построение етегоеиетемы на базе растровых изображений методом перестановок*
Е.Ю. Елтышева1, А. Н. Фионов1,2 1 Сибирский государственный университет 'телекоммуникаций и информатики 2Институт вычислительных технологий СО РАН, Новосибирск, Россия e-mail: a.fionov@ieee.org, Katerina.Artist@yandex.ru
Предлагается метод сокрытия информации в пикселях растрового изображения, записанного в файлах формата BMP, PNG и др., использующих неискажа-ющие методы сжатия. В отличие от известных аналогов данный метод внедряет сообщение в растр путем незначительных перестановок соседних байт яркостей. Проводится RS-анализ разработанного алгоритма и сравнение его с известными аналогами, демонстрирующее преимущество предложенного алгоритма.
Ключевые слова: стеганография, стегоанализ, совершенные етегоеиетемы, LSB-методы, арифметическое кодирование.
Введение
Цель стеганографии состоит в организации передачи секретных данных таким образом, чтобы сам факт передачи был скрыт от всех незаконных получателей. Такую задачу можно решить, встроив секретное сообщение в некоторый контейнер, передача которого не вызывает подозрений, например, в цифровую фотографию. Если никто кроме отправителя не имеет доступ одновременно к пустому и заполненному контейнеру, то выявление наличия скрытой в нем информации может быть непростой задачей. Разработка методов выявления скрытой информации составляет предмет стегоаналнза.
Стегоеиетемы, в которых пустые и заполненные контейнеры подчиняются одному и тому же закону распределения вероятностей (т.е. статистически неразличимы), называют совершенными [1]. В работе [2] впервые предложена простая конструкция совершенной стеганографической системы для сообщений, порожденных вероятностными источниками информации. Методы построения совершенных стегоснстем рассматривались также в [3-5]. Основная идея, использованная при построении таких стегосистем, применяется и в нашем случае, но не для вероятностных источников, а для изображений. Используемый в настоящей работе тип контейнера может иметь внешнее представление в виде файлов форматов BMP, TIFF, PNG, PCX, TGA и др. Эти форматы строятся с применением неиекажающих методов сжатия, полностью сохраняющих все биты изображения, и поэтому между ними существует взаимно-однозначное соответствие (для рассматриваемого типа изображения — RGB 24 бита). В описываемых экспериментах из-за простоты программной обработки используются BMP-файлы, но все результаты автоматически переносятся на случай сохранения изображения в файлах других указанных форматов.
*Работа выполнена в рамках НИР по Государственному контракту № 02.740.11.0396.
Максимальное количество информации, которое можно записать в контейнер при использовании некоторого метода внедрения, можно назвать эмпирической емкостью контейнера. На самом деле эмпирическая емкость определяется не столько контейнером (его подлинная емкость обычно не известна), сколько методом. Наиболее распространенные методы, применимые к растровым изображениям (так называемые методы ЬБВ, встраивающие данные в младшие биты цветовых составляющих), позволяют встроить не более одного бита в один байт файла изображения. Поэтому именно такую емкость установим за 100%, В рассматриваемом методе емкость контейнера определяется в зависимости от особенностей реализации идеи перестановок. Как правило, стегапографи-ческие программы позволяют задать степень заполнения контейнера в виде некоторой доли от его емкости (назовем ее "фактический процент заполнения"). Предполагается, что при малых значениях степени заполнения изображение меньше искажается и факт наличия встроенного сообщения определить труднее.
Первое условие, которое выполняют все стеганографические программы, состоит в том, что искажения, вносимые в контейнер при внедрении сообщения, должны быть незаметны для человека, В предлагаемом методе используется параметр, определяющий степень визуальных искажений. Чем больше значение данного параметра, тем менее заметны искажения изображения, но тем меньше становится и емкость контейнера. Таким образом, в ходе экспериментов устанавливается оптимальное значение параметра, при котором искажения визуально незаметны. Для оценок стойкости метода перестановок к стегоаналнзу мы применяем общеизвестный КБ-анализ [6] как новое наиболее мощное средство выявления скрытой информации с общедоступной программной реализацией, В представленном методе перестановок значения бит не изменяются, незначительно меняется только порядок следования байт, поэтому статистическая структура контейнера практически не нарушается, что подтверждают результаты КЗ-анализа, Вместе с тем данный метод обеспечивает достаточно высокую фактическую емкость. Декодирование встроенной информации происходит за счет установленного порядка следования, который можно задать изначально в качестве секретного ключа. Без измения фактических значений бит гарантируется безошибочное извлечение информации,
В результате проведенных исследований был построен алгоритм внедрения скрытых сообщений в изображения, КБ-анализ на случайной выборке из 800 изображений показал, что при уровне заполнения контейнера около 30 % предложенный алгоритм позволяет скрыть наличие встроенного сообщения в 100 % файлов, т, е, процент обнаружения равен нулю, С дугой стороны, для общедоступных стеганографпческнх программ НГОЕ4РСР и ЗТЕСОТООЬЯ при том же уровне заполнения 30 % ЕБ-анализ обнаружил наличие встроенной информации в 84-100% файлов. Это демонстрирует заметное преимущество разработанного метода перед аналогами. Были также исследованы стегоконтейнеры двух типов — фотографии природных объектов, характеризующиеся плавными переходами яркостей, и фотографии преимущественно искусственных объектов, что позволило выявить ряд особенностей применения предложенного алгоритма,
1. Основные положения
В качестве стегокоптейпера будем рассматривать изображения, представляющие собой матрицу пикселей. Обозначим матрицу исходного изображения размером к х т через Р (здесь к — высота изображения, ми число строк в матрице, т — ширина, или число
столбцов), будем начинать нумерацию элементов с единицы. Для простоты описания считаем, что h и w четные числа.
Строго говоря, каждый элемент изображения содержит значения трех цветовых составляющих (R, G, В), При построении алгоритма исходим из стандартного при обработке изображений предположения о независимости цветовых составляющих и производим над ними одинаковые действия. Поэтому для простоты описания условимся под элементом матрицы P понимать только одну обобщенную цветовую составляющую, определяющую действия над всеми тремя.
Метод перестановок основан на свойстве близости соседних пикселей, которые в типичных изображениях почти одинаковы. Это свойство особенно характерно для изображения природных объектов, в которых нет резких переходов цвета и яркости, в отличие от искусственных объектов, например, черных линий на белом фоне. Но в фотографиях искусственных объектов также имеются свои преимущества — они состоят из однотонных областей, в которых пиксели почти не отличаются друг от друга. Для экспериментов будем использовать только оригинальные BMP-файлы, В данном случае под оригинальными BMP-файлами понимаются фотографии, взятые с цифровой фотокамеры и преобразованные в нужный формат. Преобразования, разрешенные для оригинальных файлов, включают в себя конвертирование в формат BMP с помощью программ Adobe Photoshop либо ACDSeePro3, Такое преобразование необходимо, так как большинство фотокамер записывают файлы в формате JPEG и лишь немногие в форматах TIFF и RAW, Форматы TIFF и RAW являются предпочтительными, поскольку сохраняют более полную информацию об изображении. Допустимо также уменьшение размера изображения с помощью тех же программ. Для полноты эксперимента в тестовые наборы будут входить оригинальные BMP-файлы разных размеров, преобразованные из всех перечисленных выше форматов.
Основываясь на этих рассуждениях, разделим тестовый набор файлов на два типа. Первый тип А — естественный тип фотографий, к которым относятся фотографии с плавным переходом яркостей, преимущественно природных объектов. Например, фотографии в стиле пейзаж, К типу А можно также отнести некоторые фотографии искусственных объектов, если они выглядят размыто, например, фото без вспышки при недостаточном освещении. Второй тип В — искусственный тип фотографий, к которым относятся контрастные фотографии преимущественно искусственных объектов, например, фото страниц цветного журнала, В экспериментальных исследованиях будем использовать два набора тестовых файлов — набор А, содержащий фотографии только А-типа, и набор В, содержащий фотографии только B-типа, Каждый набор содержит 400 изображений. Также будем использовать такие термины, как пустой контейнер и заполненный контейнер. Под пустым контейнером подразумевается файл, не содержащий какой-либо встроенной секретной информации. Заполненный контейнер — такой файл, в который было встроено зашифрованное стойким шифром сообщение с помощью рассматриваемого метода встраивания. Так как зашифрованное сообщение является последовательностью, практически не отличимой от случайной, то в экспериментах его будут имитировать данные, полученные с помощью генераторов псевдослучайных чисел. Основным методом стегоанализа, который будет использован для оценки алгоритма, является метод RS [6]. RS-анализ был предложен Дж. Фридрич, М. Голяном и Р. Дю [7] и считается одним из самых эффективных. Программная реализация была произведена К, Хемпсток с поддержкой авторов настоящей статьи и прошла проверку на корректность, Анализирующая программа выдает количество встроенной информации (L)
в процентах от эмпирической емкости контейнера, которая выечитываетея как при ЬБВ-ветраивании:
Формула (1) означает, что в каждый байт пикселя встраивается один бит информации. По значению Ь можно судить о том, заполнен был контейнер или пуст. Например, в работе [8] установлено, что при Ь > 5% ЕЯ-анализ классифицирует контейнер как заполненный, В применении ЕЯ-анализа будем опираться на эти сведения, В цифровой стеганографии существуют два рода ошибок [9]. Предположим, имеются две гипотезы: Иа — означающая, что контейнер содержит стегосообщение, и противоположная ей гипотеза Ис — означающая, что контейнер "чист" (не содержит встроенной информации), Правило решения заключается в разбиении множества наблюдений на две части так, чтобы сопоставить одну из двух гипотез каждому контейнеру, В этой задаче возможны два типа ошибок: ошибка первого рода, которая заключается в установлении гипотезы Иц, когда стегосообщение отсутствует, и ошибка второго рода, если принято решение Ис при наличии встроенной информации,
2. Первая реализация метода перестановок
Первую реализацию метода перестановок можно отнести к классу ЬБВ-методов, Идея состоит в том, что один из двух различных младших бит в двух пикселях обязательно является текущим битом сообщения и, переставив эти два бита в установленном
Р
ривать элементы г-й строки попарно: (Ргд, Рг,2), (Рг,з, Рг,4), (Рг,5, Рг,б),..., (Рг,™-1, Рг,™)-Обозначим через дг,г младший бит соответствующего элемента Рг,г. Пусть надо встроить сообщение М = (т1,т2,..., тк). Если выполняется условие
то для каждой пары (Рг,г, Рг,г+1) справедливо следующее: дг,г = т.,- или дг,г+1 = т, где т, — текущий встраиваемый бит.
Установив порядок следования бита т, в паре (Рг,г, Рг,г+1), можно встроить его в пару. Для этого достаточно поменять местами дг,г и дг,г+1. Установление порядка подразумевает соглашение о том, что первый или второй бит пары является битом встроенного сообщения. Назовем его главным битом пары. Но просто переставить два младших бита в соответствующих двух байтах было бы неправильно, так как статистические связи между младшими и старшими битами могут нарушиться. Поэтому мы переставим полностью элементы Рг,г и Рг,г+1. Далее будет показано, что такие перестановки практически не нарушают статистическую структуру контейнера. Это значит, что в каждую пару (Рг,г, Рг,г+1) можно встроить один бит информации, В случае дг>г = дг,г+1 (условие (2) не выполняется) пара (Рг,г, Рг,г+1) просто пропускается, и при извлечении информации мы также пропускаем такую пару. Аналогичные действия производятся с
Р
следующем виде:
Сьэв = 3тк бит.
(1)
Ят,г = 0_т,г+1
(2)
Главный бит пары первый:
если дгг = т., то ничего не меняем, если qri+1 = т,, то Рг,г о Рг,г+1.
Главный бит пары второй:
если qr,i = mj, то Pr,i о Pr,i+1,
если qr,i+1 = mj, то ничего не меняем, (3)
Пример 1. Возьмем некоторый ВМР-файл и рассмотрим три пары элементов г-й P
образуют последовательность (1, 0), (0, 1), (1, 1), Пусть надо встроить сообщение M = (1101), Установим порядок: первый бит будет главным битом пары, В третьей паре условие (2) не выполняется, а первые две пары подходят для встраивания данных, и для них можно применить правила (3), В итоге получаем (241, 246), (239, 248), (205, 187), В результате внедрены первые два бита сообщения.
Как видно, заранее предугадать, в скольких парах будет встроена информация, нельзя, можно лишь утверждать, что это полностью зависит от контейнера.
Рассмотрим возможную попытку противника получить секретные данные, встроенные по описанной схеме. Допустим, он располагает знаниями о данном методе. Чтобы получить данные из контейнера, ему необходимо рассмотреть всего два случая, В первом случае он предположит, что главный бит пары является первым. Тогда он выделит первые биты из всех неравных пар и, возможно, получит зашифрованные данные. Во втором случае противник выделит вторые биты из всех неравных пар и также, возможно, получит зашифрованные данные. Для повышения стойкости метода необходимо менять порядок следования главного бита в паре на каждом шаге в соответствии с секретной последовательностью. Реализуется это следующим образом, С помощью того же шифра, которым шифруется встраиваемое сообщение, генерируем секретную псевдослучайную битовую последовательность (точно такая же последовательность в дальнейшем может быть получена законным получателем сообщения, знающим секретный ключ), Обозначим эту последовательность через z = z1, z2, z3,... Элементы последовательности z используются для определения порядка следования бита в паре,
zi = 0 zi = 1
бит. Следовательно, противник, располагая сведениями о методе, но не зная секретной информации, не сможет выделить из контейнера ту часть, которая является зашифрованным сообщением.
Оценим эмпирическую емкость контейнера для первой реализации метода. Напомним, что эмпирическая емкость — это максимальное количество информации, которое можно записать в контейнер при использовании некоторого метода внедрения. Это шн-чит, что в предельном случае во всех парах выполняется условие (2), Тогда эмпирическая емкость будет равна количеству пар в матрице P: C1 = CLSB/2 бит (основываясь на формуле (1)),
Проведем экспериментальное исследование данной реализации. Как указывалось ранее, мы используем два тестовых набора файлов — А-типа (естественный тип) и B-типа (искусственный тип) размером по 400 файлов каждый.
Прежде всего необходимо проверить, насколько перестановки соседних пикселей визуально искажают изображение. Ясно: чем больше разница в яркости соседних пикселей, которые переставляются, т.е. |Pr,i — Pr,i+1|, тем более визуально исказится такой фрагмент изображения. Поэтому, чтобы оценить искажения в предельно худшем случае, для данного эксперимента возьмем такое изображение, на котором имеются резкие переходы яркости. Пусть это будет типичное изображение набора В, Здесь не приводятся примеры изображений, так как качество печати не позволяет рассмотреть детали,
важные при исследовании метода. Изучая изображения на широкоформатном экране монитора, мы пришли к следующему результату. На первый взгляд изображения до и после встраивания не отличить. Вместе с тем при детальном рассмотрении увеличенных фрагментов изображения на границах цветовых областей с явным переходом яркости заметны искажения. Решение этой проблемы заключается в том, что необходимо задать условие, ограничивающее перестановки, влекущие за собой искажения:
| Рг,г - Рг,г+11< д, (4)
где д — порог искажений, значение которого выбирается экспериментально. На том же тестовом изображении будем уменьшать порог д до тех пор, пока не исчезнут визуальные искажения. Здесь играет роль одно из низкоуровневых свойств человеческого зрения [9], В табл. 1 показаны результаты визуального исследования тестового изображения после встраивания информации при различных значениях д. Размеры данного тестового изображения т = 1024, к = 768, Максимальная емкость, относительно которой будем оценивать процент заполнения контейнера, С^в = 3тк = 2 359 296 бит = 288 Кбайт. Эмпирическая емкоеть метода С1 = С^в/2 = 144 Кбайт, Как видно из таблицы, чем меньше значение параметра д, тем меньше информации помещается в контейнер и тем в меньшей мере искажено изображение. По результатам эксперимента можно установить д = 3, В табл. 1 приведены также данные аналогичных исследований для типичного изображения А-типа (естественный тип).
Наглядно зависимость средней фактической емкости контейнера от значения параметра д приведена на рис, 1, Графики построены для изображений, которые анализировались в табл. 1, При оценке емкости на графике за 100 % принималась эмпирическая емкость данного метода С1. Из приведенных кривых видно, что при увеличении параметра д заполнение контейнера стремится к 50% (относительно емкости С1), Значит
Таблица 1. Исследование тестового изображения В- и А-типа после встраивания информации согласно первой реализации метода перестановок
(1 Искажение изображения после встраивания Заполнение контейнера, %
Изображения В-типа
2-3 Не наблюдается 13
4-5 При внимательном изучении некоторых фрагментов заметны трудноуловимые искажения 19
6-8 При внимательном изучении некоторых фрагментов заметны искажения 22
9-255 При рассмотрении некоторых фрагментов заметны искажения 23-25
Изображения А-типа
2-5 Не наблюдается 11
6-8 При внимательном изучении некоторых фрагментов заметны трудноуловимые искажения 19
9-10 При внимательном изучении некоторых фрагментов заметны искажения 22
11-255 При рассмотрении некоторых фрагментов заметны искажения 23-25
60
^ 50 о?
8 40
о
ч 30
0
1 20 10
о
** ■ М ... »
* * » ■ * *
/ * ш ш ф
/4
— Набор В
- - Набор А
2 3 4 5 6 7 8 9 10 11 12 13 14 15 Порог искажений (I
255
Рис. 1. Зависимость средней емкости контейнера от значения параметра I относительно емкости С1 для первой реализации метода перестановок
половила всех пар в данном контейнере не удовлетворяют условию (2), В дальнейшем будут предложены улучшения данного алгоритма.
Итак, установим значение параметра й =3, так как при таком пороге искажения становятся незаметными па глаз для изображений как А-, так и В-тина и, с другой стороны, достигаемый уровень заполнения составляет 10-12%, что является достаточным, поскольку ПБ-анализ дня аналогов определяет наличие информации в контейнере уже при 5%-м заполнении. Проведем эксперимент но определению среднего процента заполнения контейнеров дня изображений А- и В-тина при данном методе встраивания. В качестве зашифрованного сообщения примем случайные данные. Дня полноты эксперимента в тестовые наборы А и В были включены изображения разных размеров с различной эмпирической емкостью. Процент заполнения каждого контейнера определяется в соответствии с общей эмпирической емкостью Сьэв, средний процент заполнения при пороге искажений й =3 для набора А составляет 10%, для набора В — 12%.
Полученные результаты позволяют сделать вывод о том, что изображения тина А более безопасны дня встраивания информации но описанному методу, так как допустимый порог искажений дня контейнеров такого тина немного больше, чем дня тина В. С другой стороны, в изображения тина В помещается в среднем чуть больше информации.
Для извлечения сообщения рассматриваем матрицу Р таким же образом, как при встраивании информации: проверяем очередную пару па выполнение условий (2) и (4) и извлекаем младший бит из первого либо из второго байта нары, что определяется с помощью ключа, о котором говорилось выше.
Оцепим стойкость метода но отношению к стегоанализу. Как уже упоминалось, в пашем случае используется метод ИБ, Сначала оцепим процент возникновения ошибок первого рода дня тестовых наборов (А и В) пустых контейнеров (табл. 2). В таблице указан процент файлов, дня которых анализирующая программа обнаружила встроенную информацию в количестве Ь%. Иначе говоря, 21% файлов для набора А и 5%
Т а б л и ц а 2. ЦБ-анализ на наборе пустых контейнеров
ь 0% 1 4% 5 % и более
Набор А 15% 64% 21%
Набор В 16% 79 % 5%
Таблица 3. И-Б-анализ на наборе контейнеров, заполненных на 10 и 12 % соответственно для наборов А и В, с помощью известных программ
ь 0% 1_4% 5 % и более
НШЕ4РОР, набор А 0% 0% 100%
НШЕ4РОР, набор В 0% 0% 100%
БТЕООТООЬБ, набор А 0% 16% 84%
БТЕООТООЬБ, набор В 0% 0% 100%
Таблица 4. Ий-анализ на наборе контейнеров, заполненных согласно первой реализации метода
ь 0% 1_4% 5 % и более
Набор А 13% 67% 20%
Набор В 23% 73% 4%
для набора В дают ошибку первого рода. Следовательно, фотографии природного типа значительно повышают процент ошибки. Заполним контейнеры наборов А и В случайными данными (имитация зашифрованного сообщения) с помощью общедоступных сте-ганографичееких программ НГОЕ4РСР и ЯТЕСОТООЬЯ, Программа ЯТЕСОТООЬЯ — последовательное 1.ЯВ- заполнение. программа НГОЕ4РСР производит так называемое рассеянное заполнение, когда младшие биты замещаются новой информацией в порядке, определяемом некоторой псевдослучайной последовательностью, С целью сравнения результатов ЕЯ-анализа для разработанного нами метода и известных программ при равных процентах заполнения процент заполнения контейнеров в данном эксперименте был установлен соответственно указанному ранее среднему проценту заполнения, В табл. 3 приведены результаты стегоапализа для контейнеров, заполненных с помощью программ ННЖ ПЧП' и ЯТК(1()Т()()1.Я. Смысл данных такой же, как в предыдущей таблице. Видно, что ЕЯ-анализ обнаруживает наличие встроенной информации в 84100 % случаев. Теперь заполним контейнеры наборов А и В случайными данными (имитация зашифрованного сообщения) согласно первой реализации метода перестановок и подвергнем их ЕЯ-анализу (табл. 4).
Результаты стегоанализа, приведенные в табл. 2 и 4, свидетельствуют о том, что процент обнаружения встроенной информации по предложенному методу практически идентичен проценту файлов, в которых имела место ошибка первого рода. Следовательно, можно утверждать, что метод устойчив к ЕЯ-атаке и может успешно использоваться. Заметим, что средняя фактическая емкость контейнера все-таки мала, что наводит на идеи дальнейшего улучшения алгоритма.
3. Вторая реализация метода перестановок
В предыдущей реализации метода перестановок имеется один недостаток — фактическое среднее количество помещенной информации в контейнер намного меньше эмпирической емкости контейнера. Причина этого заключается в ограничениях (2) и (4). Ограничение (4) так или иначе будет присутствовать во всех реализациях метода перестановок, так как оно обеспечивает отсутствие видимых искажений изображения при встраивании информации. Ограничение (2) рассмотрим более подробно.
Итак, согласно условию (2) перестановки не осуществляются, если младшие биты равны между собой. Но случай, когда младшие биты двух идущих подряд байт оказываются одинаковыми, встречается очень часто, однако случай равенства двух соседних байт встречается редко. Поэтому имеет смысл пересмотреть метод на возможность его модификации.
Во второй реализации метод перестановок оперирует только с байтами. Информация встраивается за счет того, что каждая пара байт упорядочена в прямом или обратном порядке, что может сопоставляться с единичным или нулевым битом соответственно. Таким образом, при рассмотрении пары байт возможны три варианта:
1) Рг,г = Рг,г+1 _ равенство элементов;
2) Рг,г < Рг,г+1 _ элементы расположены в прямом порядке;
3) Рг,г > Рг,г+1 _ элементы расположены в обратном порядке.
Очевидно, что в первом случае пара не может нести информацию, так как, поменяв местами элементы, получим то же самое. Следовательно, в данной реализации метода необходимо ввести условие (5) на перестановки:
Рг,г = Рг,г+1. (5)
Таким образом, встраивание информации в пару, для которой соблюдены условия (2) и (5), осуществляется по нижеследующим правилам (6) и (7), Задан прямой порядок:
при mj = 1:
при mj = 0:
если < Рг,г+ъ то ничего не меняем,
если р.,г > Р-,г+1, ТО Рг,* ^ Рг,г+1,
если р.,г < Р-,г+1, ТО Рг,г ^ Рг,г+1,
если Рг,г > Рг,г+ъ то ничего не меняем, (6)
Задан обратный порядок: mj = 0
mj = 1
если Pri < Pr,j+i, то ничего не меняем, если Pr,i > р,т, то Pr,i о Pr,i+i,
если Pr,i < Pr,j+b то Pr,i о Pr,i+i, если Pri > Pr,i+1, то ничего не меняем, (7)
Пример 2. Возьмем некоторый ВМР-файл и рассмотрим четыре пары элементов г-й строки матрицы P: (241, 244), (248, 248), (205, 187), (189, 190), Пусть надо встроить сообщение M = (1011), Установим прямой порядок следования байт в паре, т.е. будем пользоваться правилом (6), Как было установлено ранее, порог искажений d = 3, Проверим данные пары элементов на выполнение условий (4) и (5), Во второй паре не выполняется условие (5), в третьей паре — условие (4), а первая и третья пары подходят для встраивания данных и для них можно применить правило (7), В итоге получаем (241,244), (248,248), (205,187), (190,189), Встроено два бита сообщения.
Как и при первой реализации метода перестановок, заранее предугадать, в скольких парах будет встроена информация, нельзя, это также зависит от контейнера. Преимущество второй реализации в том, что вероятность встречаемости пары из двух одинаковых байт меньше, чем вероятность встречаемости пары байт, младшие биты которой
совпадают. За счет этого средняя фактическая емкость контейнера повышается несмотря на то, что эмпирическая емкость при первой и второй реализации одинакова, т, е, C2 = Ci = Clsb/2 бит.
Для повышения стойкости метода на каждом шаге в соответствии с секретной последовательностью необходимо менять порядок пары с прямого на обратный и наоборот по той же схеме, что и при первой реализации.
Проведем экспериментальное исследование метода. Вновь используем два тестовых набора файлов — А-типа (естественный тип) и B-типа (искусственный тип) размером по 400 файлов каждый.
Как и ранее, мы должны проверить, насколько данная реализация визуально искажает изображение. Порог искажений d по сути должен быть одинаковым для всех реализаций метода перестановок. Однако чем больше информации встраивается в изображение, тем больше искажений получится в итоге. Рассматриваемая реализация позволяет встроить больше информации, чем первая, поэтому необходимо проверить на практике, действительно ли значение d =3 применимо в данном случае метода перестановок. Для эксперимента возьмем то же изображение, которое было использовано при анализе порога для первого метода. Как было указано, максимальная и эмпирическая емкости остаются прежними — 288 и 144 Кбайт соответственно. Результаты приведены
d
как и для первой реализации.
d
приведена на рис. 2. Графики построены для изображений, которые анализировались в табл. 5. При оценке емкости за 100 % принималась эмпирическая емкость данного метода C2. Из приведенных кривых видно, что при увеличении параметра d заполнение контейнера стремится к 100 %, но этой величины не достигает, так как в среднестатистическом изображении обязательно найдутся пары, в которых не выполняется условие (5).
Таблица 5. Исследование тестового изображения В- и A-тииа после встраивания информации вторым методом
d Искажение изображения после встраивания Заполнение контейнера, %
Изображения В-типа
2-3 Не наблюдается 18
4 При внимательном изучении некоторых фрагментов заметны трудноуловимые искажения 28
5-6 При внимательном изучении некоторых фрагментов заметны искажения 33
7-255 При рассмотрении некоторых фрагментов заметны искажения 36-43
Изображения А-типа
2-5 Не наблюдается 14
6 При внимательном изучении некоторых фрагментов заметны трудноуловимые искажения 29
7-8 При внимательном изучении некоторых фрагментов заметны искажения 34
9-255 При рассмотрении некоторых фрагментов заметны искажения 37-46
— Набор В -- Набор А
255
Рис. 2. Зависимость средней емкости контейнера от значения параметра й относительно емкости С2 для второй реализации метода перестановок
Итак, значение параметра й установим опять равным 3, поскольку при таком пороге искажения становятся незаметными па глаз для изображений как А-, так и В-типа, Это свидетельствует о том, что при первой и второй реализациях метода перестановок порог искажения остается неизменным.
Проведем эксперимент но определению среднего процента заполнения контейнеров дня изображений А- и В-типа. В качестве зашифрованного сообщения примем случайные данные. Дня полноты эксперимента в тестовые наборы А и В были включены изображения разных размеров с различной эмпирической емкостью. Процент заполнения каждого контейнера определяется в соответствии с общей эмпирической емкостью Сьэв средние значения при установленном пороге искажений й =3 для наборов А и В составляют соответственно 16 и 19% .
Из полученных результатов следует, что изображения тина А более безопасны дня встраивания информации но описанной реализации, так как допустимый порог искажений дня контейнеров такого тина немного больше, чем дня изображений тина В. С другой стороны, в изображения тина В помещается в среднем чуть больше информации.
Оцепим устойчивость второй реализации метода к стегоанализу. Процент появления ошибок первого рода дня тестовых наборов (А и В) был получен ранее и приведен в табл. 2, где показано, что 21% файлов дня набора А и 5% дня набора В дают ошибку первого рода. Заполним контейнеры наборов А и В случайными данными (имитация зашифрованного сообщения) с помощью общедоступных стегапографических программ НГОЕ4РСР и БТЕСОТООЬБ, Чтобы сравнить результаты ПБ-анализа для разработанного нами метода и указанных программ при равных заполнениях, процент заполнения контейнеров в эксперименте установим соответственно указанному ранее среднему проценту заполнения. В табл. 6 приведены результаты стегоанализа дня контейнеров, заполненных с помощью программ НГОЕ4РСР и БТЕСОТООЬБ, Смысл данных такой же, как в табл. 2. Из приведенных данных видно, что ПБ-анализ обнаруживает наличие встроенной информации в 100% случаев.
Заполним контейнеры наборов А и В случайными данными (имитация зашифрованного сообщения) но второй реализации рассматриваемого метода и также проведем ИЗ-апализ (табл. 7, смысл данных тот же, что в предыдущих таблицах).
Результаты стегоанализа, приведенные в табл. 2 и 7, показывают, что процент обнаружения встроенной информации во второй реализации метода практически идентичен
Таблица 6. И-Б-анализ на наборе контейнеров, заполненных на 16 и 19 % соответственно для наборов А и В с помощью известных программ
ь 0% 1_4% 5 % и более
НШЕ4РОР, набор А 0% 0% 100%
НШЕ4РОР, набор В 0% 0% 100%
БТЕООТООЬБ, набор А 0% 6% 94%
БТЕООТООЬБ, набор В 0% 0% 100%
Таблица 7. 11Б-анализ на наборе контейнеров, заполненных согласно второй реализации
ь 0% 1_4% 5 % и более
Набор А 14% 65% 21%
Набор В 21% 75% 4%
проценту файлов, в которых имела место ошибка первого рода. Это значит, что в данном случае HS-aiia.ni ! не обнаружил скрытой информации в контейнерах. Заметим, что во второй реализации метода перестановок удалось увеличить емкость контейнера, Дальнейшие улучшения алгоритма возможны при рассмотрении перестановок не в парах пикселей, а в отдельных группах с помощью известных методов комбинаторики.
4. Третья реализация метода перестановок
Р
контейнера С2 = Сьэв/2, т.е. 1/2 бита на один байт. На практике результат был меньше установленного максимума и полностью зависел от особенностей контейнера, В сле-
Р
группами из п элементов и обращаться к комбинаторике. Перестановками называют комбинации из п различных элементов, отличающиеся только порядком расположения элементов. Известно, что число всех возможных перестановок
Рп = п! (8)
Идея заключается в том, что каждой из п! комбинаций можно сопоставить кодовый символ. Другими словами, мы имеем дело с задачей нумерации перестановок.
Чтобы обеспечить безошибочное декодирование, перестановки необходимо генерировать в лексикографическом порядке, т, е, самая первая комбинация всегда будет являть-
п
вполне возможны повторения. Число всех возможных перестановок с повторениями равно
п!
Р(п1,п2,...,пк) = ——--г, (9)
п1!п2!.. .Пк!
где п1 + п2 + ... + пк = п, пк — количество вхождений к-го элемента. Итак, первым условием в данном случае будет следующее:
Р(пьп2,... ,пк) > 1. (10)
Это значит, что группа, в которой не выполняется условие (10), остается без изменений в файле. При декодировании такие пары также пропускаются.
Второе условие для каждой группы пикселей будет накладывать ограничения на искажения при встраивании информации:
|Р — Р,|< д для всех г,^ = 1,...,п (г = ]). (11)
Это условие аналогично условию (4) и обеспечивает отсутствие визуальных искажений при использовании метода перестановок при заданном пороговом значении Как было установлено ранее, д =3,
Далее, если группа удовлетворяет условиям (10) и (11), то для нее формируется алфавит кодовых символов А = {1,..., т}, где т = Р(п1, п2,..., пк), т. е. каждый кодовый символ сопоставлен с определенной комбинацией группы. Комбинации генерируются строго в лексикографическом порядке и кодовый символ 1 всегда соответствует группе, упорядоченной в прямом порядке. Затем сформированный алфавит поступает на вход арифметического декодера, В описываемой реализации метода все символы алфавита являются равновероятными для каждой группы. Арифметическому декодеру указывается распределение вероятностей для выходных символов, в соответствии с которым он воспроизводит (декодирует) этот символ, рассматривая зашифрованное сообщение как код, построенный ранее соответствующим арифметическим кодером. Полученный символ на выходе арифметического декодера определяет номер перестановки для текущей группы. Чтобы восстановить зашифрованное сообщение из его кода, требуется, наоборот, применить арифметический кодер, которому указываются те же распределения вероятностей, что и декодеру. Таким образом, арифметическому кодеру подается на вход соответственный номер перестановки очередной группы, удовлетворяющей условиям (10) и (11), в результате чего на выходе получается декодированное сообщение. Наглядная схема третьей реализации метода приведена на рис, 3,
Поясним на примере, каким образом происходит нумерация перестановок. Возьмем произвольную группу из трех байт: 34, 32, 35, В ней не встречаются повторяющиеся элементы, поэтому количество всех возможных перестановок будет 3! = 6, Следовательно, условие (10) выполняется. Эта группа также удовлетворяет условию (11) при установленном параметре д = 3. Таким образом, мы имеем алфавит А = {1, 2, 3, 4, 5, 6} с вероятностями (1/6, 1/6, 1/6, 1/6, 1/6, 1/6) и передаем эти данные арифметическо-
п
результате работы декодера был получен символ 5, Далее мы должны заменить имеющуюся комбинацию (группу) на пятую по порядку комбинацию. Во-первых, необходимо упорядочить имеющуюся группу, установив таким образом первую комбинацию. Затем выводим в лексикографическом порядке комбинации до пятой: (32, 34, 35), (32, 35, 34), (34, 32, 35), (34, 35, 32), (35, 32, 34), Итак, текущую рабочую группу байт (34, 32, 35) заменяем пятой комбинацией (35, 32, 34),
Рассмотрим пример с группой, имеющей повторяющиеся элементы. Пусть дана группа из трех байт: 33, 35, 33, В ней два различных элемента (к = 2), п1 = 2, п2 = 1,
3!
В соответствии с (10) получаем Р(2д) = ^ууу = 3, следовательно, условие (10) выполняется, Данная группа также удовлетворяет условию (11) при установленном параметре д = 3. Таким образом, имеем алфавит А = {1, 2, 3} с вероятностями (1/3, 1/3, 1/3) и передаем эти данные арифметическому декодеру. Допустим, в результате работы декодера получен символ 2, Далее мы должны заменить имеющуюся комбинацию (группу) на вторую по порядку комбинацию. Прежде всего необходимо упорядочить имеющуюся группу, установив таким образом первую комбинацию. Затем выводим в лексикографи-
а
б
Рис. 3. Преобразование группы пикселей нри внедрении (а) и извлечении (б) сообщения путем третьей реализации метода перестановок
чееком порядке комбинации до второй (33, 33, 35), (33, 35, 33). Итак, текущую рабочую группу байт (33, 35, 33) заменяем второй комбинацией (33, 35, 33). Таким образом, реализовался лучший случай, когда нужная нам комбинация совпала с изначальной группой, в результате чего группа осталась прежней, по информация была внедрена.
Проанализируем процесс извлечения информации из контейнера. Согласно схеме, представленной па рис. 3, б, рассматриваем матрицу но группам в том же порядке, что и при встраивании информации. Допустим, поступила текущая группа из трех байт: (12, 11, 15). В данной группе не встречаются повторяющиеся элементы, поэтому количество всех возможных перестановок будет 3! = 6. Следовательно, условие (10) выполняется. Данная группа также удовлетворяет условию (11) при установленном параметре й =3. Таким образом, выяснено, что в данную группу была встроена информация. Теперь необходимо передать арифметическому кодеру следующую информацию: алфавит, распределение вероятностей символов алфавита и помер перестановки. Мы имеем алфавит А = {1, 2, 3, 4, 5, 6} с вероятностями (1/6, 1/6, 1/6, 1/6, 1/6, 1/6). Определим помер перестановки, соответствующий данной группе. Во-первых, упорядочим имеющуюся группу, установив таким образом первую комбинацию. Затем выводим комбинации в лексикографическом порядке до тех пор, пока одна из них не совпадет с текущей группой: (11, 12, 15), (11, 15, 12), (12, 11, 15). Итак, третья по счету комбинация совпала с текущей группой байт. Подаем па вход арифметическому кодеру полученную информацию и тем самым извлекаем секретное сообщение.
Дня повышения стойкости метода необходимо менять лексикографический порядок комбинаций с прямого па обратный и наоборот па каждом шаге в соответствии с секретной последовательностью. Выполняется это но той же схеме, что и в предыдущих реализациях метода перестановок.
Остановимся подробней на том, каким образом происходит разбиение матрицы P на группы. Количество групп в матрице вычисляется по формуле
Kg = (3wh)/n, (12)
где w — количество столбцов в матрице, h — количество строк в матрице, n — размер группы, В каждую группу можно встроить максимум log n! бит. Ясно: чем больше размер группы, тем выше емкость контейнера. Эмпирическая емкость метода определяется на основе формул (1) и (12) следующим образом:
СП = Kg ■ logn! = Clsb/п ■ logn!. (13)
n
log n! ~ n ■ log n. (14)
n
СП « Clsb ■ log n. (15)
Заметим — это максимальное значение количества информации, которое можно встроить при допущениях о том, что каждая группа удовлетворяет условиям (10) и (11) и не имеет повторяющихся элементов. На практике такой случай возможен только при создании контейнера искусственно, В обычных контейнерах с возрастанием размера группы увеличивается и вероятность того, что такая группа не будет удовлетворять условиям (10) и (11) и будет содержать повторяющиеся элементы, что существенно уменьшит фактическую емкость. Поэтому необходимо экспериментально определить оптимальный размер группы. Для данного эксперимента сформируем группы из пик-P
ный тип) и В-типа (искусственный тип) размером по 400 файлов каждый и установленное пороговое значение d = 3, Проведем эксперимент по определению среднего процента заполнения контейнеров для изображений А- и B-тииа при разных значе-n
заполнения каждого контейнера определяется в соответствии с общей эмпирической емкостью CLSB, средние значения приводятся в табл. 8 при установленном пороге искажений d =3, Рассмотрим подробнее схемы формирования групп. Линейная схема самая простая: элементы берутся по порядку их следования в строке. Например, при n = 3 группы будут следующими: (Pi,i, Pi,2, Pi,3), (Pi,4, Pi,5, Pi,б) и т.д. Группы в форме квадратов формируются соответственно указанному размеру. Например, квадраты 2 х 2: (P^, Pi2, P2,i, P2,2) (Pm, Pi,4, P2,3, P2,4) и т.д. Группы в форме треугольников при n = 3 формируются следующим образом: (P2,i, P^, P^), (P2,2, P2,3, P^3) и т.д.
Таблица 8. Средний процент заполнения контейнеров (третья реализация метода)
п Схема формирования группы Тестовый набор А, % Тестовый набор В,%
3 Линейно, из идущих подряд пикселей 28 34
4 Линейно, из идущих подряд пикселей 27 34
3 В форме треугольников 18 20
4 В форме квадратов 2x2 23 32
Таблица 9. И-Б-анализ на наборах контейнеров А и В, заполненных на 28 и 34% соответственно, с помощью известных программ
ь 0% 1-4 % 5 % и более
НШЕ4РОР, набор А 0% 0% 100%
НШЕ4РОР, набор В 0% 0% 100%
БТЕООТООЬБ, набор А 0% 3% 97%
БТЕООТООЬБ, набор В 0% 0% 100%
Таблица 10. И-Б-анализ на наборах контейнеров А и В, заполненных согласно третьей реализации
ь 0% 1_4% 5 % и более
Набор А 15% 65% 20%
Набор В 15% 75% 10%
Таблица 11. Сводная таблица результатов ГШ-анализа (три реализации метода перестановок)
Ь 0% 1-4 % 5 % и более
Набор А. Ошибка первого рода 15% 64% 21%
Набор А. Первая реализация (10%) 13% 67% 20%
Набор А. Вторая реализация (16%) 14% 65% 21%
Набор А. Третья реализация (28 %) 15% 65% 20%
Набор В. Ошибка первого рода 16% 79% 5%
Набор В. Первая реализация (12%) 23% 73% 4%
Набор В. Вторая реализация (19%) 21% 75% 4%
Набор В. Третья реализация (34%) 21% 75% 4%
Итак, с помощью нумерации перестановок мы увеличили среднюю емкость контейнеров, сохраняя допустимый порог искажений. Из данных табл. 8 следует, что увеличение размера группы не приводит к лучшим результатам и при линейном порядке формирования группы целесообразно установить п = 3.
Оценим стойкость третьей реализации метода к етегоанализу. Процент возникновения ошибок первого рода для тестовых наборов (А и В) был приведен в табл. 2, где показано, что 21 % файлов для набора А и 5 % для набора В дают ошибку первого рода. Заполним контейнеры наборов А и В случайными данными с помощью общедоступных стеганографических программ НГОЕ4РСР и ЗТЕСОТООЬЗ. Процент заполнения контейнеров, как и в оценке предыдущих реализаций, был установлен соответственно указанному среднему проценту заполнения с целью сравнения результатов КБ-анализа для разработанного метода и указанных программ при равных процентах заполнения. В табл. 9 приведены результаты стегоанализа для контейнеров, заполненных с помощью программ НГОЕ4РСР и ЗТЕСОТООЬЗ. Смысл данных такой же, как в табл. 2. Из табл. 9 видно, что КБ-анализ обнаруживает наличие встроенной информации в 100% случаев.
Заполним контейнеры наборов А и В случайными данными согласно третьей реализации и оценим результаты КБ-анализа (табл. 10). Из данных табл. 2 и 10 следует, что процент обнаружения встроенной информации согласно третьей реализации метода
перестановок приблизительно равен проценту файлов, в которых имела место ошибка первого рода, что свидетельствует о стойкости данной реализации к RS-атаке, Таким образом, при уровне внедрения информации до 34% от емкости заполненного контейнера последний не удается надежно отличить от пустого. Сравнение результатов сте-гоанализа трех реализаций метода перестановок, приведенное в табл. 11, показывают преимущества разработанного метода над известными аналогами.
Список литературы
fl] Cachin С. An information-theoretic model of steganographv // Lecture Notes in Computer Science (Proc. 2nd Information Hiding Workshop). Springer-Verlag, 1998. Vol. 1525. P. 306-318.
[2] Ryabko В., Ryabko D. Information-theoretic approach to steganographic systems // IEEE Intern. Svmp. on Information Theory. Nice, France, 2007. P. 2461-2464.
[3] Fionov A., Ryabko B. Simple ideal steganographic systems for containers with known statistics //XI Intern. Svmp. on Problems of Redundancy. St .-Petersburg, 2007. P. 184-188.
[4] Рявко Б.Я., Фионов А.Н. Алгоритмы кодирования для идеальных стеганографических систем // Вестник НГУ. Информ. технологии. 2008. № 2. С. 88-93.
[5] Hoshi М.. Han T.S. Interval algorithm for homophonic coding // IEEE Trans. Inform. Theory. 2001. Vol. 47. P. 1021-1031.
[6] Рявко Б.Я., Рявко Д.Б. Асимптотически оптимальные совершенные стеганографиче-ские системы // Проблемы передачи информации. 2009. Т. 45, вып. 2. С. 119-126.
[7] Fridrich J., Goljan \!.. Du R. Reliable detection of LSB steganographv in color and grayscale images // Proc. of the ACM Workshop on Multimedia and Security. Ottawa, Canada, 2001. P. 27-30.
[8] Жилкин М.Ю. Теоретико-информационные методы стегоанализа графических данных. Дисс. ... канд. техн. наук. Новосибирск, СибГУТИ, 2009.
[9] Гривунин В.Г., Оков И.Н., Туринцев И.В. Цифровая стеганография. М.: Солон-Пресс, 2002. 272 с.
Поступила в редакцию 13 ноября 2010 г., с доработки —11 января 2011 г.