上QQ阅读APP看书,第一时间看更新
2.1.2 密码分析
信息截收者在不知道解密密钥及通信者所采用的加密体制的细节条件下,对密文进行分析,试图获取机密信息。研究分析解密规律的科学称作密码分析学。密码分析在外交、军事、公安、商业等方面都具有重要作用,也是研究历史、考古、古语言学和古乐理论的重要手段之一。
密码分析和密码设计是相互对立、相互依存的。伴随着对任何一种密码的分析,分析者千方百计从该密码算法中寻找漏洞和缺陷,进而进行攻击。密码设计是利用数学来构造密码。密码分析者拥有的资源如表2-1所示,密码分析除了依靠数学、工程背景、语言学等知识外,还要靠经验、统计、测试、眼力、直觉判断能力等,有时还得靠点运气。
表2-1 攻击密码的类型
密码分析方法可以分为两大类:穷举破译法和分析法。穷举破译法对截收的密报依次用各种可能的密钥进行尝试,直至得到有意义的明文;或在不变密钥的条件下,对所有可能的明文加密直至得到与截获密报一致为止,此法又称为完全试凑法(Completetrial-and-error Method)。只要有足够多的计算时间和存储容量,原则上穷举法总是可以成功的,因为密钥空间、明文空间、密文空间都是有限的。但实际中,任何一种能保障安全要求的实用密码都会设计得使这一方法在实际上是不可行的。
分析法分为确定性分析法和统计分析法。确定性分析法利用一个或几个已知量(如已知密文或明文-密文对)用数学关系式表示出所求未知量(如密钥等)。已知量和未知量的关系视加密和解密算法而定,寻求这种关系是确定性分析法的关键步骤。而统计分析法利用明文的已知统计规律进行破译,密码破译者对截收的密文进行统计分析,总结出其间的统计规律,并与明文的统计规律进行对照比较,从中提取出明文和密文之间的对应或变换信息。