Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Обзор методов стеганографии




Метод последнего бита

Процесс внедрения сообщения также должен учитывать свойства системы восприятия человека. Стеганография использует имеющуюся в сигналах психовизуальную избыточность, но другим, чем при сжатии данных образом. Приведем простой пример. Рассмотрим полутоновое изображение с 256 градациями серого, то есть с удельной скоростью кодирования 8 бит/пиксел. Хорошо известно, что глаз человека не способен заметить изменение младшего значащего бита. Еще в 1989 году был получен патент на способ скрытого вложения информации в изображение путем модификации младшего значащего бита. В данном случае детектор стего анализирует только значение этого бита для каждого пиксела, а глаз человека, напротив, воспринимает только старшие 7 бит. Данный метод прост в реализации и эффективен.

Суть метода заключается в использовании данного 8-го байта, в который мы и будем помещать наше сообщение. Для этого мы преобразуем сообщение в двоичный формат, удобный для записи побитно. Далее пропускаем заголовок файла, и таким образом мы можем использовать данный алгоритм при построении стеганографического приложения. Наше сообщения переводится с помощью прекодера в двоичный сигнал, далее разбиваем изображение на байты. В каждом байте мы заменяем последний бит, на бит нашей двоичной последовательности, этим занимается стегокодер, т.о. можно использовать до 1/8 размера файла изображения, что в принципе при передаче текстовой информации является достаточным. В результате мы получим изображение, которое можно передавать как обычное, и злоумышленник не сможет определить наличие сообщения в данном изображении. При получении контейнера адресатом он легко сможет извлечь сообщение из изображения с помощью этого же приложения. Им занимается стегокодер, то в принципе при передаче текстовой информации является достаточным.

 

Метод дискретно косинусного преобразования

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

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

 

Таким образом, исходное изображение искажается за счет внесения изменений в коэффициенты ДКП.

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

 

 

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

 

Метод Langela a r

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

 

 

Если условие не выполняется, мы меняем значение яркости пикселей субблока . Для извлечения бита сообщения вычисляются средние значения яркости субблоков -  и . Разница между ними позволяет определить искомый бит:


 

 

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

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

Выбор оптимального метода

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

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

1. Упорядочивание альтернатив, т.е. выделение альтернатив от лучшей к худшей.

2. По результатам упорядочивания альтернатив определяется степень того, насколько каждая альтернатива является лучшей.

Данная характеристика является величиной, изменяющийся в диапазоне от до 1 и определяет MI(i), где i - номер оцениваемой альтернативы, I - нечеткое множество заданное на множестве индексов альтернатив.

Для оценки каждой альтернативы используется аддитивный критерий вида:

Ri = ∑Wj*Rij, i = 1,m, ∑ = 1,n,

 

где n - количество критериев, рассматриваемых в задаче, Wi - нечеткая величина, определяющая вес j-го критерия, Rij - оценка i-ой альтернативы по j-му критерию.

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

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

 

W1={0/0.6;1/0.8;0/1}

W2={0/0.2;1./0.4;0/0.6}

 

Соответственно множества низкая, средняя, невысокая, высокая, можно записать так:

 

Низкая={0/0;1/0.2;0/0.4}

Средняя={0/0.2;1/0.4;0/0.6}

Невысокая={0/0.4;1/0.6;0/0.8}

Высокая={0/0.6;1/0.8;0/1}

 

Найдем оптимальный метод:

 

R1=∑WjR1j=W1*R11+W2*R12

R11={0/0.6;1/0.8;0/1}

R12={0/0.6;1/0.8;0/1}

W1*R11={0/0.36;1/0.64;0/1}

W2*R12={0/0.12;1/0.32;0/0.6}

R1=W1*R11+W2*R12={0/0.48;1/0.96;0/1.6}

R2=∑Wj*R2j=W1*R21+W2*R22

R21={0/0,4;1/0,6;0/0,8}

R22={0/0.2;1/0.4;0/0.6}

R2={0/0.24;1/0.48;0/0.8}+{0/0.04;1/0.16;0/0.36}={0/0.28;1/0.64;0/1.46}

R3=∑Wj*R3j= W1*R31+W2*R31

R31={0/0;1/0.2;0/0.4}

R32={0/0.2;1/0.4;0/0.6}

R3={0/0;1/0.16;0/0.4}+{0/0.04;1/0.16;0/0.36}={0/0.04;1/0.32;0/0.76}

 

Последний бит МI(1)=1

ДКП МI(1)=0,7ar МI(1)=0,3

 

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

Формат ВМР файла

 

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

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

Информационный заголовок начинается с собственной длины (она может изменяться, но для 256-цветного файла составляет 40 байт) и содержит размеры изображения, разрешение, характеристики представления цвета и другие параметры.

Ширина и высота изображения задаются в точках растра и пояснений, пожалуй, не требуют.

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

Глубина цвета считается важнейшей характеристикой способа представления цвета в файле и измеряется в битах на точку. В данном случае она равна 8.

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

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

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

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

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

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

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

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

 

Постановка задачи

 

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

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

С учетом описанной выше предметной области можно определить следующие задачи, стоящие перед данным приложением:

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

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

) Поскольку контейнер будет передаваться из одного отдела в другой. Необходимо реализовать как встраиваемость сообщения в контейнер, так и извлечение сообщения из контейнера.

информация защита канал стеганография


 

2. ОБЗОР ПОДХОДОВ И СРЕДСТВ ПРОЕКТИРОВАНИЯ И РЕАЛИЗАЦИИ СТЕГАНОГРАФИЧЕСКОГО ПРИЛОЖЕНИЯ

Метод последнего бита

 

Стеганография использует имеющуюся в сигналах психовизуальную избыточность, но другим, чем при сжатии данных образом. Обычное изображение в формате вмр представляет собой набор пикселей, при достаточной глубине изображения, человек визуально не способен различать изменение младшего значащего бита в каждом пикселе. Работа рассмотренного нами в приложении А стегокодера, заключается в том чтобы распознать область в которую можно производить запись пропустив при этом заголовок, информационный заголовок, таблицу цветов и перейти к данным изображения. Цифровые картинки состоят из отдельных точек, так называемых пикселей. Если изображение 8-битовое, это значит, что для описания одного пикселя картинки отводится один байт графического файла. Один байт, как известно, состоит из восьми бит, каждый из которых может равняться нулю или единице. Программа-стеганограф тоже должна записать файл-сообщение нулями и единицами, и она размещает эти биты поверх самых последних - восьмых битов каждого байта в графическом файле. Если ноль или единица файла-сообщения волею случая совпадают с нулём или единицей файла-контейнера, то никаких изменений не происходит. Если же они не совпадают, программа-стеганограф спокойно записывает последний бит так, как ей нужно.

Приведем простой пример. Рассмотрим полутоновое изображение с 256 градациями серого, то есть с удельной скоростью кодирования 8 бит/пиксел. Хорошо известно, что глаз человека не способен заметить изменение младшего значащего бита. В данном случае детектор стего анализирует только значение этого бита для каждого пиксела, а глаз человека, напротив, воспринимает только старшие 7 бит. В данный 8-й пиксель мы и записываем наше сообщение.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...