密码分析是研究在不知道通常解密所需要的秘密信息的情况下对已加密的信息进行解密的一门学问。密码分析解法即成功解密需要查找到一个秘密的钥匙的分析方法,主要的密码分析解法有三种:穷举攻击、统计分析攻击和解密变换攻击。
简介密码学是研究密码系统或者信息安全的一门科学。 它主要包括两个分支,即密码编码学和密码分析学。密码分析解法简单来说用于破解密码的方法,破译方法包括穷举破译法和数学分析法两类。
方法穷举法也称为暴力攻击,密码分析者通过试遍所有的密钥来进行破译,显然可以通过增大密钥量来对抗穷举攻击。它是对截获的密文依次用各种可能的密钥试译,直到获得有意义的明文,或者利用对手已注入密钥的加密机,对所有可能的明文依次加密直到得出与截获的密文一致的密文。只要有足够的时间和存储空间,穷举攻击法原则上是可行的,但在实际中, 计算时间和存储空间都受到限制,只要密钥足够长,这种方法往往不可行。
数学分析法又分为确定性分析法和统计分析法。确定性分析法,又称解密变换攻击,是利用密文或者“明文—密文”对等已知量以数学关系式表示出所求未知量(如密钥等),然后计算出未知量。为对抗这种攻击,应该选用具有坚实的数学基础和足够复杂的加密算法。
统计分析方法,密码分析者通过分析密文和明文的统计规律来破译密码,是利用统计规律进行破译的方法,它是对截获的密文进行统计分析,找出其统计规律或特征,并与明文空间的统计特征进行对照比较,从中提取出密文与明文间的对应关系,最终确定密钥或明文。对抗统计分析攻击的方法是设法使明文的统计特性与密文的统计特性不一样1。
线性密码分析:作为一种己知明文攻击方法,线性密码分析方法叫的本质思想在于,通过将一个给定的密码算法有效且线性近似地表示出来以实现破译。现有密码分析技术也得到了一定的推广。利用己知明文,16轮DES系统己可以通过线性密码分析进行破译,在某些情况下甚至可以实现唯密文攻击。针对数据加密标准DES系统的主要攻击包括强力攻击手段,差分密码分析等。就16轮DES密码系统而言,不管是差分密码分析还是线性密码分析方法,需要用到的明文太多,因此效率比较低。为了提高攻击效率,可以结合差分密码分析和线性密码分析技术,即差分-线性密码分析技术。
差分密码分析:1990年,以色列密码学家Biham和Shamir提出了差分密码分析技术。差分密码分析特别适用于迭代密码。差分密码分析的本质思想在于,通过分析相应明文对差值和密文对差值之间的相互影响关系,来得到密钥的一些比特信息。对于差分密码分析也有很多推广,其中比较常见的包括高阶差分密码分析等。
密码分析学密码分析学的主要目的是研究加密消息的破译和消息的伪造。通过分析密文来推断该密文对应的明文或者所用密码的密钥的过程也称作密码攻击。密码分析也可以发现密码体制的弱点,最终达到上述结果。在密码分析的发展过程中,产生了各种各样的攻击方法,其名称也是纷繁芜杂。根据密码分析者占有的明密条件,流密码分析可分为以下四类:
唯密文攻击。密码分析者有一些消息的密文,这些消息都用同一加密算法加密。密码分析者的任务是恢复尽可能多的明文,或者最好是能够推算出加密消息的加密密钥和解密密钥, 以便采用相同的密钥解出其它被加密的消息。
已知明文攻击。密码分析者不仅可以得到一些消息的密文,而且也知道这些消息的明文。分析者的任务就是用加密的消息推出加密消息的加密密钥和解密密钥,或者导出一个算法, 此算法可以对用同一密钥加密的任何新的消息进行解密。
选择明文攻击。密码分析者不仅可得到一些消息的密文和相应的明文,而且他们也可选择被加密的明文。这比已知明文攻击更有效。因为密码分析者能选择特定的明文块去加密,那些块可能产生更多关于密钥的信息,分析者的任务是推出用来加密消息的加密密钥和解密密钥,或者导出一个算法,此算法可以对同一密钥加密的任何新的消息进行解密。
选择密文攻击。密码分析者能够选择不同的被加密的密文,并可得到对应的解密的明文, 例如密码分析者存取一个防篡改的自动解密盒, 密码分析者的任务是推出加密密钥和解密密钥。
本词条内容贡献者为:
王慧维 - 副研究员 - 西南大学