МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Факультет радиофизики и электроники Кафедра кибернетики СТЕГАНОГРАФИЧЕСКАЯ СИСТЕМА СКРЫТИЯ ДАННЫХ В ОБЛАСТИ ЧАСТОТНЫХ ПРЕОБРАЗОВАНИЙ ИЗОБРАЖЕНИЙ Дипломная работа студента 5 курса РАИКА Георгия Александровича Руководитель: канд. техн. наук, доцент САДОВ В. С. Рецензент: канд. техн. наук, доцент ЧУДОВСКИЙ В. А. Минск, 2007
Цель работы: разработка адаптивного стеганографического алгоритма встраивания информации в графические изображения, сжатые по стандарту JPEG, и его реализация на одном из языков программирования высокого уровня. Кроме адаптивности и стойкости, к алгоритму предъявлены требования устойчивости к сжатию, гибкости относительно встраиваемых объемов, повторности адаптивного анализа для возможности извлечения встроенной информации.
1. АНАЛИЗ ОСНОВНЫЙ ПРИНЦИПОВ И АЛГОРИТМОВ АНАЛИЗ ОСНОВНЫХ ПРИНЦИПОВ СТЕГАНОГРАФИИ ДЕТАЛЬНОЕ ИЗУЧЕНИЕ СВОЙСТВ ЧЕЛОВЕЧЕСКОГО ЗРЕНИЯ И ФОРМАТА СЖАТИЯ JPEG JPEG Standard (JPEG ISO/IEC ITU-T Recommendation T.81) JPEG File Interchange Format. Version 1.02 ИССЛЕДОВАНИЕ СУЩЕСТВУЮЩИХ АЛГОРИТМОВ 1.Алгоритм Коха (Koch) 2.Алгоритм Бенхама (Benham) 3.Алгоритм Подильчука (Podilchuk) 4.Алгоритм Хсу (Hsu) 5.Алгоритм Тао (Tao)
СТАНДАРТ СЖАТИЯ JPEG Матричное дискретное косинусное преобразование (ДКП). Каждая матрица цветового пространств разбивается на блоки размером 8 на 8 пикселей и к ним применяется ДКП YCbCr где P – исходный блок изображения, DCT, DCT T – матрицы ДКП (прямая и транспонированная). Квантование: основной этап сжатия. Каждый элемент полученной матрицы коэффициентов ДКП делится нацело на соответствующий коэффициент матрицы квантования. типичная матрица квантования Шаги квантования для области высоких частот Шаги квантования для области низких частот
2. ИССЛЕДОВАНИЕ ИНФОРМАТИВНОСТИ КОЭФФИЦИЕНТОВ ИЗОБРАЖЕНИЙ Классификация коэффициентов области частотных преобразований по частотепо типу матрицы по характеру неоднородности блока нулевая частота (DC); низкие частоты; средние частоты; высокие частоты; матрица Y; матрица Cb; матрица Cr; однородные; слабо неоднородные; сильно неоднородные; с резким контуром;
Исследования информативности высокочастотных коэффициентов цветовых матриц в слабо неоднородных областях
Результаты исследования информативности коэффициентов ДКП 1.Яркостная матрица более пригодна для встраивания, чем цветовые. 2.Cb-матрица оказалась более пригодной для встраивания, чем Cr- матрица. 3.Наиболее пригодной для встраивания является сильно неоднородная область. 4.Предпочтительным является изменение спектра блока, при котором в спектр не добавляются новые частоты (то есть информация встраивается в ненулевые коэффициенты). 5.Наиболее пригодными являются коэффициенты с меньшей частотой (и с меньшим шагом квантования).
3. РАЗРАБОТКА АЛГОРИТМА ВСТРАИВАНИЯ Основные требования к алгоритму встраивания Стойкость (скрытность); Адаптивность; Гибкость; Возможность повторного анализа;
Стойкость алгоритма ПорядокМатрицаЧастотная группа Тип области 1YDCСильно неоднородная 2YНЧСильно неоднородная 3CbDCСильно неоднородная 4CbНЧСильно неоднородная 5YСЧСильно неоднородная 6CbСЧСильно неоднородная 7CrDCСильно неоднородная
Адаптивность алгоритма Предварительный анализ с сортировкой блоков изображения на три группы неоднородности: однородные, слабо неоднородные, сильно неоднородные фактор неоднородности матрица неоднородности где Ki,j – коэффициент оцениваемого блока, Qi,j – шаг квантования для соответствующего коэффициента (элемент матрицы квантования), Mi,j – значение элемента матрицы оценки неоднородности.
низкочастотный факторвысокочастотный фактор матрица низких частотматрица высоких частот Адаптивность алгоритма
Возможность повторного анализа Предварительный анализ должен давать одинаковые результаты для пустого и заполненного контейнера, что позволяет извлекать встроенную информацию. Достигается за счет исключения из анализа битов частотных коэффициентов, которые могут использоваться для встраивания, при определении степени неоднородности блока. Коэффициент может использоваться для встраивания только в том случае, если среди битов, используемых для анализа, присутствует хотя бы один ненулевой!
Гибкость встраиваемых объемов Зависимость надежности скрытия от размера встраиваемого сообщения при фиксированном контейнере Алгоритм должен позволять задействовать для встраивания лишь необходимый минимум коэффициентов в наиболее приспособленных блоках.
Вводим уровни безопасности. Каждый уровень имеет описание, позволяющее для любого блока однозначно определить какое количество бит и в какие коэффициенты будет встраиваться. Первый уровень самый безопасный, но позволяет встраивать сообщения небольших размеров. Каждый последующий уровень получается из предыдущего путем вовлечения во встраивание новых групп коэффициентов, увеличения количества используемых для встраивания коэффициентов уже используемых групп и т.д. Большое количество уровней повышает гибкость, но усложняет реализацию алгоритма и его вычислительную сложность. Гибкость встраиваемых объемов
Последовательность действий при модификации спектра Тип матрицы Тип блокаЧастотаКол-во бит Кол-во Yсильно неоднородный DC2- Yсильно неоднородный НЧ12 Yсильно неоднородный CЧ11 Cbсильно неоднородный DC1- определение уровня безопасности блок для встраивания
Реализация алгоритма TestJpeg файлКонтейнер файлЗапКонтейнер файлСообщ уровень файлКонтейнер – имя пустого контейнера, файла в формате JPEG; файлЗапКонтейнер – имя, под которым будет сохранен заполненный контейнер. файлСообщ – файл, содержащий сообщение; уровень – используемый уровень безопасности;
Пустой контейнер (разрешение 800х600, размер байт)
Заполненный контейнер (разрешение 800х600, размер байт, встроено бит)
Исследована информативность коэффициентов ДКП, выявлены наиболее пригодные для встраивания области изображения. Результаты опубликованы в журнале «Электроника-инфо». Создан механизм предварительного адаптивного анализа, основанный на сортировке блоков в соответствии с разработанными критериями сортировки. Создана концепция уровней безопасности, придающая алгоритму встраивания гибкость относительно встраиваемых объемов. Алгоритм встраивания реализован С++. Результаты работы
СПАСИБО ЗА ВНИМАНИЕ