摘要
针对现有软件水印算法存在性能开销大或无法抵抗各类攻击的缺点和鲜有在JavaScript源码中实现的现状,提出一种基于哈希不透明谓词的JavaScript软件水印算法。该算法构造一种新的基于除留余数法哈希映射不透明谓词并将软件水印信息嵌入不透明谓词的表达式中,进而构造此不透明谓词的永假基本块嵌入程序中实现软件水印。开发了一个基于此算法的JavaScript软件水印系统。实验证明,该算法能在增加较少的系统开销的前提下有效抵抗各种常见的静动态攻击,同时还能提高水印的隐秘性和鲁棒性。
Because of the weakness of current software watermarking algorithms in high performance overhead or suffering from various attacks,and of being scarcely implemented in JavaScript source code,we proposed a new hash opaque predicate-based JavaScript software watermarking algorithm. By constructing a new kind of hash-mapping opaque predicate,which is based on the method of remainder of division operation,and embedding the watermark information of software into opaque predicate expression,the algorithm constructs the everlasting basic block of this opaque predicate and embedding it into program to implement software watermarking. We also developed a JavaScript software watermarking system which is based on this algorithm. Experiments proved that the algorithm can effectively resist various common static and dynamic attacks on the premise of less system overhead increase,as well as improve the invisibility and robustness of the watermark.
出处
《计算机应用与软件》
CSCD
2016年第4期306-309,共4页
Computer Applications and Software
基金
广州市科技计划项目(2012Y2-00046
2013Y2-00043)
广东高校优秀青年创新人才培养计划项目(2012LYM_0054)
关键词
不透明谓词
除留余数法
软件水印
JAVASCRIPT
Opaque predicate
Method of remainder of division operation
Software watermark
JavaScript