替换密码破解器:不需要密钥也能解开

粘贴 cryptogram、Aristocrat 或 Patristocrat。破解器在你的浏览器里搜索密钥,给出几个最好的答案,并可以锁定有把握的字母后重新破解。

0 个字母
示例
空格

根据你的文字自动选择。

语言
高级选项
搜索力度

这个替换密码破解器不需要密钥。把一段 cryptogram 或任何简单替换密码粘贴进来,它会自动寻找那把能把密文变成通顺英文或西班牙文的 26 字母密钥。它会并排给出几个最好的答案;你可以锁定有把握的字母后重新破解;如果密钥是由关键词生成的,它还会把关键词读出来。工具下方是一份手工破解替换密码的分步教程,用的是一段真实的密文。

替换密码破解器怎么用

  1. 粘贴密文。 手上的替换密码是什么样就怎么贴,字母、空格、标点都可以;五个字母一组的写法也行。
  2. 确认空格选项。 “保留词界”(Keep word breaks)把空格当作真正的单词分隔,报纸上的 cryptogram 和 Codebusters 的 Aristocrat 都是这样写的。“忽略空格”(Ignore spaces)用于去掉了空格、或改成五字母一组的密文,也就是 Patristocrat。破解器会根据文本的样子自动选一个,选错了可以手动改。
  3. 选择语言。 默认英语;Codebusters 的 Xenocrypt 选西班牙语。
  4. 决定是否允许字母解成自己。 “字母不解成自己”默认打开,因为英文谜题书和所有 Codebusters 题目都遵守这条规则。搜索开始前,它就排除了将近三分之二的密钥,密文越短越要紧。只有确定密钥可能让某些字母保持不变时才关掉,比如你自己随机打乱、又没开这条规则的密钥。
  5. 点击破解。 计算在你的浏览器里进行,并显示进度。在笔记本电脑上,80 到 200 个字母的密文只要 0.1 到 0.5 秒,手机会慢几倍。随时可以停止,并保留目前找到的最好答案。
  6. 看答案。 破解器把解出的明文逐个写在密文字母下面,就像在纸上做 cryptogram 一样。旁边列出几个最好的候选,各带一个可信度标签。通常第一个就是对的;如果它读起来差一点点,看看第二个。

答案差一点时:锁定字母

密文较短或比较特殊时,破解器可能把大部分密钥都解对了,却把几个罕见字母弄反,比如只出现一两次的 J 和 Q、K 和 V。这时不用从头再来,自己修一下就行。

结果下方的密钥表列出每个密文字母,以及破解器给它选的明文字母。把确定错了的改掉,再点亮有把握的字母旁边的锁,然后点“锁定后重新破解”。破解器会保留所有锁定的对应关系,只搜索其余部分。对一段短到无法单独破开的替换密码,往往两三个正确字母就能把它引到正确答案。

题目给了提示时也这样用。比如提示说 ZIT 是 THE,就在破解前锁定 Z→T、I→H、T→E。

从密钥里读出关键词

很多 cryptogram 用的不是随机密钥,而是关键词字母表,也就是关键词密码和 Codebusters 里 K1、K2、K3 字母表的做法。破解完成后,工具会把还原出的密钥从两个方向对齐,寻找开头一段字母、后面接着按顺序排列的剩余字母。找到了,就显示字母表类型、关键词和位移量。

即使密钥不完整,这一步也能做。一段密文很少包含全部 26 个字母,工具会把关键词里无法确定的位置显示成问号,并列出可能填进去的字母;只要看得见的部分足够明确,仍然会报出关键词。前提是看得见的部分是对的:如果破解器把两个罕见字母弄反了,先改正并锁定,否则读出的关键词会是乱的。Codebusters C 组有时要求写关键词而不是明文,这一步就是答案本身。三种字母表的区别和例子见 Aristocrat 练习页。

替换密码破解器的原理

替换密码有 26! 种可能的密钥,不可能逐个试,所以破解器用的是搜索。

它先根据字母频率猜一把初始密钥:密文里最常见的字母配 E,第二常见的配 T,依此类推。然后反复交换密钥里的两个字母,重新解密,并给结果打分。分数衡量解出来的文字有多像所选的语言:把解密结果里每一段连续四个字母的常见程度加起来,统计数据来自 25 本英语和 10 本西班牙语公有领域书籍,总计一千多万个字母。分数提高的交换保留,降低的撤销。交换再也提高不了分数时就重新开始,有时从一把全新打乱的密钥开始,有时把目前最好的密钥稍微打乱再继续;连续很多次都超不过最好答案时停止。

开启“保留词界”时,整个单词也计入分数:解出的单词只要在最常用的 12,000 个英语单词(西班牙语 15,000 个)之内,就加分。所以一把让单字母词变成 A 或 I、短词变成 THE、AND、OF、TO 的密钥,会胜过只把字母组合弄对的密钥。开启“忽略空格”时,搜索过程中没有单词可查,只能靠字母组合往上爬;最后一步,它会尝试把最好的几个答案切分成词典里的单词。正是这最后的切分,让它能把正确的 Patristocrat 和差一点点的答案区分开,这也是 Patristocrat 需要比 Aristocrat 更长文字的原因。

可信度标签衡量的是:最好的答案,领先“和它至少相差三个字母的最强对手”多少。差距大,说明没有别的读法接近;差距小,说明两把很不一样的密钥对这段密文的解释几乎一样好。三个标签是在一千多次测试求解上校准的:

  • “很可能”(Likely):测试中,带这个标签的答案大约九成以上完全正确。
  • “有可能”(Possible):大约一半正确。读的时候多留心,和下一个候选对照一下。
  • “不太可能”(Unlikely):只有一到两成正确。可能是文字太短、根本不是简单替换密码,或者语言不在支持范围内。

标签是实测出来的比例,不是保证。文字极短,或者语言不是英语、西班牙语时,标签本身也不可靠。

破解器需要多少密文

下面是实测结果,不是估计。测试段落取自 14 本没有用于训练的公有领域书籍,截成各个长度,用随机密钥加密,且没有字母映射到自己。第一名答案错字母不超过两个就算解对,这也是 Codebusters 给满分的标准。

密文字母数英语,保留词界英语,去掉空格西班牙语,保留词界
5083%43%100%
8097%93%100%
100100%100%95%
15097%93%100%
200100%100%100%

英语每格 30 段、西班牙语每格 20 段,所以每次重测会有几个百分点的波动,重要的是趋势。保留词界时,80 个字母(大约报纸 cryptogram 的两行)几乎总是够的。去掉空格时,也要这么长才可靠;50 个字母左右,解对的不到一半,这时锁定两三个已知字母最有用。

如何手工破解替换密码

用纸笔破解替换密码,就是先做一个小而稳的猜测,然后顺着它往下推。下面是一段真实的 cryptogram,共 92 个字母,用一把随机密钥加密,没有字母映射到自己:

ZR ZD J RLCRT CQZBHLDJXXE
JWNQAUXHIOHI, RTJR J DZQOXH PJQ ZQ
GADDHDDZAQ AY J OAAI YALRCQH, PCDR
FH ZQ UJQR AY J UZYH.

第一步:数字母,但先别信

密文字母JQZRDHACXY
次数9988888444

长文里,出现最多的字母几乎一定是 E。可这里有七个字母的次数只差一,统计只能告诉我们:J、Q、Z、R、D、H、A 是 E、T、A、O、I、N、S 这几个常见字母,顺序不明。150 个字母以下的替换密码大多如此,所以短 cryptogram 要靠单词形状,而不是频率。

第二步:单字母词

J 单独出现了四次。英语里单字母词只有 A 和 I。先记下这两种可能。

第三步:开头相同的两字母词

ZR、ZD、ZQ 都以 Z 开头。三个不同的两字母词共用一个首字母,很像 I:IT、IS、IN。如果 Z 是 I,那单独的 J 就是 A。

第四步:有重复字母的词

RTJR 的形状是 ABCA:四个字母,首尾相同,第三个是 J,也就是我们认为的 A。THAT 正好吻合,于是 R = T、T = H,ZR 就是 IT。这和第三步的猜测一致,说明两个猜测都对。

第五步:用已有的字母往下推

有了 I、T、A、H,ZD 和 ZQ 就是 IS 和 IN,于是 D = S、Q = N。再看长词 GADDHDDZAQ,形状是 ABCCDCCEBF:DD 出现两次,而 D 是 S、Z 是 I、Q 是 N。这个词读作 ?-?-S-S-?-S-S-I-?-N,只可能是 POSSESSION,于是 G = P、A = O、H = E。

第六步:补短词

RLCRT 读作 T-?-?-T-H,五个字母、这种形状,是 TRUTH,所以 L = R、C = U。AY 是 O?,放在名词前就是 OF,所以 Y = F。OAAI 是 ?-O-O-?,中间两个 O 的常用词:GOOD,所以 O = G、I = D。

第七步:读出全文

把这些字母填到所有位置,剩下的很快就出来了:UJQR 是 WANT,PCDR 是 MUST,FH 是 BE,UZYH 是 WIFE。明文是简·奥斯汀《傲慢与偏见》(1813)的第一句:

IT IS A TRUTH UNIVERSALLY
ACKNOWLEDGED, THAT A SINGLE MAN IN
POSSESSION OF A GOOD FORTUNE, MUST
BE IN WANT OF A WIFE.

把上面的密文粘贴进破解器,和你手算的结果对照一下。它的密钥表会显示和你一样的对应关系,还有 V、K 这类在这段密文里只出现一次的字母。

破解不出来的时候

文字太短。 少于约 50 个字母,尤其是没有词界时,可能有好几把密钥都能解出通顺的句子,任何方法都无法判断写信人用的是哪一把。锁定已知字母后重新破解,或者只把答案当作参考。如果题目遵守“字母不解成自己”,保持这个选项打开也大有帮助:替换密码页上那个 31 个字母的例子,开着这个选项能正确解出,关掉就解成一句胡话。

不是简单替换密码。 文字很长,可信度却一直是“不太可能”,多半是用了不止一张字母表。看看字母频率:替换密码会保留语言本来的高低不平,少数字母很常见、多数字母很少见;如果频率很平均,试试维吉尼亚解码器,或者让密码识别器判断一下。

字母没被替换,只是换了位置。 如果频率和正常英语一样,文字却读不通,字母可能是被重新排列了,而不是被替换了。栅栏密码、密码棒(Scytale)就是这样。

语言不同。 破解器只按英语和西班牙语打分。法语或德语的替换密码会被当成写得很差的英语,通常会解错,尽管密码本身并不更难。

用的是符号而不是字母。 很多谜题用数字或图案。先把每种不同的符号换成一个不同的字母,再粘贴进来。得到的密钥是针对你替换后的字母的,但明文是对的。

Cryptogram、Aristocrat 与 Patristocrat

这些都是同一种简单替换密码,只是排版不同。英文报纸上的 cryptogram 通常是一句名言,作者名也用同一个密码加密。美国密码协会(ACA)以及沿用其术语的 Science Olympiad Codebusters 比赛,把保留词界的叫 Aristocrat,不保留词界的叫 Patristocrat;Xenocrypt 是明文为非英语的 Aristocrat,在 Codebusters 里是西班牙语。这个替换密码破解器四种都能处理,练习页还能生成新题,让你计时练习。

替换密码破解常见问题

密文要多长,破解器才能解开?

在破解器从没见过的书上测试:保留词界时,80 个字母约 97% 能解对,50 个字母约 83%;去掉空格时需要更多,80 个字母 93%,50 个字母不到一半。密文比这更短时,锁定你知道的字母后重新破解。

不用电脑,怎么破解替换密码?

先看单词,不要先看字母次数:单字母词是 A 或 I;好几个两字母词首字母相同,那个字母很可能是 I;ABCA(THAT)这种形状、双写字母,都能很快锁定一个词。每解出一个词,就多了几个字母去解下一个。本页的教程就是这样一步步解开一段 92 个字母的替换密码的。

知道一部分密钥,能用来解密吗?

能。把知道的字母填进密钥表并锁定,然后点“锁定后重新破解”。破解器会保留这些对应关系,只搜索剩下的部分,短密文会容易很多。

能解 Codebusters 的 Aristocrat、Patristocrat 和 Xenocrypt 吗?

能。Aristocrat 选“保留词界”,五字母一组的 Patristocrat 选“忽略空格”,Xenocrypt 选西班牙语。Codebusters 所有题目都不允许字母解成自己,记得打开这个选项。破解后,关键词反推会告诉你字母表是 K1、K2 还是 K3。

为什么答案差一点点就对了?

只出现一两次的字母信息太少,破解器可能把 J 和 Q、K 和 V 这样的字母对弄反。在密钥表里改正错的字母、锁定,再重新破解,其余部分通常保持不变。

我粘贴的密文会被上传吗?

不会。搜索在浏览器的后台线程里进行,用到的字母统计数据只是一个小文件,下载一次即可。你粘贴的内容不会离开你的设备。

能破解维吉尼亚或其他密码吗?

不能。它假设每个字母固定换成同一个字母。如果文字很长,可信度却一直是“不太可能”,多半是用了多张字母表,或者字母只是换了位置;可以试试维吉尼亚解码器或密码识别器。

相似工具