频率分析怎么破解单表替换密码

工具相关 ·

有一段密文,用的不是凯撒密码,而是任意的一对一字母替换——A 换成 X、B 换成 Q,规则随机但固定。密钥空间是 26 的阶乘,约 4 乘 10 的 26 次方,看起来无法穷举。但这类密码在九世纪就已经有了系统的破解方法,而且至今依然有效。

原理:频率特征被保留

破解的关键在于一个观察:单表替换不改变字母的统计特征。

英文里字母的出现频率有一个稳定的分布:E 最常见,约占 12% 到 13%;其次是 T、A、O、I、N;而 Z、Q、X 出现得很少,加起来不到 1%。

单表替换只是把每个字母换成另一个字母,不改变「谁出现得多、谁出现得少」这个关系。所以密文里出现最频繁的那个字母,很可能就是 E 的替身。

同理,出现最少的字母很可能对应 Z、Q、X 之一。

破解步骤

频率分析的完整流程大致是这几步。

第一步,统计字母频率。数出密文里每个字母出现了多少次,按频率排序。

第二步,初步映射。把最高频的密文字母猜成 E,次高频的猜成 T,以此类推。这一步会给出一个粗略的映射表。

第三步,看常见词。英文里有一些高频短词:单字母词通常是 A 或 I;两个字母的词常见的有 of、to、in、is、it、be、as、at;三个字母的词常见的有 the、and、for、are、but、not、you。

如果密文里出现了一个反复出现的三字母词,它很可能是 the。这样就锁定了三个字母的映射。

第四步,迭代修正。用已知的映射去解密文,看哪些部分读得通、哪些不通。不通的地方说明映射有错,结合上下文调整,再试一次。

这个迭代过程通常几轮就能收敛。破解者会逐渐从「猜出几个字母」到「读出完整句子」。

为什么这个方法是可行的

频率分析之所以有效,根本原因是自然语言有冗余。

如果一段文本是随机字母组成的,每个字母的频率大致相同,频率分析就无从下手。但自然语言不是随机的——某些字母、某些词、某些结构出现的概率远高于其他。这些统计规律是语言的内在特征,不会因为换了字母的外形而消失。

文本越长,统计规律越明显,破解越容易。一段几百个字母的密文,频率分布可能还不够稳定;一段几千个字母的密文,频率特征就非常清晰了。

怎么对抗频率分析

历史上针对频率分析发展出了几类对抗手段。

多表替换。同一个明文字母在不同位置被替换成不同的密文字母,这样频率特征就被抹平了。维吉尼亚密码是这类方案的代表。

换位密码。不打乱字母的取值,只打乱顺序。但换位不改变字母频率,所以频率分析依然有效——这是换位密码的弱点。

引入空符号。在密文里插入无意义的字符,稀释频率特征。这能提高破解难度,但也会让密文变长、效率降低。

同音替换。给高频字母准备多个替身,轮流使用,让频率分布变得平坦。

这些手段在历史上都出现过,也都被后续的分析方法逐一攻克或削弱。它们共同的特点是「提高破解成本」而不是「提供可证明的安全性」。现代密码学走的是另一条路:用数学上可分析的构造来保证安全边界。

一个常被忽略的应用

频率分析在今天仍然有实际用途,只是场景变了。

破译历史文献。考古和史学研究中,经常遇到用未知替换规则加密的手稿或铭文。频率分析是首要的分析工具。

密码强度评估。在评估一个自定义编码方案时,统计它的输出是否保留了输入的语言特征,可以快速判断方案是否安全。

识别编码方式。拿到一段未知编码的文本时,先做频率统计——如果频率分布接近自然语言,说明可能是替换类编码;如果分布平坦,说明可能是多表替换或压缩后的数据。这个判断能帮助缩小排查方向。

检查清单

  • 单表替换不改变字母的统计特征,这是频率分析有效的根本原因
  • 英文里 E 最常见,T、A、O 次之,Z、Q、X 最少
  • 破解步骤是统计频率、初步映射、分析常见词、迭代修正
  • 高频短词(单字母、两字母、三字母词)能快速锁定部分映射
  • 文本越长,统计规律越明显,破解越容易
  • 多表替换能对抗频率分析,换位密码不能(它不改变频率)
  • 频率分析今天的用途包括破译历史文献、评估编码方案强度、识别未知编码
阅读 26