基于WORD文档的防篡改水印系统设计与实现(5)
时间:2016-12-28 13:15 来源:毕业论文 作者:毕业论文 点击:次
(3)水印嵌入算法的设计目标 本文讨论的对象是文本文档,而文本文档中最原始的文档,包括ASCII文本文件或计算机源码文件,其可供插入水印的冗余空间非常小,通常采用不可见字符法或语义法嵌入信息,前者其隐蔽性和鲁棒性都存在缺陷,后者诸如容易产生歧义或因自然语言处理技术还不成熟等因素使之存在明显不足。然而,一些高级形式的文档通常都是格式化的(如PostScript,PDF,RIF,Word,WPS),对于这些类型的文档可以将一个水印藏入基于中文Word文档的数字水印算法版面布局信息(如字间距或行间距)或格式化编排中。较多采用的方法是将某种变化定义为l,不变化定义为0。在中文文本水印方面,基于汉字数学表达式理论的水印算法已取得了较好的水印性能;而中文文本数字水印目前仍缺乏比较理想的具有强鲁棒性的水印方法。因此,对于格式化中文文本,如WORD,PDF,PostScript,RIF等文档,考虑到WORD文档应用最为广泛,本文旨在提出和实现一种在中文WORD文档中半脆弱嵌入数字水印,实现水印检测、恢复和提取的算法,并使之达到比较好的隐蔽性、鲁棒性、抗攻击性和比较好的文本完整性检测性能。因而设计水印嵌入算法时要重点考虑在文本受到各种攻击破坏包括刻意进行的保留水印而修改文本内容的攻击方式等各种情形下怎样使得以嵌入算法为基础的提取算法具有良好的水印纠错能力且具备比较好的文本完整性检测性能。 2.2 文本嵌入方式分析 WORD文档包含人量的格式信息,如字体信息、段落信息、表格信息等,而这些信息又包括大量的属性,如字体信息中就有字体、字号、颜色、效果等几十个属性,这给文档带来了巨大的冗余空间供加载水印信息,但以什么作为水印位信息加载的对象,又以何格式信息作为水印位1或0的编码标志,这些问题的解决直接关联着水印嵌入、检测、和提取的算法实现及多方面的水印性能,因此其重要性不言而寓。 对于具体的水印嵌入方式,Brassil,Maxemchuk和Low等提出的多种在Postscript格式文本中插入隐藏信息的方法:行移编码、字移编码和特征编码有一定的借鉴价值,本文考虑综合这些方法,构造几种新的嵌入方式:结合字移编码和特征编码的思想,通过在文档中插入人的视觉不敏感的格式或属性信息以在文档中嵌入水印信息。这样的格式信息很多,如不可见的边框或底纹、无色的字符、重叠的表格、透明的公式对象等,甚至连文档的域信息也可以作为嵌入的对象。 本文在已有的利用文本的词、行、旬等结构进行细微的调整以插入秘密信息的水印嵌入方法的基础上,研究了以汉字为单位的某些特殊属性对水印信息编码,并且考虑使嵌入信息实现隐蔽性、安全性,使嵌入方式与文本内容相关,使水印检测兼具较好的载体文件的完整性检测功能,并使水印抵抗各种攻击的能力增强,且克服常见水印方法水印嵌入容量不足的问题,最终达到使水印方法具备较强实用性的目的。 实验发现,中文WORD文档中的字符存在某些属性(如汉字作为WORD中的range对象,其NoProofing属性默认值保持不变而仅在编程时方可修改此值,不通过编程不能读取和修改此属性值;另外其东亚语言类别即LanguagelDFarEast属性,可将其默认值改为wwdTraditionalChinese或wdChineseSingapor等)其默认值可修改(甚至其默认值一般用户又难于修改)且具有隐蔽性强的特点,通过对文本中指定文字的特定属性的值的修改可以达到嵌入水印信息的目的,此修改要求不会引起文本的任何可见的变化。而在向文本嵌入水印信息时基于提高水印算法的鲁棒性和文本完整性检测性能的需要,希望嵌入方法能使文本中嵌入的水印信息尽量分散于文本各处。基于上述考虑,本文提出一种中文文本的半脆弱数字水印算法。 (责任编辑:qin) |