密码分析与密码设计是“相互对立、相互依存的”。伴随着任何一种密码体制的设计,分析者便会千方百计地从该密码体制中寻找“漏洞”和缺陷进行攻击。对现代分组密码体制更是如此。例如,DES自从诞生以来,对它的分析和破解一直没有停止过。归纳起来,对分组密码体制的分析方法主要有穷尽密钥搜索攻击、差分密码分析和线性密码分析。
1.穷尽密钥搜索攻击
穷尽密钥搜索攻击可用于任何分组密码,且攻击的复杂度只依赖于分组长度和密钥长度。严格地讲,攻击所需的时间复杂度依赖于分组密码的工作效率,包括加密/解密速度、密钥扩展速度以及存储空间等。
设k是密钥长度,在唯密文攻击下,攻击者依次使用密钥空间中所有2k个密钥解密一个或多个截获的密文,直至得到一个或多个有意义的明文块。在已知明文攻击下,攻击者使用密钥空间中的所有2k个密钥对一个已知明文加密,将加密结果同该明文相对应的已知密文比较,直至两者相等,然后再用其他几个已知明文对或者密文对来验证该密钥的正确性。
2.差分密码分析法
差分密码分析法是1991年由Biham和Shamir提出的针对迭代分组密码的分析破译法。简单说,这是一个选择明文攻击。它与一般统计分析法的本质区别是,不直接分析密文或密钥的统计相关性,而是通过对明文对的差值与相应的密文对的差值之间的统计关系的分析,对密钥的某些位进行合理的推断与猜测。在输入输出的非线性关系下,往往给定一个密钥将导致两个明文的差值和其对应的两个密文的差值不一样。而大量的分组密码的S盒设计又都是非线性的,因此某些差异关系有可能暗示一些密钥值的蛛丝马迹。(www.xing528.com)
尽管差分密码分析法对破译16轮的DES还不能提供一种实用的方法,但用它破译轮数较低的DES是很成功的。例如,在微机上对8轮DES只需几分钟计算就能破译。
3.线性密码分析
线性密码分析是Matsui和Yamagishi于1993年提出的分析方法,它是一种已知明文攻击法,许多分组密码的非线性结构和特征为其提供了分析背景。它通过对非线性函数的线性近似来实现分析密钥的目标。其基本思想是寻找一个密码算法的有效的线性近似表达式,即寻找分组密码算法中明文、密文和密钥的若干位之间的线性关系,最终破译密码系统。
线性密码分析方法本质上是一种已知明文攻击方法。这种方法可用221个已知明文破译8轮DES,可用247个已知明文破译16轮DES。该种方法在某些情况下,也可用于唯密文攻击。线性密码分析的基本思想是通过寻找一个给定密码算法的有效的线性近似表达式来破译密码系统。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。