信息隐藏-实验二-BMP-图像信息隐藏

实验二 BMP 图像信息隐藏
一, 实验目的
1, 了解BMP图像文件格式
2, 了解利用BMP图像文件隐藏信息的原理
3, 设计并实现一种基于24位真彩BMP图像的文件信息隐藏方法。
二,实验环境
1, Windows XP 操作系统
2, Ultra Edit 文本编辑工具
3, Matlab 7.1版本软件
怎样打开隐藏文件4, BMP格式图片文件
三,实验原理
1, 在图像文件尾部添加任意长度的数据,秘密信息存放在文件尾部可以减少修改文件头的数据量,仅需修改文件头中的文件长度的值即可。
2, 在调板或者位图信息头和实际的图像数据之间隐藏数据,如果将秘密数据放在文件头与图像数据之间,则至少需要修改文件头中文件长度、数据起始偏移地址这两个域的值。
3, 修改文件头和信息头中保留字段隐藏信息。
4, 在图像像素区利用图像宽度字节必须是4的倍数额特点,在补足位处隐藏数据。
四,实验过程
1, 在实际的图像数据后隐藏信息
(1)将载体baboon.bmp和秘密信息放置在同一目录下,在Windows的MS-DOS方式下执行命令copy baboon.bmp /b + /a baboon1.bmp,如下图所示:
图一 DOS界面
(2)生成的新图像baboon1.bmp,表面上看上去与原图像几乎完全一样
       
图二 隐藏前后对比图
(3)在Ultra Edit看两幅图像的结构,发现有所差别。
图三 baboon.bmp
图四 baboon1.bmp
(4)在Matlab中通过比较文件的实际长度和文件中保存的文件长度,就可以发现该图像是否隐藏秘密信息。代码如下所示:
clc;
clear;
fid=fopen('baboon1.bmp','r');%读入伪装载体图像文件
[a,length]=fread(fid,inf,'uint8');%length是文件的实际长度
fclose(fid);
fid=fopen('baboon1.bmp','r');%读入伪装载体图像文件