北京邮电大学学报

  • EI核心期刊

北京邮电大学学报 ›› 2007, Vol. 30 ›› Issue (6): 103-106.doi: 10.13190/jbupt.200706.103.031

• 研究报告 • 上一篇    下一篇

构造一种新的混淆Java程序的不透明谓词

袁 征1,2, 3, 冯 雁1, 温巧燕3 张华3   

  1. (1.. 北京电子科技学院 信息安全系, 北京 100070; 2. 清华大学 高等研究中心, 北京100084; 3. 北京邮电大学 理学院, 北京 100876)
  • 收稿日期:2007-01-01 修回日期:2007-10-09 出版日期:2007-12-31 发布日期:2007-12-31
  • 通讯作者: 袁征

Manufacture of a New Opaque Predicate for Java Programs

YUAN Zheng1,2, 3 , FENG Yan1, WEN Qiao-yan3, ZHANG Hua3   

  1. ( 1. Department of information security, Beijing Electronic Science and Technology Institute, Beijing 100070,China; 2. The Center for Advanced Study, Tsinghua University,Beijing 100084,China; 3. School of Science, Beijing University of Posts and Telecommunications, Beijing100876,China)
  • Received:2007-01-01 Revised:2007-10-09 Online:2007-12-31 Published:2007-12-31
  • Contact: YUAN Zheng

摘要:

不透明谓词是实现混淆的关键,利用同余方程构造了一种混淆Java程序的不透明谓词簇, 首次采用密钥和不定方程判断不透明谓词的输出. 该不透明谓词是单向陷门的, 具有弹性高、秘密性好和实现简易的特性;该不透明谓词是动态的,可以抵抗软件的静态和动态的攻击,也具有密码安全性.

关键词: Java混淆, 不透明谓词, 同余方程, 不定方程

Abstract:

Most of developers protect their Java programs by code obfuscation, and opaque predicates act as tools for obfuscating control flow logic embedded within code. A new method of using congruent equation to construct a family of opaque predicates for Java programs is presented. Additionally, key and Diophantine equation is first exploited for estimating output of opaque predicates. The opaque predicates are trapdoor one-way being more resilient, stealthier and cheaper. The opaque predicates are dynamic and secure against all usual types of static attacks and dynamic attacks, and also secure against cryptanalysis.

Key words: Java obfuscating, opaque predicates, congruential equation, Diophantine equation

中图分类号: