数字水印技术研究

时间:2022-10-25 08:57:05

数字水印技术研究

摘 要: 本文主要对信息隐藏的一种技术数字水印进行分析,给出了一个数字水印实现的例子。

关键词: 信息隐藏 数字水印 最低有效位算法

一、水印技术

信息隐藏主要应用在需要安全保密通信的部门,利用多媒体信息中的冗余空间携带隐蔽信息,达到秘密信息伪装传递的目的。同时,信息隐藏还要研究其对立面――隐蔽信息的分析和检测,这与密码编制学和密码分析学是类似的,信息隐藏与分析是一对矛盾统一体,它们既相互对立又相互促进。数字水印从实质上说也是一类信息隐藏,但是其目的不是为了保密通信,而是为了标明载体本身的一些信息,如多媒体信息的创作者、版权信息、使用权限等一系列需要标明的信息。利用数字水印,还可以跟踪多媒体产品的非法传播和扩散,打击盗版。数字水印技术目前正处于一个快速发展和持续深入的阶段,应用领域也在快速扩展。从最初的图像水印、音频水印,发展到软件水印、视频水印、文字水印;从最初的算法研究,扩展到行业领域的应用,如数字地图的版权保护、数字图书的版权保护、证件防伪、多媒体数据的检索、电子公文防篡改等。

信息隐藏的目的:1.要回答在一个载体中是否隐藏有秘密信息。2.如果藏有秘密信息,能提取出秘密信息。3.如果藏有秘密信息,不论能否提取出秘密信息,都不想让秘密信息正确到达接收者手中,因此,这就是将秘密信息破坏,但是不影响伪装载体的感观效果(视觉、听觉、文本格式等),也就是说使得接收者能够正确收到伪装载体,但是又不能正确提取秘密信息,并且无法意识到秘密信息已经被攻击。

图像信息隐藏是近年信息隐藏技术中新兴起的研究课题,它以数字图像为掩护媒体,将需要保密的信息按照某种算法嵌入数字图像中,并且要求:1.嵌入信息后的图像与原始图像相比,在人的视觉上没有什么区别;2.数据隐藏要不改变掩护媒体的数据量,即直接对媒体数据的某些部分进行修改,而不增加掩护媒体的数据,这就是数字水印。本文介绍一种利用BMP彩色图像实现信息隐藏的方法。

二、水印算法

本文采用的是最低有效位算法(LSB),这是一种典型的空间域数据隐藏算法。由于该算法是通过调整原始数据的最低几位来隐藏信息,因此一般用户对于隐藏信息在视觉和听觉上很难察觉。该算法虽然有较大的信息隐藏量,但作为数字水印算法,其因基本原理限制,所隐藏的数字水印信息是极为脆弱的,无法经受一些无损和有损的信号处理。

最低有效位算法利用了人们对颜色的一定的敏感,当我们对红绿蓝三相素的亮度作微小的改动,人们的肉眼是无法发现这种差异的。如我们仅将相素的亮度增一或减一,这样就可以隐藏信息。

一幅24位BMP图像,由54字节的文件头和图像数据部分组成,其中文件头不能隐藏信息,从第55字节以后为图像数据部分,可以隐藏信息。图像数据部分是由一系列的8位二进制数所组成,由于每个8位二进制数中“1”的个数或者为奇数或者为偶数,约定:若一个字节中“1”的个数为奇数,则称该字节为奇性字节,用“1”表示;若一个字节中“1”的个数为偶数,则称该字节为偶性字节,用“0”表示。我们用每个字节的奇偶性来表示隐藏的信息。

举例:设一段24位BMP文件的数据为:01100110,00111100,10001111,00011010,00000000,10101011,00111110,10110000,则其字节的奇偶排序为:0,0,1,1,0,1,1,1.现在需要隐藏信息79,由于79转化为8位二进制为01001111,将这两个数列相比较,发现第2,3,4,5位不一致,于是对这段24位BMP文件数据的某些字节的奇偶性进行调制,使其与79转化的8位二进制相一致:

第2位:将00111100变为00111101,则该字节由偶变为奇。

第3位:将10001111变为10001110,则该字节由奇变为偶。

第4位:将00011010变为00011011,则该字节由奇变为偶。

第5位:将00000000变为00000001,则该字节由偶变为奇。

经过这样的处理,此24位BMP文件数据段字节的奇偶性便与79转化的8位二进制数完全相同,这样,8个字节便隐藏了一个字节的信息。

综上所述,将信息嵌入BMP文件的步骤为:

1.将待隐藏信息转化为二进制数据码流。

2.将BMP文件图像数据部分的每个字节的奇偶性与上述二进制数码流进行比较。

3.调整字节最低位的“0”或“1”,改变字节的奇偶性,使之与上述二进制数据流一致,即将信息嵌入到24位BMP图像中。

信息提取是把隐藏的信息从伪装媒体中读取出来,其过程和步骤正好与信息嵌入相反:

1.判断BMP文件图像数据部分每个字节的奇偶性,若字节中“1”的个数为偶数,则输出“0”;若字节中“1”的个数为奇数,则输出“1”。

2.每判断8个字节,便将输出的8位数组成一个二进制数(先输出的为高位)。

经过上述处理,得到一系列8位二进制数,就是隐藏信息的代码。

三、结语

本文主要介绍了数字水印的基本内容,然后给出了数字水印的一个算法最低有效位算法,并给出了这个算法的一个实例。

参考文献:

[1]梁志敏,蔡建.NET安全性与密码术[M].北京:清华大学出版社.

[2]Ross J.Anderson著.孙彦妍译.信息安全工程[M].北京:机械工业出版社.

[3]Bruce Schneier著.吴士忠译.应用密码学一协议、算法与C源程序[M].北京:机械工业出版社.

上一篇:引导质疑,激活思维 下一篇:从家庭观念看中西方文化差异