Доклады Б ГУ ИР
2004 ОКТЯБРЬ-ДЕКАБРЬ № 4
ИНФОРМАТИКА
УДК 681.3:519.246
СИСТЕМА СКРЫТОЙ ПЕРЕДАЧИ ЦИФРОВЫХ ПОЛУТОНОВЫХ ИЗОБРАЖЕНИЙ НА БАЗЕ КОМПЛЕКСНОГО ПРЕОБРАЗОВАНИЯ ВИЮКЕ
И.А. РЕЗНИК, Р.Х. САДЫХОВ
Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь;
Объединенный институт проблем информатики HAH Беларуси Сурганова 6, Минск, 220072, Беларусь
Поступила в редакцию 16 августа 2004
В данной работе рассмотрена система скрытой передачи информации. Предложен модифицированный алгоритм сокрытия полутоновых изображений в полутоновых картинках. Сте-ганографическая система основана на модели двумерного пространственного коррелятора в базисе комплексного преобразования BIFORE. В качестве функции фильтра данного коррелятора используется секретный ключ. Рассмотрены вопросы эффективности, устойчивости, точности и быстродействия предложенного метода.
Ключевые слова: стеганография, сокрытие информации, комплексное преобразование BIFORE.
Введение
Одним из способов защиты от несанкционированного доступа к конфиденциальным данным является сокрытие информации.
В силу того что в последнее время резко возрос объем информации, передаваемой в глобальных сетях общего пользования и требующей авторизованного доступа, все большее развитие и распространение получают компьютерные стеганографические системы. Стеганография — наука о сокрытии самого факта наличия секретной информации. Достаточно активно ведутся работы в области цифровой стеганографии. Основные задачи цифровой стеганографии — изучение и разработка методов встраивания одних данных в другие с применением методов цифровой обработки сигналов. Основные направления стеганографии [2]: внедрение водяных знаков (watermarking), встраивание заголовков (captioning), идентификационных номеров, а также скрытая передача информации.
В данной работе предлагается система скрытой передачи полутоновых изображений в полутоновых цифровых картинках. Рассмотрим основные понятия предложенной стеганогра-фической системы. Скрытое изображение — полутоновое изображение, требующее защиты от несанкционированного доступа к нему. Изображение-контейнер - полутоновое изображение, в которое встраивается скрытое. Стего-изображение - контейнер с внедренной в него скрытой картинкой. Секретный ключ — ключевая функция, при помощи которой встраивается и извлекается скрытое изображение. Стего-система должна позволять незаметно для невооруженного глаза встраивать скрываемую информацию в контейнер и извлекать ее оттуда. Из самого определения стего-системы следует, что стего-изображение должно незначительно отличаться
от изображения-контейнера. Для этого используется визуальная избыточность формата хранения графической информации.
Также следует отметить, что в последнее время в системах информационной безопасности активно внедряются методы и алгоритмы, заимствованные из оптических технологий [3, 79]. Использование оптических технологий предоставляет в основном два типа преимуществ: 1) возможность параллельной обработки информации; 2) сокрытие информации может осуществляться как в пространственном домене, так и в Фурье домене, что предоставляет отличные возможности для кодирования информации [6].
В силу всех вышеперечисленных факторов в качестве ядра нашей стеганографической системы выбрана цифровая модель двумерного пространственного коррелятора [1]. На основе данного коррелятора разработан метод, позволяющий внедрять скрытое изображение в изображение-контейнер и извлекать его из стего-изображения с минимальными потерями качества, затрачивая на эти операции достаточно мало времени. В отличие от классического пространственного коррелятора, вычисление корреляций в котором основаны на комплексном преобразовании Фурье (КПФ), в предлагаемой стего-системе используется пространственный коррелятор в базисе комплексного преобразования ВШСЖЕ (КПБ). Выбор данного комплексного преобразования обусловлен более высокой вычислительной скоростью по сравнению
В качестве пространственного фильтра рассматриваемого коррелятора используется ключевая функция (секретный ключ стего-системы).
Понятие двоичного представления Фурье или BIFORE (Binary FOurier REpresentation) было введено в работе [10]. Также в литературе данное преобразование упоминается как преобразование Адамара или Уолша-Адамара.
Комплексное преобразование BIFORE (КПБ) относится к семейству дискретных ортогональных преобразований [11]. В отличие от преобразования Фурье, базисом которого является набор синусоид с частотами гармоник, преобразование Адамара базируется на функциях Уолша [12]. Так как функции Уолша — прямоугольные колебания, они принимают только два значения "-1" и "+1". Сравнительная простота прямоугольных колебаний по отношению к синусоидам позволяет относительно легко обрабатывать информацию. КПБ наиболее пригодно для обработки комплексных информационных функций, а также обеспечивает определенные выгоды, связанные с методом вычислений [13]. В силу всех этих факторов выбор комплексного преобразования для вычисления корреляций в нашей работе был остановлен на КПБ.
Рассмотрим подробнее КПБ. Квантование функций Уолша, соответствующих синусоидам Фурье, в N выборочных точках на интервале (0;1) дает в результате двумерный массив размера NxN, состоящий из "-1" и "+1". Строки массива, полученного таким способом, могут быть перегруппированы к частному виду матрицы Адамара — Н(н), где N = 2" [12]. Например, для п = 3:
с КПФ.
Комплексное преобразование BIFORE
(1)
Нетрудно заметить, что матрица Адамара любого порядка может быть рекурсивно сгенерирована следующим образом:
[Я(0)]=[1]
[Н(к +1)] =
\Н(к)} [Н(к)\' [Н{к)\ ~[Н{к)\
(2)
Для комплексного случая матрицы преобразования генерируются следующим образом [14]:
И<>)]=1
[М(1)Н#(1)]
[М(п-1)] _[Ц1)]®[Я(#1-2)]
(3)
[М{п)\-
[М(п-1)] [Щ)]®[Н{п-2)]_
где 0 обозначает кронекеровское произведение, а [¿(1)] =
1 -г 1 /
Таким образом, КПБ функции х(п) и его обратное преобразование (ОКПБ) соответственно определяются как
{Х(п)} = ^[М(п)]{х{п)}, {х(п)}=[М*(п)] {Х{п)},
(4)
(5)
где операция * обозначает комплексное сопряжение матрицы, а Т — транспонирование матрицы. Сигнальные графы КПБ и ОКПБ для случая п = 3 приводятся на рис. 1 и 2 соответственно.
Для вычисления КПБ требуется выполнить N • log2 N арифметических операций, причем каждая операция представляет собой комплексное сложение. Как известно, для вычисления КПФ также требуется N ■ log2 N арифметических операций, но поскольку в качестве базиса преобразования используется набор синусоид Фурье, каждая арифметическая операция помимо комплексного сложения включает в себя еще и умножение, что значительно замедляет алгоритм быстрого преобразования Фурье по сравнению с быстрым преобразованием ВШОКЕ.
х3<0)—-X 10)
/8
■X (I)
I /8
*3(2)-=-X 12)
Х3(3}-
/8
■х (3)
I { Я
Х3(5)-X 15)
I / 8
Х3(6>-X (6)
I I в
-*-X (7)
-I ( <-
Рис. 1. Сигнальный граф, отображающий КПБ для п = 3
^ *■ ^ X
Х2(0) Х2(1) х2(2)
г(3) Хг(4)
X (О)
х (!)
X С2) X (31 X (4) X (5) X (6)
-I -I Х{?1
Рис. 2. Сигнальный граф, отображающий ОКПБ для п = 3
Двумерный пространственный коррелятор в базисе КПБ
Двумерный пространственный коррелятор описывается тремя плоскостями: входной, пространственно-частотной и выходной. Изображение-контейнер обозначается с(х,у) и рассматривается во входной плоскости коррелятора. Скрываемое изображение обозначается И(х,у) и рассматривается в выходной плоскости. Также определяется функция фильтра К(и,у), которая ссылается на ключевую функцию и отображается в пространственно-частотной плоскости. В целях стабильности алгоритма К(и, V) — чисто-фазовая функция вида К(и,у) = е"1''"'1'-1. Где ф(г/, у) — случайная функция, равномерно распределенная на интервале (-71,71) [4].
Входная плоскость коррелятора описывается комплексной функцией а(х, у), амплитуда которой равна функции контейнера с(х,у), а фаза обозначается функцией 6(х,_>'), те. а(х, у) — с(х, у)е'в(х'у>. Требуется найти такую функцию 9(х, у), чтобы, пропустив через коррелятор функцию а(х, у), получить на выходе комплексную функцию с амплитудой, равной скрытому изображению И(х, у) .
Обозначим комплексную функцию, описывающую выходную плоскость коррелятора Ь(х,у), тогда Ь(х,у) = И{х,у)е'^х'у), где ф(х, у) — фаза выходной функции. Следовательно, выходную корреляционную функцию можно представить в виде
Ь(х,у)=ША [Ш {а(х,у)}К(и,у)1 (6)
где КПБ и ОКПБ - операторы комплексного преобразования ВШОКЕ и обратного комплексного преобразования ВПЮКЕ соответственно. Из уравнения (6) входная функция выражается как
а(х,у)=1Ш [Ё1А {Ъ(х,у)}КХи,у)\ (7)
где К * (и, у) — комплексно-сопряженное К(и, .
Для вычисления фазовой функции 6(х,у) применяется алгоритм ПНМО "проекция на множество ограничений". В работе [4] описана его версия, оптимизированная для работы с корреляциями. Указанный итеративный алгоритм основан на преобразовании между двумя доменами.
В начале алгоритма функция 0(х,у) инициализируется случайным образом. На каждой итерации а(х,у) преобразуется, согласно корреляции, описанной в (6), в выходную функцию Ь(х,у), а затем обратно, согласно корреляции, описанной в (7). На каждой итерации в каждом из доменов полученные функции проецируются на множество ограничений. Во входном домене множество ограничений выражает вероятность получения изображения-контейнера с(х,у) , в выходном — скрываемого изображения И(х,у) .
В выходной плоскости проекция 1\ на множество ограничений на /-й итерации выражается как
(8)
где Ж — окно, содержащее скрытое изображение (оно должно быть меньше размера контейнера [6]). Проекция Р2 на множество ограничений на /-й итерации выражается как
Р2[а](х,у)]=с(х,у)ев^\ (9)
Сходимость алгоритма оценивается среднеквадратичными ошибками, вычисляемыми на каждой итерации при проецировании в обоих доменах [5]. Для выходного домена, согласно (8):
=
1 в
X у
(10)
Для входного домена, согласно (9): 1 ^ 2
X у
где ПхП — размер изображения-контейнера, Ц,- х 1)№ — размер скрытого изображения.
Алгоритм продолжает повторяться до тех пор, пока ошибки еь и еа не станут достаточно малы. Необходимые условия сходимости этих ошибок следующие: Коррелятор должен быть энергетически стабильным.
Из всех функций множества ограничений на /-и итерации Рх и Р2 наиболее точно описывают Л, и а. соответственно.
Доказательство выполнения обоих этих условий представлено в работе [4].
Следует заметить, что функция К(и,у) генерируется один раз в начале итерационного процесса и далее не изменяется. Она является частью коррелятора и никоим образом не зависит от кодируемых изображений. Более того, К(и, V) можно рассматривать как обобщенное среднее между функциями Ъ, и а, .
Алгоритм заканчивается на п-й итерации, когда среднеквадратичные ошибки (10) и (11) снизятся по отношению к среднеквадратичным значениям исходных изображений до некоторого порога (%), Данный порог должен обеспечивать достаточное приближение амплитуды \Ьн(х,у)\ к скрываемому изображению И{х,у), и амплитуды |аи(х,_у)| к с(х,у). Среднеквадратичные значения исходных изображений рассчитываются соответственно как
с*>=—ЕЕ"2
(12)
* У
Схема алгоритма ПНМО представлена на рис. 3.
к (и. V)
(13)
Ых\ у) ■ е
(к
Рис. 3. Схема алгоритма ПНМО
Внедрение скрываемого изображения в контейнер
На первом этапе работы алгоритма производится нормировка размеров, положения и содержимого скрываемого изображения и изображения-контейнера.
Далее скрываемое изображение помещается в выходную плоскость коррелятора, описанного выше, а изображение-контейнер — во входную плоскость. Производится обучение коррелятора. На выходе процесса обучения мы получаем комплексную функцию ап(х,у), описываемую двумя линейными функциями с(х,у) и 0н(х,_)'). где п — количество итераций,
затраченных на обучение. Теперь требуется сформировать на основе этих двух функций стего-изображение.
Пусть т — число бит, требуемых для задания уровня яркости каждого пикселя полутонового изображения. Обозначим Ph(x,y) аппроксимацию функции 0п(х,д>), полученную
квантованием по 2Г уровням (г <т), где г — число бит, отводимых на хранение фазы
Далее стего-изображение Л'(х, j') формируется по следующему алгоритму. Величина яркости каждого пикселя совпадает с величиной яркости полутонового изображения контейнера, за исключением г младших бит. Эти г младших бит заменяются значением функции Ph(x, у) для пикселя с координатами (х, у) . Данное допущение приемлемо, поскольку изменение нескольких младших бит каждого пикселя не вносит заметных искажений в общую картину изображения. Человеческий глаз не может, например, распознать изменение 8-битного тона (256 оттенков), если изменился только самый младший бит. Очевидно, что г должно быть не больше половины т. Количество бит, отводимых на хранение фазы, прямо пропорционально влияет на качество извлекаемого скрытого изображения, но, с другой стороны, обратно пропорционально качеству передаваемого изображения. Следовательно, целесообразно выбирать г пропорционально количеству оттенков, реально используемых в скрытом изображении, и тогда стего-изображение S(x,y) может передаваться по открытым каналам связи.
Извлечение скрытого изображения из стего-изображения
На приемной стороне сначала производится выделение аппроксимированной входной комплексной корреляционной функции. Для этого на основе стего-изображения S(x,y) формируются две функции: Ph(x,y) и с'(х,у). Ph(x,y) —описывается г младшими битами S(x,y), а с'(х,у) — (т-г) старшими. Далее после нормировки Ph(x,y) и с'(х,у), согласно формуле (6), вычисляется выходная корреляционная функция на основе входной функции и ключа:
Ь(х, у) = lEIÄ [illА {с'(х, y)e"'h(x v> }к(и, v)\. (14)
На заключительном этапе производится нормировка амплитуды функции Ъ(х,у) и выделение окна, содержащего скрытое изображение.
Амплитуда полученной функции \b(х.^'^ в определенном приближении совпадает с функцией скрытого изображения h(x,y).
Экспериментальные результаты
Тестирование системы проводилось для трех пар изображений (скрываемое и изображение-контейнер). В качестве контейнера для всех трех случаев использовались полутоновые изображения с 256 уровнями серого (т = 8) размером 256 х 256 пикселей. В качестве скрытого изображения использовались полутоновые изображения с 256 уровнями серого (т = 8) размером 128x128 пикселей.
Обучение коррелятора прекращалось в тот момент, когда суммарная среднеквадратичная ошибка составляла менее 0,1% среднего значения изображения для обеих картинок (12), (13). Алгоритм обучения длился в среднем 10 итераций.
Тестирование проводилось для различного количества бит, отводимых на хранение фазы (параметр г — см. выше). Результаты эксперимента изображены на рис. 4.
а) б) в) г)
Рис. 4 .а — исходные изображения-контейнеры и скрываемые изображения; б — стего-изображения и извлеченные скрытые изображения (г = 2); в — стего-изображения и извлеченные скрытые изображения (г = 3); г — стего-изображения и извлеченные скрытые изображения (г = 4)
Помимо основного эксперимента проводилось тестирование системы на устойчивость к потерям или преднамеренному искажению злоумышленником части информации при передаче стего-изображения. Устойчивость системы проверялась следующим образом: в передаваемом изображении были сымитированы потери части (15 %, 30 % и 45 %) пикселей — область с нулевой интенсивностью. Результат опыта представлен на рис. 5, на котором показаны стего-изображения с потерей части пикселей и извлеченные из них скрытые изображения (количество бит отводимых на хранение фазы г — 4).
а) б) в)
Рис. 5. Стего-изображения и извлеченные скрытые изображения: а — потеря 15 % пикселей; б — потеря 30 % пикселей; в — потеря 45 % пикселей
Также был проведен сравнительный анализ использования для вычисления корреляций КПБ и КПФ. Оба коррелятора обучались до одинакового порога суммарных среднеквадратичных ошибок, равного 0,1 % среднеквадратичных значений изображений. Обучение обоих корреляторов до одинакового порога означает то, что стего-изображения получаются одинакового качества. На обучение коррелятора, основанного на КПБ, было затрачено на 40 % меньше времени, чем на обучение коррелятора, основанного на КПФ.
В ходе экспериментов была определена степень отличия передаваемого стего-изображения от изображения-контейнера и извлекаемого на приемной стороне скрытого изображения от исходного скрываемого изображения. Мера отличия определялась как среднее суммарное различие между всеми пикселями пары изображений. Результаты отображены в таблице.
Степень отличия пар изображений
Пары изображений Количество бит, отводимых на хранение фазы
г= 2 г=Ъ г= 4
Стего-изображение и изображение-контейнер 0,8 % 1,2% 2,1 %
Извлеченное изображение и исходное изображение 19,4% 8,7 % 5,1 %
Выводы
В работе предложена оптимизированная по вычислительной сложности стеганографи-ческая система скрытой передачи полутоновых изображений. Алгоритм внедрения и извлечения основан на модифицированной модели двумерного пространственного коррелятора. Цифровые корреляции основаны на комплексном преобразовании BIFORE. Секретный ключ стего-системы внедрен в коррелятор в виде пространственного фильтра.
Проведены эксперименты для трех пар изображений и различных значений параметра г (количество бит, отводимых на хранение фазы в передаваемом стего-изображении).
Проверена устойчивость алгоритма к потерям или преднамеренной порче части передаваемой информации. Установлено, что изображения распознаваемы даже при потере 30% пикселей стего-изображения.
В результате сравнения КПФ и КПБ показана более высокая скорость обучения коррелятора при использовании КПБ (качество изображений одинаковое).
Рассчитаны такие важные качественные характеристики системы, как степень отличия передаваемого стего-изображения от исходного изображения-контейнера и степень отличия извлеченного скрытого изображения от исходного скрываемого, для различных параметров г . Оптимальное соотношение "качество передаваемого изображения \ качество извлеченного изображения" показано для случая, когда количество бит, отводимых на хранения фазы г = 4 .
Таким образом, предлагаемая стеганографическая система позволяет устойчиво, надежно и незаметно для невооруженного глаза передавать полутоновые изображения, причем в качестве контейнера также используется полутоновое изображение.
THE SYSTEM, BASED ON THE COMPLEX BIFORE TRANSFORM, OF HIDDEN TRANSFER OF THE HALFTONE IMAGES
I.A. REZNIK, R.KH. SADYKHOV Abstract
In the given work the system of the hidden transfer of the information is considered. The modified algorithm of hiding half-tone images in grayscale pictures is offered. The steganografic system is based on model of the two-dimensional spatial correlator in basis of the complex BIFORE transform. As filter function of the given correlator the secret key is used. The problems of efficiency, robustness, accuracy and performance of the suggested method are considered.
Литература
1. ГудменДж. Введение в Фурье-оптику. М, 1970.
2. Грибунин В.Г. Цифровая стеганография. СПб., 2002.
3. Javidi В. II Phys. Today. 1997. Vol. 50, N. 3. P. 27-32.
4. Rosen J. И Opt. Lett. 1993. Vol. 18. P. 1183-1185.
5. Rosen J., Javidi В. И Appl. Opt. 2001. Vol. 40, N. 20.
6. Li Y„ Kreske K„ Rosen J. II Appl. Opt. 2000. Vol. 39. P. 5295-5301.
7. Javidi В., Ahouzi E. II Appl. Opt. 1998. Vol. 37. P. 6247-6255.
8. Javidi В., BernardL„ Towghi N. II Opt. Eng. 1999. Vol. 38/ P. 9-19.
9. KishkS., Javidi В. II Applied Optics. 2002. Vol. 41, No. 26.
10. Ohnsorg F.R. II Spectrum Analysis Techniques Symp., Honeywell Res. Cen., Hopkins, Minn., Sept. 20-21, 1966.
\\. Ахмед H., PaoK.P., Шулъц, IIТИИЭР. 1971. Т. 59, № 9. С. 93-95.
12. AhmedN., Rao K.R., Abdussattar A.L. И IEEE Trans. Audio Electroacoust. 1971. Vol. AU-19. P. 225-234.
13. Pao K.P., Ахмед H. И ТИИЭР. 1972. № 8. С. 106-109.