论文部分内容阅读
自互联网出现以来,计算机网络技术得到迅速发展,软件产品越来越多的被开发并应用到人们的日常生活中。与此同时,软件产品被人们有意无意的多次进行拷贝,一些非法的攻击者也对软件产品进行恶意的攻击、篡改、窃取等等非法行为,这使得软件产品的版权信息不能得到有效的保护,不仅给个人和软件公司带来损失,也严重阻碍了软件产业的发展。软件水印是一种新发展起来的、行之有效的保护软件产品版权信息的技术,通过在软件产品的载体程序中嵌入携带有版权的水印信息来保护软件所有者的合法权益。动态数据结构软件水印是软件水印技术的一个分类,也是近些年来国内外的研究热点,它是动态软件水印技术的一种,水印的生成和提取依赖于程序的动态执行状态,因此,水印信息很难被攻击者进行定位、捕捉、分析,从而也就对篡改、窃取、攻击增加了难度。本文结合基于m-n变进制数的软件水印分存方案,对基于R-tree的动态软件水印算法进行研究,提高水印的数据率和防篡改能力。本文主要在以下几方面作了研究:1、对软件水印技术的基础理论进行介绍。包括软件水印概述、模型、分类、攻击类型、性能评价标准等。2、对基于R-tree的动态软件水印技术进行分析和研究。分析了R-tree的数据结构、性质以及相关算法;给出基于R-tree的动态软件水印的设计依据,利用R-tree中结点条目顺序的冗余来存储水印信息;研究了在R-tree的中进行检索、插入、分离、删除和合并操作对水印的影响。3、提出一种新的基于R-tree数据结构的动态软件水印方案。该方案首先利用m-n变进制数对水印进行分存预处理,并利用VF-NS编码系统对水印信息进行编码,实现水印值与R-tree中条目序列的一一对应,而后将分存水印嵌入到R-tree中。4、对新的方案从抗攻击能力、防篡改能力、数据率和性能过载方面进行实验分析,实验结果和数据表明该算法在数据率和防篡改能力方面具有良好性能。