差分分析法解 密DES 算法 苏常友 差分分析法的基本思想是通过分析明文差分对相 应密文差分影响来获得可能性最大的密钥 (差分分析法的 基本思想在这里听不懂不理解不要紧,后面会详细介绍)。其实目前 的现状是利用差分分析法对破译16 轮DES 还不是很现 实(主要原因是普通计算机的处理能力有限,而理论 上是绝对没问题的),但用它破译轮数较低的DES 是 很成功的。现实中应用的DES 算法为了保证足够的安 全性所以比较复杂,比如经过多轮的循环以及密钥的 非线性移位。我今天要讲的只是差分分析法的基本原 理及主要过程,为了方便大家理解所以我选择先虚构 一个简单的3 轮类DES 算法(主要是把信息位及密钥简 化了,把循环轮数减为3 轮,以及省去了IP 置换,因为 IP 置换及其逆置换是公开的,查表就可以)。 假设明文信息有12 位并且表示为L0R0 的形式(即平分 为左右两部分,分别表前6 位和后6 位),密钥K 由9 位组 成,第i 个加密循环的密钥Ki 是由密钥K 中第i 个位置起的8 位而得来(即密钥每次只向右移1 位)。 第i 个循环的输出定义如下: L Li i =R =Ri-1 i-