密码学----频率分析
频率分析是一种非常有用的密码破译技术,因为它依赖于一种语言中字母的基本统计关系。
例如,字母“e”和“th”在英语中非常常见。语言学家通过使用已知英语文本中字母的出现,创造了英语中字母的平均频率。这些频率关系必须通过加密而保持不变。
例如,如果f在我们的加密文本中出现得最多,那么e很可能被编码为f。
我们做出这样的推论,然后尝试通过转换特定的字符来测试它,看看我们是否得到了有意义的单词。你可能会意识到,这是惊人的有用,因为它是独立于地点和时间的,因为cookie可以访问足够的文本从那个时间或地点。我们可以在任何文本上创建频率分布,特别是为仿射密码。这里有一个很好的例子,关于如何打破一个仿射密码。类似的技术也可以用来打破密码,其中一个字符可能成为也可能不成为相同的字符,就像特征密码。
对于维吉内尔密码,流行的方法是卡西斯基测试和弗里德曼测试。
卡西斯基测试依赖于这样一个事实:一个足够长的测试很可能在加密的信息中有两个重复的短语。假设这意味着这些短语指的是相同的未加密的短语,那么两者之间的差距就会告诉我们一些关于密钥的大小。
例如,如果间隙的长度是16,我们知道键的大小必须是1、2、4、8、16,因为这将导致键在短语的开始时被重复。
弗里德曼测试稍微复杂一些,但我们最终对关键键的大小进行了一些猜测。现在,我们别无选择,只能测试每个键的大小。
给定一个密钥大小,我们将文本分解为几列,每一列表示在密钥中由相同的字母加密的字符。现在,我们只有多个凯撒移位,我们使用频率分析和暴力破解来找出键的键大小和键的值。显然,这是做了一些假设,但给定足够长的文本,这些技术确实是有效的。