对于任何密码算法,蛮力破解都是基本的政击手段,即攻击者想试一切可能的密钥。为了提高效率,一些专用的电子破解设备被发明并制造出来,这些设备能在不足一天的时间内破解DES。因此作为第一个被广泛使用的密码算法,现在DES算法的学术价值远大于它的实用价值。
比蛮力破解效率更高的攻击方法主要有以下几种:
(1)差分分析。差分攻击利用有特定差别的明文对,计算出对应密文对的差分。这种特定的密文对差分有特殊的频率,因此能将密钥和其他随机数分开。
(2)线性分析。首先构造包含明文、密文和密钥位的线性公式,然后用这些公式结合已知的明文密文对推导密钥位。
(3)改进的大卫攻击。它基于相邻S盒输出的非均匀分布。
(4)差分错误分析。这种方法首先在计算过程中引入错误,再应用统计知识分析正确与错误密文来推导密钥。
(5)代数分析。此方法的思想是先把DES算法表达成一系列的公式,转换成代数问题,再应用代数知识求解。
(6)侧信道分析。这种方法由Kocher于1996年提出,创新性地将半导体功耗特性和密钥位操作结合起来,用统计学的方法将与逻辑位相关的微小功耗差异放大,从而推导出密钥位。
此外,还有其他一些方法,是上述分析的组合形式。