在介绍了代码混淆技术和中国剩余定理的基础上,利用密钥和一组同余方程解的状态构造了一种参数化的不透明谓词,并采用一元多项式环上的中国剩余定理判断不透明谓词的输出。理论分析表明构造的不透明谓词由若干多项式组成,对密钥敏感,具有单向性、随机性和较高的隐蔽性,密码安全性高,能抵抗静态和动态攻击。测试实验表明,混淆程序增加了混淆后程序的复杂度,保证了混淆后程序的正确性,且混淆变换不会给程序带来太大的空间和时间开销。
Based on introduction of the code obfuscation technology and Chinese remainder theorem, this paper used the key and the state for a group of congruence equations' solution to construct a parametric opaque predicate, and used Chinese remainder theorem of polynomial ring to judge opaque predicates' output. Theoretical analysis shows that the opaque predicate composed of several polynomials, is sensitive to the key, unidirectional, random and has higher concealment, the security of password is high, can resist static and dynamic attack. Experimental tests show that the change increases the complexity of the program after confusion, ensure the correctness and not to bring too much overhead of space and time.