字母频率分析工具
频率分析检查每个字母在文本中出现的频率,并将分布与已知语言模式进行比较。这是密码分析中最古老且最强大的技术之一——最早由 Al-Kindi 于 9 世纪描述——至今仍是破解凯撒、Atbash 和关键字密码等经典替换密码的主要方法。
输入文本
频率分布
在上方输入文本以查看频率分布图表。
关于频率分析的常见问题
什么是密码学中的频率分析?
频率分析是一种密码分析技术,用来统计文本中每个字母出现的频率。由于每种语言都有自己的字母频率分布(例如英语中字母 E 约占 12.7%),分析密文中的字母分布就可能看出替换规律。这种方法最早由阿拉伯学者阿尔-金迪在 9 世纪提出,如今仍是古典密码学中最基础的工具之一。
频率分析如何破解替换密码?
在单表替换密码中,每个明文字母都会固定替换成一个密文字母,因此原始语言的频率模式会保留在密文中,只是映射到了不同字母。把密文字母频率与已知语言频率对照,分析者就可以把最常见的密文字母对应到 E,把第二常见的对应到 T,以此类推。再结合常见双字母组(TH、HE、IN)和三字母组(THE、AND、ING)的分析,大多数替换密码都能在适量密文下被破解。
英语中字母频率最常见的是哪些?
英语中最常见的字母依次是:E(12.7%)、T(9.1%)、A(8.2%)、O(7.5%)、I(7.0%)、N(6.7%)、S(6.3%)、H(6.1%)、R(6.0%)和 D(4.3%)。ETAOIN SHRDLU 这个记忆口诀覆盖了前 12 个高频字母。最少见的字母是 Z(0.07%)、Q(0.10%)、X(0.15%)和 J(0.15%)。这些频率只是大规模英语文本的平均值,具体文本、题材和写作风格可能会有所不同。
频率分析中的卡方统计量是什么?
卡方统计量用于衡量观察到的频率分布与期望分布之间的差异。在频率分析中,它会把文本的实际字母数量与标准语言频率下应出现的数量进行比较。较低的卡方值(25 个自由度时低于约 30)通常说明文本符合正常语言模式,而较高的值则可能说明文本是加密的、使用了其他语言,或者字母分布异常。
哪些密码容易受到频率分析影响?
单字母替换密码最容易受到频率分析影响,包括凯撒密码、埃特巴什密码、关键词密码和仿射密码。这些密码都会把每个明文字母映射为唯一的密文字母,因此会保留频率模式。维吉尼亚等多表密码会让频率分析更难,因为同一个明文字母可能对应多个密文字母;但仍可通过卡西斯基检验或重合指数先确定密钥长度,再分别攻击每一子密码。
频率分析通常需要多少密文?
一般来说,单表替换密码至少需要 100 到 200 个字符的密文,频率分析才比较可靠。更短的文本中,字母频率的自然波动会让结论不够稳定。少于 50 个字符的短消息往往数据不足,难以与预期的语言模式对齐。对于多表密码,通常还需要更多密文,因为分析必须针对每个密钥位置对应的子序列分别进行。
英语中常见的双字母组有哪些?
英语中最常见的双字母组是 TH(3.56%)、HE(3.07%)、IN(2.43%)、ER(2.05%)、AN(1.99%)、RE(1.85%)、ON(1.76%)、AT(1.49%)、EN(1.45%)和 ND(1.35%)。分析双字母频率可以发现单个字母频率看不到的模式。
如何用频率分析破解密码?
先统计密文中每个字母出现的次数,再把这些频率与标准英语字母频率(E=12.7%、T=9.1%、A=8.2%、O=7.5%、I=7.0%)对比。最常见的密文字母很可能对应 E。再结合常见双字母组(TH、HE、IN)和短词(THE、AND、FOR)验证替换关系,逐步还原明文。
什么是重合指数?
重合指数(IC)衡量的是从文本中随机取两个字母时,它们相同的可能性。英语文本的 IC 约为 0.0667,而随机文本约为 0.0385。IC 可以帮助判断密码是单表的(IC 接近英语)还是多表的(IC 更接近随机),从而决定使用哪种密码分析方法。
什么时候频率分析会失效?
频率分析在非常短的文本(少于 100 个字符)、使用专业词汇的文本、多表密码(如维吉尼亚,它会压平频率分布)以及同音替换密码(会把高频字母映射为多个符号)上都不太可靠。对于多表密码,必须先使用卡西斯基检验或 IC 分析确定密钥长度。
相关密码
如何使用频率分析工具
频率分析是统计文本中每个字母出现次数,并利用这些统计数据推断文本来源或加密方式的过程。以下是使用本页工具的分步指南:
-
将文本粘贴或输入到输入框中。该工具接受任何文本——明文、密文或混合内容均可。为获得最佳效果,请使用至少 100 个字符的文本,以确保频率规律在统计上具有意义。
-
查看频率图表。交互式条形图以占所有字母字符的百分比显示每个字母的频率。字母默认按字母顺序排列,但您也可以按频率排序,以快速识别出现最多和最少的字母。
-
与英语频率进行对比。图表将标准英语字母频率与您文本的分布叠加显示。留意 E、T、A、O、I 处的特征峰值。如果峰值整体出现均匀偏移,您看到的可能是凯撒密码。如果分布显得较为平坦,则很可能使用了多表替换密码,例如维吉尼亚密码。
-
查看卡方统计量。这一单一数值概括了您的文本与预期英语频率的吻合程度。卡方值低于 30 表明文本接近正常英语;高于 50 则强烈提示文本经过加密或使用了非英语语言。
-
检查逐字母偏差。详细统计表显示每个字母的实际频率、预期频率及两者之间的偏差。较大的正偏差表示该字母在英语中出现得比预期更频繁;较大的负偏差则表示出现得更少。
-
形成假设并进行验证。如果您怀疑使用的是单表替换密码,可将最常见的密文字母映射到 E,第二常见的映射到 T,以此类推。对照常见的双字母组和三字母组核验这些猜测,不断调整替换方案,直到出现连贯的明文。
英语字母频率参考表
下表显示了英语文本中各字母的标准频率分布,基于对大规模文本语料库的分析。这些数值代表平均水平,在不同体裁、作者和文本长度下会有所差异。
| 字母 | 频率 (%) | 示例单词 | 字母 | 频率 (%) | 示例单词 |
|---|---|---|---|---|---|
| A | 8.167 | and, are, at | N | 6.749 | not, new, no |
| B | 1.492 | but, be, by | O | 7.507 | of, or, on |
| C | 2.782 | can, come | P | 1.929 | put, part |
| D | 4.253 | do, did, day | Q | 0.095 | queen, quite |
| E | 12.702 | the, he, be | R | 5.987 | are, her, or |
| F | 2.228 | for, from | S | 6.327 | so, she, is |
| G | 2.015 | get, go, got | T | 9.056 | the, to, it |
| H | 6.094 | he, has, had | U | 2.758 | up, us, use |
| I | 6.966 | in, is, it | V | 0.978 | very, have |
| J | 0.153 | just, job | W | 2.360 | was, we, with |
| K | 0.772 | know, keep | X | 0.150 | next, six |
| L | 4.025 | like, last | Y | 1.974 | you, year |
| M | 2.406 | my, me, may | Z | 0.074 | zero, zone |
助记词 ETAOIN SHRDLU 按降序排列了十二个最常见的字母:E、T、A、O、I、N、S、H、R、D、L、U。这一序列在排字工人中广为人知,以至于成为独具一格的文化符号。
破解密码:实例演示
请看以下密文,它使用了简单的替换密码加密:
GSZIV GSV OVGGVI UIVJFVMXB WRHGIRYF GRLM LU GSRH GVCG DRGS HGZMWZIW VMTORHSFIVJFVMXRVH GL XIZXP GSV XRKSVI
第一步:统计字母频率。
分析该文本,出现频率最高的字母为:
| 排名 | 字母 | 出现次数 | 频率 |
|---|---|---|---|
| 1 | G | 14 | 13.2% |
| 2 | V | 12 | 11.3% |
| 3 | R | 9 | 8.5% |
| 4 | H | 8 | 7.5% |
| 5 | I | 7 | 6.6% |
第二步:与英语频率对比。
在标准英语中,频率最高的五个字母为 E (12.7%)、T (9.1%)、A (8.2%)、O (7.5%)、I (7.0%)。对比分析:
- G (13.2%) 很可能对应 T (9.1%) 或 E (12.7%)
- V (11.3%) 很可能对应 E (12.7%) 或 T (9.1%)
第三步:寻找常见规律。
三字母单词 "GSV" 多次出现。英语中最常见的三字母单词是 "THE"。若 GSV = THE,则 G=T、S=H、V=E。
第四步:应用假设并扩展推断。
代入 G=T、S=H、V=E,检验 "GSZIV"——替换后得到 "THA_E",强烈暗示为 "SHARE"(Z=R,I=R……等等,I 对应的字母应不同)。实际上,Z=A 且 I=R 得到 "THARE"——接近 "SHARE"。进一步核验后发现:这实际上是一种埃特巴什密码,每个字母映射为其逆序字母(A<->Z,B<->Y,以此类推)。字母 G(位置 7)映射到 T(位置 20),印证了 7+20=27,符合埃特巴什规律(位置 + 逆序位置 = 27)。
第五步:解码完整信息。
应用埃特巴什替换,将整段密文解码为:"SHARE THE LETTER FREQUENCY DISTRIBUTION OF THIS TEXT WITH STANDARD ENGLISH FREQUENCIES TO CRACK THE CIPHER"
这个示例展示了频率分析结合规律识别和常用词知识,如何系统地破解替换密码。
N-gram 分析:双字母组与三字母组
单字母频率分析功能强大,但对连续字母对(双字母组)和三字母组进行分析,能揭示更多关于文本结构的信息。N-gram 分析利用了这样一个事实:英语——以及任何自然语言——在特定字母组合上具有强烈的统计偏好。
英语最常见双字母组 Top 10
| 排名 | 双字母组 | 频率 (%) | 说明 |
|---|---|---|---|
| 1 | TH | 3.56 | 最常见的双字母组;出现于 "the"、"that"、"this"、"them" |
| 2 | HE | 3.07 | 出现于 "the"、"he"、"her"、"here"、"them" |
| 3 | IN | 2.43 | 常见介词及词尾("-ing"、"-tion") |
| 4 | ER | 2.05 | 常见词尾("-er"、"-ler"、"-ber")及 "her"、"every" |
| 5 | AN | 1.99 | 冠词 "an" 及出现于 "and"、"any"、"can"、"man" |
| 6 | RE | 1.85 | 前缀 "re-" 及出现于 "are"、"were"、"here" |
| 7 | ON | 1.76 | 介词及出现于 "one"、"only"、"upon" |
| 8 | AT | 1.49 | 介词及出现于 "that"、"what"、"cat" |
| 9 | EN | 1.45 | 常见词尾("-en"、"-ment")及出现于 "then"、"when" |
| 10 | ND | 1.35 | 出现于 "and"、"end"、"find"、"kind" 的词尾 |
英语最常见三字母组 Top 10
| 排名 | 三字母组 | 频率 (%) | 说明 |
|---|---|---|---|
| 1 | THE | 3.51 | 英语最常见单词 |
| 2 | AND | 1.59 | 最常见的连词 |
| 3 | ING | 1.47 | 现在分词后缀 |
| 4 | HER | 0.90 | 代词,及出现于 "there"、"where"、"other" |
| 5 | THA | 0.83 | 出现于 "that"、"than" 的开头 |
| 6 | ERE | 0.78 | 出现于 "there"、"where"、"here" |
| 7 | FOR | 0.76 | 常见介词 |
| 8 | ENT | 0.73 | 出现于 "went"、"sent"、"ment" 的后缀 |
| 9 | ION | 0.70 | 常见后缀 "-tion"、"-sion" |
| 10 | TER | 0.68 | 出现于 "after"、"water"、"letter" |
在密码分析中使用 N-gram
当单字母频率分析产生多个可能的映射时,双字母组和三字母组分析有助于缩小正确替换方案的范围:
- 识别密文中的重复双字母组。密文中最常见的双字母组很可能对应 TH。
- 寻找三字母组规律。若某个三字母序列频繁出现,它很可能代表 THE。
- 关注单词边界。英语中的两字母单词极为有限(常见的有:OF、TO、IN、IS、IT、AS、AT、WE、HE、BY、OR、ON、DO、IF、ME、MY、UP、AN、GO、NO、US、AM、SO)。若能识别密文中的单词边界,将其与已知两字母单词对照,可以迅速缩小解答空间。
- 结合字母频率数据。一旦通过 N-gram 分析获得高置信度的映射,便可将其用作锚点来确定单字母频率的对应关系。
频率分析的局限性
频率分析并非万能的破密工具。有几类加密方式能够抵御甚至彻底规避它:
多表替换密码
维吉尼亚密码等密码使用多个替换字母表,随着每个字母的加密循环切换。这将每个明文字母分散到多个不同的密文字母中,使频率分布趋于平坦,看起来接近随机文本。破解多表替换密码需要先确定密钥长度(使用 Kasiski 检验或重合指数),然后对每个子密码分别进行频率分析。
同音替换密码
同音替换密码将每个明文字母映射到多个可能的密文符号,频率越高的字母拥有越多的替代符号。例如,E 可能映射到五种不同符号中的任意一种,而 Z 只有一种。这使密文频率分布趋于均匀,从而击败基于简单计数的攻击。破解同音替换密码需要更复杂的技术,包括双字母组频率分析和爬山算法。
短文本
当字符数少于 100 个时,字母使用上的自然统计波动可能大于您试图检测的信号。一段短文本可能恰好不含字母 E,尽管 E 是英语中最常见的字母。在这种情况下,频率分析只能提供微弱的证据,必须辅以其他技术,如已知明文攻击或基于上下文的推断。
无效密码与隐写术
某些加密方法将信息隐藏在看似无害的文本中,对载体文本进行频率分析毫无用处,因为载体文本本身具有正常的频率分布。检测这类方法需要完全不同的分析手段。
现代加密
现代密码学算法(AES、RSA、ChaCha20)产生的密文在计算上与随机数据无法区分。每个字节值以相等的概率出现,无论进行多少频率分析都无法揭示任何有关明文的信息。频率分析严格来说只适用于古典密码。