差分分析(differential cryptanalysis)
是一种选择明文攻击,其基本思想是:通过分析特定明文差分对相对应密文差分影响来获得尽可能大的密钥。它可以用来攻击任何由迭代一个固定的轮函数的结构的密码以及很多分组密码(包括DES),它是由Biham和Shamir于1991年提出的选择明文攻击。
差分分析涉及带有某种特性的密文对和明文对比较,其中分析者寻找明文有某种差分的密文对。这些差分中有一些有较高的重现概率,差分分析用这些特征来计算可能密钥的概率,最后定为最可能的密钥。据说这种攻击很大程度上依赖于S-盒的结构,然而DES的S-盒被优化可以抗击差分分析。
另外,分组加密的轮数对差分分析的影响比较大。如果DES只是使用8轮的话,则在个人计算机上只需要几分钟就可以破译。但要是在完全的16轮情况下,差分分析仅比穷尽密钥搜索稍微有效。然而如果增加到17或者18轮,则差分分析和穷尽密钥搜索攻击花费同样的时间。如果再把轮数增加到19轮的话,则用穷尽搜索攻击比差分分析更容易了。
尽管差分分析是理论可破的,但因为需要花费大量的时间和数据支持,所以并不实用。