基于路径的防篡改动态软件水印算法

基于路径的防篡改动态软件水印算法

ID:30642648

大小:20.12 KB

页数:8页

时间:2019-01-02

基于路径的防篡改动态软件水印算法_第1页
基于路径的防篡改动态软件水印算法_第2页
基于路径的防篡改动态软件水印算法_第3页
基于路径的防篡改动态软件水印算法_第4页
基于路径的防篡改动态软件水印算法_第5页
资源描述:

《基于路径的防篡改动态软件水印算法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、从本学科出发,应着重选对国民经济具有一定实用价值和理论意义的课题。课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果基于路径的防篡改动态软件水印算法摘要本文给出了一种改进的动态水印算法,该算法采用基于中国剩余定理的水印分割方法,并通过在程序中同时插入与分割的拓扑图相对应的校验比特串的方法提高其纠错能力和抗篡改能力。该算法具有编码纠错能力强、抗攻击能力好的特点,同时兼顾了基数-k编码方法编码率高、编码范围广的优点。关键词软件水印;动态图;路径;防篡改软件水印技术是通过向程序中嵌入识别信息来抗击软件盗版,现今大多数已提出的软件水印算

2、法都存在方方面面的缺点。根据水印被加载的时刻,软件水印分为静态水印和动态水印。静态水印存储在可执行的程序代码中,已知的静态水印都易于遭受简单的变形水印攻击,抗攻击能力差,任何代码优化技术都可以破坏水印。动态水印在程序运行时被构建,存储在程序的执行状态中。动态水印由于鲁棒性较强,现在受到了广泛的关注。Collberg和Thomborson[1]提出了一种动态图水印技术,即把软件水印隐藏在程序动态建立的图结构拓扑中。由于指针结构的引入,使得控制动态图结构的那部分代码不易被分析,因而很难对图进行保持语义变换。这种技术的基本思想是用图的拓扑结构来代表一个

3、数N,这个数是两个大素数的乘积,在进行水印检测时,先根据图的拓扑结构恢复出N,由于数论中的大数分解难问题课题份量和难易程度要恰当,博士生能在二年内作出结果,硕士生能在一年内作出结果,特别是对实验条件等要有恰当的估计。从本学科出发,应着重选对国民经济具有一定实用价值和理论意义的课题。课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果,只有合法用户才能将检测到的N分解成大素数P和Q的乘积,从而证明其合法版权。与静态水印相比,动态图水印算法不容易受到代码最优化和代码迷乱等水印攻击的破坏,但是同样不能很好地抵抗篡改、裁减等恶意攻击。软件

4、水印的防篡改技术可以对软件及水印本身提供保护,当水印遭到破坏,程序能够立即感知并终止软件的运行。针对静态水印,Holmes提出了在水印中包含校验和的防篡改措施,但是如果攻击者掌握了校验和算法,就很容易修改校验和,防篡改能力十分有限。Moskowite和Cooperman[5]提出了另一种静态水印防篡改技术,即把水印代码嵌入到应用程序的特殊资源中,一旦该图像被篡改就立即终止程序的运行以此达到防篡改的目的。但是问题是这种凭空产生和执行的代码的不寻常性会使水印失去隐蔽性,引起攻击者的注意。至今为止,软件水印的防篡改技术仅仅处在一个摸索的阶段,所提出的各

5、种理论和算法都存在一定的缺陷。本文首先给出了一种基于中国剩余定理的动态图的构造算法和一种基于路径的防篡改的水印图的嵌入技术,在此基础上提出了一种改进的给予路径的动态防篡改水印算法。动态图水印算法过程可以描述为下面几个步骤:(1)将两个大质数的乘积作为水印数字w;(2)将这个水印数字用一个特殊的拓扑图来表示;(3)构造编码函数code()(构造编码函数的同时,应有相对应的解码函数decode())使该函数在运行时可以产生这个拓扑图;课题份量和难易程度要恰当,博士生能在二年内作出结果,硕士生能在一年内作出结果,特别是对实验条件等要有恰当的估计。从本学

6、科出发,应着重选对国民经济具有一定实用价值和理论意义的课题。课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果(4)在原始程序中嵌入这段代码,使得添加水印后的程序只有在输入一个特定的序列时才构造出这个水印(我们称嵌入水印代码后的程序为载体程序);(5)当需要提取水印时,运行载体程序和水印检测例程,输入特定的序列,提取出拓扑图;(6)调用解码函数decode(),将提取出的拓扑图还原为水印数字w。假设p是未加入水印的原始程序,i是特定的输入序列,w是要嵌入的水印信息,g是可以唯一表示w的图,为嵌入水印后的程序,e为水印嵌入函数,e

7、x为水印提取函数。那么一个完整的动态图水印的过程就由下面四个函数组成:水印数字映射为拓扑图:;拓扑图嵌入原始程序:;从载体程序中提取拓扑图:;图结构映射为水印数字:。一个完整的软件水印算法应包含水印拓扑图构造、水印嵌入和水印提取三个部分。水印的拓扑图映射将水印数字编码为拓扑图已经提出了多种编码方案[1],例如PPCT编码、基数-k编码、父指针树编码和排列编码。几种编码方式各有优缺点,实际应用时应根据软件水印系统的需求决定。比如,PPCT树的比特率比较低但纠错能力较强,而基数编码具有较高的比特率但纠错能力太差。由于要嵌入的水印数字会是一个相当大的值

8、,无论运用上述任何一种编码方式,它对应的拓扑图g的规模都会很大,如果将一个完整的g的构建代码全部嵌入程序中的某个位置,会使水印的隐秘性减

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。