25 марта 2011 г.

Стегоанализ с известным контейнером или попиксельное сравнение изображений в Matlab.


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

Рис.1 Мурзик без вложений :)
Загружаем изображения в Matlab. Возможен такой случай, когда мы не знаем какой из файлов является пустым, а какой содержит стегосообщение. Поэтому обозначим изображения переменными IMG_1 и IMG_2 без указания, какое из изображений чистое, а какое со встраиванием.

IMG_1_name='./images/murzik.bmp';
IMG_1 = imread(IMG_1_name);

IMG_2_name='./stego_murzik1.bmp';
% IMG_2_name='./stego_murzik2.bmp';
% IMG_2_name='./stego_murzik3.bmp';
IMG_2 = imread(IMG_2_name);