基于WORD文档的防篡改水印系统设计与实现(14)
时间:2016-12-28 13:15 来源:毕业论文 作者:毕业论文 点击:次
图4.1输入密钥嵌入 对某个测试水印文本文件,嵌入到内容之后,文件内部内容没有任何改变。对某个正常水印的嵌入结果如图4.2所示 图4.2嵌入测试 考虑到软件的实用性,每当用户加密一个文件的时候,软件就会自动生成一个以watermark为结尾的新文件如图4.3所示。这样不仅可以保护原文件,同时也可以进行二次发送。 图4.3 生成新文件 4.2 水印提取测试 当用户接收到带水印的WORD文档时,需要输入正确密钥来打开如图4.4所示 图4.4打开WORD文档 当遇到密钥输入是错误的情况或者文档被修改时测试结果如图4.5所示。 图4.5水印被破坏 软件会对文字做出颜色改变以及横线的动作,同时软件会弹出错误窗口提示用户此文件可能受到修改。 另外,考虑到有些用户并不是特别需求一些数据的安全性,比如字号,加粗等。这些设定改变不会影响用户正常的信息获取,所以进行了一些半脆弱性的设定。当WORD文档内部的文字进行字体,粗细等修改时,不会出现上边的错误。测试结果如图4.6 图4.6 半脆弱性检测 4.3 小结 本文提出并实现了一种基于汉字属性及汉字内容的半脆弱文本数字水印算法。该算法具有以下特点: (1)该水印嵌入方法在别人研究文本水印算法的基础上作一进一步的改进,具有一定的实用性,实验结果亦达到了预期的效果。 ①水印的半脆弱嵌入方式增强了水印的抗攻击性按字符属性值的变化以嵌入水印,此方法的嵌入方式是多样的,即3组水印的嵌入点相对分散并且相对独立,分散在整个原始文本的前中后三个部分。当有恶意删除攻击时,很难将所有的3组水印完全删除掉,即便同时删除了3组水印的一部分,通过提取出来的3组水印进行比对校验也可能提取出一组完整水印来。 ②兼具较强的文本完整性检测能力,容易检测到遭受各种攻击的情况。因为嵌入阶段水印分布的分散性以及水印嵌入算法的特点,一般而言,文件的增删、改等造成完整性受损的攻击情况在程序的水印检测阶段将发现相应的错误,即待检测的水印文本遭受各种攻击的情况一般均能检测到,也即本水印方法兼具比较强的文本完整性检测性能。更为重要的是从提取出来的水印中能够还原出原文本,这样对于完整性检测就更加方便了,即在没有原文本的前提下,提高了完整性检测的能力。 ③具备较强的水印提取和纠错提取的能力即水印的抗攻击性较强。针对水印清除或文本内容添加、删除、替换等各种可能的攻击,利用3组水印相互补充、校检和纠错,或直接提取至少l组水印或纠错恢复1组水印,实验表明对检测文本受到各种攻击时的水印纠错能力即水印的抗攻击性较强。 ④水印隐蔽性较强,遭全面破坏的几率小,水印容量可以不受限制。水印嵌入前后的文本从视觉上没有任何变化(编辑操作后同样如此):从标定到分组再到3组水印的嵌入,都是基于WORD中的某个对象的内置属性来操作的,(如range对象(如字符等)的NoProofing属性,Word中的文件的菜单操作不能清除或改变此水印特征,只有过编程才可发现、添加和修改此水印特征,因此此属性的应用具备较强的隐蔽性和抗攻击性),故水印遭攻击者全面破坏的几率小。另外原始水印长度可以不受(按Hash函数求原始水印的128位信息摘要后嵌入文本)。 (2)需要改进及进一步研究的问题。由于难以完全将水印嵌入到文本的内容之中,文本水印的鲁棒性和嵌入容量一直是研究的难点。本文通过基于字符属性及文字内容的半脆弱水印嵌入方法,将水印信息与文本内容结合起来;并且由于半脆弱冗余嵌入,使得水印具有较强的抗攻击能力,即鲁棒性得到了提高。这种方法及思路对于文本数字水印未来的研究具有一定的指导意义,有助于促进水印算法的发展,但本文所做的工作还远远不够,水印算法还存在一些不足之处,尚待进一步的研究: (责任编辑:qin) |