白盒DES实现的密码分析
1. 引言
近年来,程序混淆的可能性受到了广泛研究。从理论上讲,Barak等人证明了对计算机程序进行混淆任务存在不可能的结果。不过,对于特定实例,尤其是加密原语,还未证明其无法被混淆。
2002年,Chow等人提出了两种不同的DES混淆方法,分别是“裸DES(naked - DES)”和“非标准DES(nonstandard - DES)”。其中,“裸DES”的密码分析方法已有多人提出,而“非标准DES”是在“裸DES”基础上,对常规DES添加初始和最终秘密置换后进行混淆得到的。此外,许多行业参与者也开发了加密算法的混淆实现,用于数字版权管理(DRM)、付费电视和知识产权保护等领域。
2. DES混淆方法
Chow等人提出的两种DES混淆方法如下:
- 裸DES(naked - DES) :
- 标准DES由多个函数实现,如仿射函数M1、T盒、仿射函数M2,i和M3等。
- 混淆器程序会计算多个随机非线性置换,将组件Ai(如Ti、M1、M2,i或M3)在置换Pi,1和Pi,2之间进行混淆,得到的函数Pi,1 ◦ Ai ◦ Pi,2存储在数组中供混淆程序使用。
- 相邻组件的最终置换和初始置换会相互抵消。
- 非标准DES(nonstandard - DES) :在“裸DES”前后分别添加仿射双射M0和M4。本文假设M0和M4不进行块编码。
- Link和Neumann对“裸DES”的攻击进行了改进,他们将每一轮的T盒和仿射函数M2,i合并,且M2,i函数的块编码方式不同。
超级会员免费看
订阅专栏 解锁全文
38

被折叠的 条评论
为什么被折叠?



