基于Word字符RGB值的信息隐藏技术

时间:2022-08-01 01:23:25

基于Word字符RGB值的信息隐藏技术

摘要:利用人类视觉系统对文本字符颜色分量最低比特位改变不敏感的这一特性,提出了一种基于Word文档的信息隐藏算法。实验结果表明,算法很好地实现了文本的嵌入,且信息隐藏量大于传统算法,在Word文档的版权保护等领域有广泛的应用前景。

关键词:信息隐藏;Word文档;秘密信息

中图分类号:TP309.1 文献标识码:A文章编号:1009-3044(2007)04-11067-02

1 引言

信息隐藏是近年来发展起来的集多学科理论与技术于一身的一门新兴技术[1]。日前全世界使用最广的文字处理软件是Microsoft Word 。 Word己成为办公自动化和日常编辑事实上的标准。随着Internet的迅猛发展,Word在电子商务、政务和远程教育中应用日益广泛,它常用作电子文书的标准格式。在Word文档中隐藏信息可用于文档版权保护、篡改检测、信息防伪等领域。

2 文本文件信息隐藏的常用方法

目前基于Word文档的信息隐藏研究比较少,主要有根据字符间距的变化实现Word文档中信息隐藏的方法,该方法结合字移编码技术在Word文档中利用VBA编程语言实现了信息的隐藏和提取[2]。还有根据特征编码方法,通过改变文档中某些字的大小来嵌入和检测水印[3]。还有一种是基于行移编码。该技术通过垂直移动文本行的位置实现,通常当一行被上移或下移时, 与其相邻的两行或其中的一行保持不动,不动的相邻行被看作是解码过程中的参考位置。刘豪等人提出了字体颜色的文本数字水印算法[4]。该算法根据人眼对蓝色最不敏感的特性,针对Word文档格式特点,只修改文本字符的蓝色成分使其嵌入水印信息和检测水印。

本文就刘豪等人提出的基于字体颜色的数字水印算法进行了改进,提出一种新的基于Word 文档的字密写方法, 不仅仅只改变蓝色成分,而是同时分别轻微改变Word 文档中字符RGB颜色值中的R, G, B值。与字符间距编码、改变字的大小编码相比,该算法可加载水印的容量大,具有更强的隐避性和鲁棒性。

3 算法思想

根据人眼视锥细胞对颜色敏感度的理论,人眼对绿色最敏感,对红色次之,而对蓝色最不敏感。根据这一理论及对Word文档字符颜色数据结构的分析,在保证嵌入了秘密信息的字符其改变不能被人眼察觉的情况下,达到较高的隐藏率,我采用的方法是对需要嵌入秘密信息的载体文本字符同时置换字符RGB颜色值中R, G, B低位的值, G 分量改变最低1 位比特位, R 分量改变最低1位比特位, B 分量改变最低2 位比。这样每个载体文本的字符可实现4比特二进制数的隐藏。

实现的嵌入算法如下:

(1)顺序提取秘密信息的每个字节;

(2)顺序寻找载体Word文档中适合嵌入信息的字符,根据秘密信息每个字节的比特位,对载体文本字符同时置换字符RGB颜色值中R, G, B低位的值。图1是嵌如秘密信息一个字节高4位的具体方法:首先提取出秘密信息字节最高两位S7、 S6嵌入Word文档一个字符RGB值蓝色分量的最后两位B1、B0,再依次提取S5、S4分别嵌入同一字符的绿色分量的最后一位G0、红色分量的最后一位R0。秘密信息字节低4位需嵌入载体Word文档的另一字符,其中S3、S2、S1、S0分别嵌入该字节RGB值的B1、B0、G0、R0位。至此,完成一个秘密信息的字节隐藏;

图1 嵌入秘密信息一个字节的高4位

(3)逐字节循环到所有秘密信息嵌入载体文本,生成隐藏了秘密信息的Word文档。

提取秘密信息的算法就是以上嵌入算法的逆过程,在此不再赘述。

4 程序实现

VBA(Visual Basic for Applications)语言是针对微软Office文档进行操作的语言,它可以对office文档的各种操作进行编程。下面给出该方法的VBA实现算法程序的核心部分。

Sub embedb() '该过程实现秘密信息隐藏算法

Dim b As Byte

b = Asc("F") '此处以隐藏字母F为例

'秘密字节高4位嵌入Word载体字符的RGB值中

End With

Selection.MoveLeft unit:=wdCharacter, count:=1

Selection.MoveRight unit:=wdCharacter, count:=1

Selection.MoveRight unit:=wdCharacter, count:=1, Extend:=wdExtend '选中Word文档中第二个载体字符

With Selection.Font

End With

End Sub

5 实验效果

经多次中文、英文及中英混合Word 2003文档嵌入秘密信息的实验,采用此算法的试验程序取得了较好的效果。图2 和图3是未嵌入秘密信息的word 文档和嵌入了秘密信息的word 文档的对比。

从结果看,人眼是无法察觉的。被授权者能够用VBA程序正确地提取出嵌入的水印信号,见图4。

6 结束语

该隐藏算法关键是字符RGB颜色值中R、G、B值置换位数的选取,本文选取只置换最低位的1到2位,字符颜色变化很小,人的视觉感觉不到,隐藏性高;若选取置换低2到4位,则可增大信息隐藏量,但字符颜色出现视觉能察觉的变化,隐蔽性降低。该算法理论上使得2个字符可嵌入1个字节的信息量,与字移编码、字号大小编码、行移编码等传统方法相比信息隐藏量有了较大幅度的提高。

图2 未嵌入秘密信息的word 文档

图3嵌入了秘密信息的word 文档

图4 提取的秘密信息

参考文献:

[1]张新鹏,王朔中,张开文.数字密写和密写分析[M].北京:清华大学出版社,2005.

[2]刘显德,唐国维,富宇,刘雪梅.一种基于Word文档的信息隐藏方法[J].电子技术应用,2005,31(4):16-17.

[3]刘玉玲,孙星明.通过改变文字大小在Word文档中加载数字水印的设计与实现[J].计算机工程与应用,2005,12(41): 110-112.

[4]刘豪,孙星明,刘晋飚. 基于字体颜色的文本数字水印算法[J].计算机工程,2005,31 (15):129 - 131.

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:网络气象图的研究与应用改进 下一篇:Dreamweaver中的页面跳转