中文译本 · 原作 Daniel Bourdeau《Unsolved Historical Ciphers》 以 CC BY 4.0 发布,本页由 JIC 翻译,非原作者官方版本,译文如有出入以英文原页为准 · 查看英文原页 ↗
1721'01'51'71'9 2'12'68 3'2 3'32'03'7 000000 1'62'71'23'43'8
2'8 2'2 3'9 4'04'14'24'84'4 000000 9 31'3000 1'8 42'32'4000
4'62'93'5 5'154'34'700 0 61'13'65'05'23'04'94'52'53'11'4 —

华盛顿 · 1935年4月 · 手写数字块 · Schmeh Top 50 第17号

罗斯福密码

富兰克林·D·罗斯福
收信人富兰克林·D·罗斯福

一封威胁总统的信上方有三行数字,由 William Friedman 复制刊出;自1935年以来,没有人提出过这些数字的解读

根据现有最清晰的副本转录,这些数字是1到52,每个各写一次,排列顺序带有手写列表的统计特征。Thomas Ernst 在2017年注意到了这是一个排列,称这个数字块是随手涂写;本页证实了这一点,并检验了在这个长度下可以检验的密码解释。这里没有密文,也没有信息。

Daniel Bourdeau · 发布于 · 更新于

方法:并非密码

摘要。根据现有最清晰的副本逐字形转录,这个数字块是1到52的一个排列:九个单个数字和43个用小勾连起来的两位数,每个值各出现一次,另有十八个零,按六个和三个一组。Thomas Ernst 在2017年注意到了这一点,称这个数字块是随手涂写;转录证实了这一点。这个排列并非随机:数值随位置向上漂移,中间连续出现 39 40 41 42,而且它可以分解成十六条上升链,而随机洗牌应得到约26条。这些都是一个人写下“随机”数字而又不让它们重复时留下的痕迹。在这个长度下唯一可以检验的一类密码解释——按字母顺序排列的同音符,或由排序导出的移位密钥——都失败了,而匹配的52字母对照都能被恢复。状态:解释为人为构造的序列。其中没有信息。

01 实物

根据正面的收件章,特勤局于1935年4月24日收到一张纸,顶部用花体写着“Secret Service”,右上角斜写着“261”,下面是三行数字、两行大写印刷体字母,还有一个骷髅交叉骨,下方是一把刺穿靴子的匕首。William Friedman 在他1959年系列讲座的第一讲中把它复制为图2,该讲座由 NSA 以The Friedman Legacy(1992)为题刊印,他只配了一句话:这是一个真实的移位密码实例,寄给罗斯福总统,特勤局请他解读,令他懊恼的是,内容竟是“Did you ever bite a lemon?”(你咬过柠檬吗?)。这个解读取的是 NDOIMDEYLOAUEETVIEBR? 中每隔一个的字母;下面那一行 OR ELSE YOU DIE!!(否则你就死定了!!)是明文。Friedman 对那些数字只字未提。

Klaus Schmeh 在2015年发布了这封信,2017年12月又将其作为他 Top 50 榜单的第17号再次发布。在评论中,Marc Gutgesell 指出没有任何一个用小勾连起来的两位数重复,而零散的数字是1到9;Thomas Ernst 列出了43个两位数,发现它们恰好是10到52,并得出结论说这个数字块是“随手涂写,如果不是伪造的话”,也许是为了让 Friedman 咬一口柠檬而做的。此后再无人提出解读。

02 转录

现存两个副本:Schmeh 的614像素扫描件,以及 NSA 书中的插图。Internet Archive 存有该书的300 ppi 扫描件,其中的插图(此处已裁切)是在没有原件的情况下能得到的最清晰的数字块副本。

罗斯福信件:三行带小勾的数字、字母行、骷髅交叉骨和一把刺穿靴子的匕首
The Friedman Legacy 的图2,NSA 密码史中心,1992年。图片:NSA 密码史中心,The Friedman Legacy(1992),图2,来自 Internet Archive。

标准转录中的“撇号”,其实是写在两个数字之间上方的短小勾,小勾下面的两个数字是一个数。没有小勾的数字单独成数。按这种方式转录,数字块如下:

1 7 2  10 15 17 19 21 26  8  32 33 20 37  000000  16 27 12 34 38
28 22 39 40 41 42 48 44  000000  9 3 13  000  18 4 23 24  000
46 29 35 51 5 43 47  000  6 11 36 50 52 30 49 45 25 31 14 —

43个两位数是10到52,每个恰好一次。九个零散数字是1到9,每个恰好一次,顺序为 1 7 2 8 9 3 4 5 6。十八个零按6、6、3、3分组。这就是数字块的全部内容:1到52的一个排列,外加四个分隔符。两位评论者注意到数字下方有 Friedman 或特勤局用铅笔试写的字母,但两份扫描件都无法辨认。

03 手写的洗牌

52个数的排列可以拿来与公平洗牌作检验。这个排列同时在四个方面不合格。

统计量观测值52个数的公平洗牌p(200 000次洗牌)
数值与位置的秩相关+0.3900.002
相差恰好 +1 的相邻数5约10.003
上升链(位置递增的数值序列)16约26.5低于二十万分之一
和为53的相邻数4约10.018

上升链是最强的信号。从每个值追到下一个值:1 2 3 4 5 6 在数字块中按这个顺序出现,7 8 9、21到25、26到31、32到36、37到43也是如此。写的人分几轮交错地在尚未用过的数里往上写,再回头补上跳过的,等新数不够用时,就一口气写下 39 40 41 42。表中的每一项异常都属于这一类。和为53的四对相邻数中有三对横跨一个零组(37|16、44|9、47|6),Gerd 在2017年注意到了这一点;这是轻微的超出,并非其他结论所依赖的结构。

唯一以52为单位的东西是一副扑克牌,所以也把数字块当作一副经过鸽尾式洗牌的牌来检验。十六条上升链正是洗四次所产生的,但洗过四次的一副牌不会同时出现0.39的向上漂移和四张连续的牌:在 Gilbert-Shannon-Reeds 模型下,洗四次时这一联合事件的概率为0.003,洗三次时为0.023。手写列表比一副牌更能解释这个数字块。两者都不包含文本。

04 可以检验的密码解释

一个每个数都只出现一次的数字块,只有两种可能是密码:一种是有52个同音符、每个只用一次的同音替换;另一种是对一个52字母的短语按字母排序导出的移位密钥。如果密钥是无序的,这两种读法都能产生任意一段52字母的文本,因此都无法检验或驳倒;有一位评论者就拟合了一个任意句子来证明这一点。如果密钥是有序的——同音符按字母表顺序分配,或者从逆排列恢复出的短语中字母沿排序单调不减——明文就由51个边界选择决定,约66比特,而52个英文字母约有70比特的冗余。这勉强可以检验。

检验采用模拟退火,搜索从1到52到字母表的单调不减映射,用字符5-gram 英语模型打分,分六种读法(序列顺序与逆排列、字母表正序与倒序、零组当作词间隔或忽略),每种重启60次、每次60 000步。对照是狄更斯和梅尔维尔的52字母段落,用有序同音密钥加密后以同样方式攻击。

读解最佳得分,每字母 nats最佳候选
序列,字母表 a 到 z−3.02abadefillbookofmdoomloorstsbadfallsnowassadovyouslod
序列,a 到 z,零当作词间隔−2.70abadefillbooko endoonloorsus dad falltoowast adovyouslod
序列,字母表 z 到 a−3.18uttooooonsnnolonominoffeedertootooenlatedtoldandenno
逆排列,a 到 z−2.63derssteeretiryehereheissuehistwehisthinnootrustoutst
逆排列,z 到 a−3.03ttheeetsiteseatstetstreeatssedassseesspooneibeendeed
对照,8段−1.48 到 −1.978段中7段读出88%到100%的字母;1段为46%

数字块的任何结果与已恢复的对照相比,差距都不小于每字母0.6 nats,也没有哪个候选含有比偶然单词更长的连续英文。数字块自身的结构也与有序密钥相抵触:在正序字母表下,九个单个数字都只能变成 a、b 或 c,所以每个候选都以“aba”开头。有序密钥的解释在对照所允许的强度上被排除;无序密钥的解释无法检验,而一个只与无法检验的密钥相容的数字块,与随手涂写无从区分。

05 这意味着什么

Ernst 的计数是正确的,这个排列带有这样一只手的统计特征:以自编的顺序把1到52各写一次,再加上几串零。下面的字母行是一个简单到 Friedman 一眼就能解读的移位密码;上面的数字行是在模仿密码,什么也没有编码。无论寄信人是像 Ernst 所说的那样存心戏弄特勤局,还是只是照着自己以为的密码样子抄写了一番,这个数字块之所以没有解读,是因为它什么也没有编码。无序的一次性密钥在原则上仍然可能,但与随手涂写无从区分。

如果能看到收藏在 NSA 的 William F. Friedman 藏品中的原件(其背面有一段打字文本,正面有铅笔试写的字母),或者同一人笔下的第二封信,这个问题才会重新打开。

06 来源