ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2019, Vol. 56 ›› Issue (10): 2183-2192.doi: 10.7544/issn1000-1239.2019.20190368

所属专题: 2019密码学与智能安全研究专题

• 信息安全 • 上一篇    下一篇



  1. (战略支援部队信息工程大学 郑州 450002) (
  • 出版日期: 2019-10-16

A Code Encrypt Technique Based on Branch Condition Obfuscation

Geng Pu, Zhu Yuefei   

  1. (Strategic Support Force Information Engineering University, Zhengzhou 450002)
  • Online: 2019-10-16

摘要: 基于分支条件混淆的代码加密技术,实现了秘钥和程序的分离,能够对抗程序静态和动态分析手段,但仅能用于相等条件分支.通过引入拉格朗日插值法,生成输入处理函数,在保证分支条件混淆安全的前提下,解决了多输入分支条件下通过输入产生秘钥的问题,实现多输入分支下的条件代码加密;把多输入分支下生成唯一秘钥方法应用到等于条件取或分支、大小比较条件分支和复杂条件分支,实现了基于分支条件混淆的代码加密技术从相等条件分支到区间条件分支和复杂条件分支的扩展.

关键词: 条件代码加密, 路径分支混淆, 拉格朗日插值法, 多输入分支, 代码保护

Abstract: Code encryption based on path branch obfuscation of equal condition can make the key be apart from the encrypted program, so this encryption can oppose static and dynamic programming analysis method at the same time, but it can’t be used with branches controlled by other comparative relationships. In this paper, using Lagrange interpolation method to produce input-preprocess function, we not only resolve the uniqueness problem of key which produced by multi-inputs of the branch, but also preserve the security of obfuscation on branch conditions, so the conditional code of multi-inputs branch can be encrypted. Using the method which resolves the uniqueness problem of key, code encryption based on equal condition branch obfuscation can be extended to branch of greater-than and less-than condition branch, and complicate condition branch formed by blending of interval condition and equal condition.

Key words: conditional code encryption, path branch obfuscation, Lagrange interpolation method, multi-input branch, code protection