如何使用频率分析工具
频率分析是统计文本中每个字母出现次数,并利用这些统计数据推断文本来源或加密方式的过程。以下是使用本页工具的分步指南:
-
将文本粘贴或输入到输入框中。该工具接受任何文本——明文、密文或混合内容均可。为获得最佳效果,请使用至少 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)产生的密文在计算上与随机数据无法区分。每个字节值以相等的概率出现,无论进行多少频率分析都无法揭示任何有关明文的信息。频率分析严格来说只适用于古典密码。