2.4 破译替换密码的方法

未匹配的标注

第一种攻击:蛮力攻击或穷尽钥匙搜索

蛮力攻击的想法非常简单:攻击者 Oscar 通过信道获得密文,并且他碰巧知道一小段明文,比如被加密的文件的头部。现在 Oscar 可以尝试所有可能的密钥解密该密文开头的一小段内容。再次强调一下,这种加密方法的密钥是一个替换表。如果解密后的明文和这段明文匹配的话,则说明他找到了正确密钥。
请注意:理论上讲,蛮力攻击总是可以破解对称密码;而实际上这种方法是否可行则取决于密钥空间的大小,即某个给定密码存在的所有可能密钥的数量。如果在多台现代计算机上测试所有的密钥需要花费大量时间,比如几十年,则这个密码可以称为对蛮力攻击是计算安全的。

第二种攻击:字母频率分析

从上面提到的蛮力攻击可以发现,它将密码看做一个黑盒,即我们不会分析密码的内部结构。使用字母频率可以轻松地破解替换密码。
替换密码最大的缺点在于:每个明文符号总是映射到相同的密文符号。这就意味着明文的统计特性在密文中得到了很好的保留。
在实际字母频率分析攻击中:我们可以利用以下几种语言特性:

  1. 确定每个字母的频率。
  2. 上面提到的方法可以推广到查看连续的两个、三个或四个等密文字母。例如,英语(或其他欧洲语言)中的字母 U 几乎总是紧跟在字母 Q 后面,这种现象可以用来检测字母 Q 和 U 对应的替换字母。
  3. 假设我们发现了单词分隔符(空格),就可以很轻松的找到高频短单词,比如 THE、AND 等;当然能发现单词空格符的情况并不常见。一旦可以确定任何一个短单词,我们立刻就能知道整个文本中这三个字母(或这 N 个字母,N 表示单词长度)分别代表什么。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~