论文部分内容阅读
伴随着计算机网络的迅猛发展,计算机软件产业的不断进步,计算机软件的知识产权保护问题就显得尤为重要。尊重知识产权是保护高新技术,发展知识经济的关键,但是,由于软件具有价值高、容易复制、复制成本极低等特点,软件盗版也随之泛滥。我国的软件盗版现象更为严重并且已经造成了巨大的经济损失。传统的软件保护方法并不能有效的阻止侵犯知识产权行为的发生,例如软件版权所有者的证明问题以及软件代码盗用问题等,为此人们把应用于多媒体保护上的数字水印技术应用于软件产品的知识产权保护上来形成了软件水印技术。软件水印技术是通过在软件代码中嵌入某些特定的秘密信息,在需要的时候,可以通过从软件中提取出这些特定的秘密信息以证明软件版权。目前,软件水印技术得到了越来越多专家学者和软件开发商的关注,在短时间内涌现出了大量软件水印算法,并已从众多软件保护技术中脱颖而出。本文的主要工作是:对软件水印的理论和相关技术进行了归纳总结,并总体讨论了目前较为常见的软件水印算法。通过在对不透明谓词算法研究的基础上,进一步的完善了不透明谓词算法。在不透明谓词算法中不透明谓词的构造决定着嵌入的水印信息的隐秘性和抗攻击能力,本文提出了两种具有更好隐密性和抗攻击能力的不透明谓词的构造方法。此外,由于在软件水印技术中,可能需要嵌入的初始水印的数据量较大,所以通常需要先将初始水印分解为若干部分,然后在将分解后的水印分别嵌入到载体程序中。本文提出了基于中国剩余定理分解初始水印值的不透明谓词算法和基于拉格朗日插值公式分解初始水印值的不透明谓词算法。而后,通过实验对这两种算法进行了测试,分析和对比。实验结果说明了基于中国剩余定理分解初始水印值的不透明谓词算法隐密性稍好,但抗攻击能力不高;基于拉格朗日插值公式分解初始水印值的不透明谓词算法具有较强的抗攻击能力。最后,本文提出一种动态不透明谓词算法,通过和原有不透明谓词算法进行的对比分析,我们发现动态不透明谓词算法具有更好的抗攻击能力。