论文导读:通过调整字节最低位的“0”或“1”,改变字节的奇偶性,使之与上述二进制数据流一致,即将信息嵌入到24位BMP图像中。
关键词:信息隐藏,BMP图像,Delphi2005
1 引言
如今,人们的生活与计算机已经息息相关了。科技论文。我们存放在电脑内的诸多资料总是希望不为人知,利用加密软件是一招,但那样容易引起别人的注意;利用位图实现信息隐藏也是可用的一招,该方法信息隐藏率高,又无需占用任何资源。它充分利用24位BMP文件的冗余空间,把一批文件插入到这类文件中去,而不破坏原文件的结构和显示效果。这样,就可以将多个秘密文件保存于一个24位的BMP文件中,保存后的图像与原始图像相比,在人的视觉上没有什么区别。
2 BMP隐藏文件的原理
2.1 BMP图像的文件格式
BMP图像文件是位图文件,位图表示的是将一幅图像分割成栅格,栅格的每一点称为像素,每一个像素具有自已的RG值,即一幅图像是由一系列像素点构成的点阵。BMP文件由文件头、位图信息头、颜色信息和图像数据四部分组成。文件头由54个字节的数据段组成,其中包含有该位图文件的类型、大小、图像尺寸及打印格式等;从第55个字节开始,是该文件的图像数据部分,数据的排列顺序以图像的左下角为起点,每连续3个字节便描述图像一个像素点的颜色信息,这三个字节分别代表蓝、绿、红三基色在此像素中的亮度。
2.2 BMP实现原理
一幅24位BMP图像,由54字节的文件头和图像数据部分组成,其中文件头不能隐藏信息,从第55字节以后为图像数据部分,可以隐藏信息。图像数据部分是由一系列的8位二进制数所组成,由于每个8位二进制数中“1”的个数或者为奇数或者为偶数,约定:若一个字节中“1”的个数为奇数,则称该字节为奇性字节,用“1”表示;若一个字节中“1”的个数为偶数,则称该字节为偶性字节,用“0”表示。用每个字节的奇偶性来表示隐藏的信息。将信息嵌入BMP文件的步骤为:
(1)将待隐藏信息转化为二进制数据码流;
(2)将BMP文件图像数据部分的每个字节的奇偶性与上述二进制数码流进行比较;
(3)通过调整字节最低位的“0”或“1”,改变字节的奇偶性,使之与上述二进制数据流一致,即将信息嵌入到24位BMP图像中。
由于原始24位BMP图像文件隐藏信息后,其字节数值最多变化1(因为是在字节的最低位加“1”或减“1”),该字节代表的颜色浓度最多只变化了1/256,所以,已隐藏信息的BMP图像与未隐藏信息的BMP图像,用肉眼是看不出差别的; 使用这种方法,一个大小为32k的24位BMP图像文件,可以隐藏约32k/8=4k的信息(忽略文件头不能隐藏数据的54个字节),该方法具有较高的信息隐藏率
2.3信息的提取
信息提取是把隐藏的信息从伪装BMP中读取出来,其过程和步骤正好与信息嵌入相反:(1)判断BMP文件图像数据部分每个字节的奇偶性,若字节中“1”的个数为偶数,则输出“0”;若字节中“1”的个数为奇数,则输出“1”;
(2)每判断8个字节,便将输出的8位数组成一个二进制数(先输出的为高位);
(3)经过上述处理,得到一系列8位二进制数,便是隐藏信息的代码,将代码转换成文本,或图像,或声音,就是隐藏的信息。
3.文件隐藏大师的实现
文件隐藏大师的主要功能是可以快速隐藏本地硬盘上的可执行文件、程序源等任意文件。所谓隐藏,就是指任何人无法通过资源浏览器,我的电脑,DOS方式等方法找到已隐藏的东西。
文件隐藏大师是基于Delphi 2005开发的,Delphi是全新的可视化编程环境,是基于Object Pascal语言的面向对象的开发工具,具有强大的数据存取功能。它的数据处理工具BDE(Borland Database Engine)是一个标准的中介软件层,可以用来处理当前流行的数据格式,如xBase、Paradox等,也可以通过BDE的SQL Link直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。
文件隐藏大师包含密码验证模块、初始化模块、添加/删除位图模块、隐藏文件模块、提取文件模块、密码管理模块、选项设置模块和关闭系统模块。
3.1文件隐藏大师模块设计
(1)密码验证模块
设置密码验证模块的功能在于帮助用户维护系统安全。进入本系统前,必须首先通过密码验证,如图1所示,如果用户没有设置密码,则进入系统时,会跳过本模块。

图1 密码验证模块界面图
(2)初始化模块
设置初始化模块的目的在于把用户已经操作过的文件记录显示到文件列表中,以便于用户的操作。当用户经过密码验证后,程序会在注册表里读取用户先前操作过的记录,并将该记录输出到程序主界面的文件列表里,以供用户继续操作。
(3)添加/删除位图模块
设置添加/删除位图模块的目的在于把位图路径添加到文件列表中,以便于用户隐藏文件,或将无用的位图信息从文件列表中删除。添加位图:可以将想要作为模板的位图加入列表,然后再把文件隐藏到其中。删除位图:将您觉得无用的位图文件删掉。
(4)隐藏文件模块
设置隐藏文件模块的目的在于把用户的文件隐藏到位图中。隐藏文件:先在列表当中选中一幅位图,然后点击该按钮就可以选择您想要隐藏的文件了。
(5)提取文件模块
设置提取文件模块的目的在于把用户隐藏在位图中的文件提取出来。科技论文。提取文件:先在列表中选择一幅已经隐藏了文件的位图,然后点击该按钮选择要保存的路径即可。
(6)密码管理模块
设置密码管理模块的目的在于提高系统的安全性。
(7)选项设置模块
可以设置在隐藏/提取文件时,系统对操作后的各个文件的自动处理。选项:在选项中您还可以设置隐藏文件使对原稿的处理,并且还可以为软件设置密码,以使其得到更好的保护。
1/2 1 2 下一页 尾页 |