为了进一步提高计算机网络数据安全性,为此我们把数据加密技术与信息隐藏技术结合,提出了一种新的数据加密算法,首先把待隐藏信息变成二进制数据流,然后运用DES方法对二进制数据流加密;最后根据BMP格式图像的数据结构特征把密文隐藏于数字图像中。

一、基于数字图像的信息隐藏技术

1、BMP图像文件数据结构

数字图像格式育多种,BMP是最常用的一种。对于24位BMP图像文件,其结构特点为:

(1)每个文件只能非压缩地存放一幅彩色图像;

(2)文件头由54个字节的数据段组成,其中包含有该位图文件的类型、大小、图像尺寸及打印格式等;

(3)从第55个字节开始,是该文件的图像数据部分,数据的排列顺序以图像的左下角为起点,从左到右、从下到上,每连续3个字节便描述图像一个像素点的颜色信息,这3个字节分别代表蓝、绿、红三基色在此像素中的亮度,某连续3个字节为:OOH,OOH,FFH,则表示该像素的颜色为纯红色。

在24位格式中,图像中的每个象素都由存储为3字节的RGB序列表示。每个扫描行都被补足到4位,图像是自底向上存储的,即第一个扫描行是图像中的最后一个扫描行。基于上述特点町以把隐秘信息藏于BMP图像之中,隐藏信息必须是视觉透明的。

2、基于彩色静止数字图像的信息隐藏算法

基于彩色静止数字图像的信息隐藏算法如图1所示。

加密在信息隐藏中的应用

首先将签字信息的字节长度写入BMP文件标头部分的保留字节中,然后将签字信号转化为二进制数据码流;最后将BMP文件图像数据部分的每个字节的高7位依次异或后再与上述二进制数码流异或后的结果写入最低位。

3、基于彩色静止数字图像的信息提取算法

信息提取过程如图2所示。首先读BMP文件标头部分的保留字节值,得到隐藏信息位数(二进制数据码流长度)(若该字节值为0则没有隐藏信息,终止提取)。然后将BMP文件图像数据部分的每个字节8位依次异或,异或结果就是隐藏的信息。这样从每一个字节的图像数据中提取出l位隐藏信息,直到把隐藏信息全部提取为止。

加密在信息隐藏中的应用

二、DES数据加密算法的原理

DES(Data Encryption Standard)算法在POS,ATM,磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用。本文以此算法实现隐藏信息数据文件加密。

DES加密算法的入口参数有3个,Key,Data,Mode。其中Key为8个字节共64位,是DES加密算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有加密和解密两种。DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,其算法主要分为两步。

1、初始置换_

把输入的64位数据块按位重新组合,并把输出分为LO,RO两部分,每部分各长32位,置换规则为将输入的第58位换到第1位,第50位换到第2位….依此类推,最后1位是原来的第7位,LO,R()则是换位输出后的两部分,L0是输出的左32位,RO是右32位.例如设置换前的输入值为DID2 D3--- D64,则经过初始置换后的结果为LO= D58D50---D8;RO一D57D49---D7。

2、逆置换

经过16次迭代运算后,得到L16,R16。将此作为输入,进行逆置换,逆置换是初始置换的逆运算。逆置换结束得到64位的密文。

三、加密在信息隐藏中应用的实现

在VC++6.0的环境下进行系统实现,系统功能包括信息文件加密、信息隐藏、信息读取、信息解密,本系统可以加密与隐藏的数据为文本、数字和字母;作为信息载体的数字图像则为彩色BMP格式,图3给出了系统界面和一个示例运行结果。

加密在信息隐藏中的应用

使用不同的图像作为载体,信息都能够成功隐藏(即感觉不到隐藏信息的图像与原始图像的差别)和提取。

小知识之码流

码流(Data Rate)是指视频文件在单位时间内使用的数据流量,也叫码率,是视频编码中画面质量控制中最重要的部分。同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越好。