Современные информационные технологии/4.Информационная безопасность

Волокитин А.С.

Юго-Западный государственный университет, Курск

Программная реализация стеганографического сокрытия информации в графическом изображении

Информация как никогда актуальна в наш век информационных технологий. Но помимо владения информацией нужно знать, как ее защищать. Существует два способа защиты: криптография и стеганография. Главное отличие стеганографии от криптографии заключается в том, что стеганография скрывает сам факт существования информации[1].

Стеганография - тайнопись, письмо условными, шифрованными знаками[2]. Существует и несколько видов стеганографии:

·        Классическая стеганография (симпатические чернила);

·        Компьютерная стеганография (скрытие данных в неиспользуемых данных файла);

·        Цифровая стеганография  (сокрытие данных в цифровых объектах);

В данной статье будет рассматриваться цифровая стеганография в BMP-файле. В заголовке файла указывается ширина в пикселях(33-64 биты) и высота(65-96 биты). Биты, отведенные под пиксели, начинаются с 41 байта. Под каждый пиксель выделяется по 3 байта(8 бит под каждый цвет)[3].

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

На рисунках ниже показано что будет, если не заменять или заменить 2,4,6,8 битов в каждом цвете пикселя.

C:\Users\Саша\Desktop\криптография\txt to bmp\ggg0.bmp

C:\Users\Саша\Desktop\криптография\txt to bmp\ggg2.bmp

C:\Users\Саша\Desktop\криптография\txt to bmp\ggg4.bmp

Оригинал

Заменено 2 бита каждого цвета

Заменено 4 бита каждого цвета

C:\Users\Саша\Desktop\криптография\txt to bmp\ggg6.bmp

C:\Users\Саша\Desktop\криптография\txt to bmp\ggg8.bmp

 

Заменено 6 битов каждого цвета

Заменено 8 бита каждого цвета

 

Рис 1. Котики

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

Количество символов, которое можно скрыть в картинке вычисляется по формуле:

В формуле x-длина изображения,y - ширина изображения в пикселях, а l - количество битов, которые мы заменяем в каждом цвете.  В реализации программы по скрытию текста при помощи стеганографии я заменял 3 бита в каждом цветом.  Таким образом, в каждый пиксель помещаются  символа. Получается, что в картинку размером 429x500 пикселей поместится 241312 символов.  Ниже приводится график зависимость времени выполнения данной программы (мс) от количества символов, которые мы хотим скрыть с помощью стеганографии.

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

Несомненно, стеганография предоставляет эффективный способ скрыть информацию, притом за малое время, но она имеет ограничения. Главное ограничение стеганографии заключается в невозможности незаметно скрыть большие объемы информации. И в отличии от криптографии тут не нужно знать шифр, вполне достаточно знать алгоритм, по которому скрывалась информация.
Литература:

1. Confounding Carnivore: How to Protect Your Online Privacy/Omar J.Pahati//Alternet, 21 November 2001

2. Конахович Г. Ф., Пузыренко А. Ю.Компьютерная стеганография. Теория и практика.— К.: МК-Пресс, 2006.— 9 с

3.BITMAPFILEHEADER (Windows CE 5.0)[электронный ресурс]. Режим доступа:

msdn.microsoft.com/en-us/library/aa452883.aspx