中文译本 · 原作 Daniel Bourdeau《Unsolved Historical Ciphers》 以 CC BY 4.0 发布,本页由 JIC 翻译,非原作者官方版本,译文如有出入以英文原页为准 · 查看英文原页 ↗
92 39 73 43 · 30 27 69 · 24 78 27 69 66 50 39 21 71 37
n a c h · d e r · O b e r p f a l t z
a = 18 39 46 74 85 · e = 19 27 41 62 75 86 · n = 11 26 49 64 92 98

霍夫 → 西里西亚 · 两位数码的同音替换密码,带码组,夹在德语明文中 · 1640年12月29日

Johan Banér 致 Torsten Stålhandske,霍夫,1640年12月29日

Johan Banér
寄信人Johan Banér
Torsten Stålhandske
收信人Torsten Stålhandske

Pontificia Università Gregoriana,APUG 568 f. 239r–v,夹在 Athanasius Kircher 的信件中 · 一封截获的战地信件的抄本,写于霍夫,就在 Banér 冬季进军雷根斯堡的前几天 · 2019年6月发布于 Cipherbrain,当时的尝试均告失败;此后也未见解读

密钥是借助相邻德语明文中的猜词,配合一个17世纪30年代德语的语言模型复原的 · 274个密文数码中解密了246个;一个信使的名字、一段讹误的文字以及全部十四个码组仍未解决

Daniel Bourdeau · 发布于 · 更新于

方法:相邻明文复原密钥 · 程度:部分(密文的90%)

摘要。瑞典陆军元帅 Johan Banér 写给少将 Torsten Stålhandske 的一封截获信件,落款霍夫,1640年12月29日,其抄本保存在 Gregoriana 所藏的 Athanasius Kircher 通信中(APUG 568 f. 239)。Klaus Schmeh 于2019年把它连同 Philip Neal 的转录发布在 Cipherbrain 上;尝试过的读者(包括 Neal 本人)都没能解读,别处也没有找到解读。信的大部分是德语明文;有七段是两位数码,另有十四个三位数码组。DECODE 上的瑞典密钥没有一套吻合,包括 Banér 自己的那套;而单靠语言模型,无法从274个数码中定下74个同音符。密钥是借助取自相邻明文的两个猜词复原的(“von zeit zu zeit”之后的durch,以及und):固定这两个词后,求解器给出了nach der Oberpfaltz und,其余密钥由这一短语顺藤摸瓜得出。解密出的段落说,Banér 打算进军“nach der Oberpfaltz und gegen die [442]”;他预计敌军会集结起来对付他,“und etwa auch die in Schlesien agirende [361] dazu ziehen”;Stålhandske 要“gute acht geben”,“mit guten Fürsichtigkeit”尾随敌军,“durch Espionen”报告,并告诉他“wohin er seine Marche zu richten”。274个密文数码中解密了246个(89.8%),实测。对照手稿扫描件核对后,修正了转录中的四个数码。尚未解决的:第二个信使的名字,以及第五段中的一段文字——那里的数码已确认无误,每个值也都由其他词固定,可见唯一留存的抄本在此处有讹误;还有全部十四个码组,它们的密钥没有留存。

01 文献

标题写着Copia Intercipirtes Schreibens General Baners an General Major Stallhausen:即统率西里西亚瑞典军队的 Stålhandske。信件落款Hoff den 29 Decem. A. 1640,签名是一个花体的 B。Kircher 的档案称之为Copia litterarum interceptarum Generalis Baners Hoff in Silesia。这份抄本送到了罗马,大概是想让 Kircher 试试破解这份密码;已发布的两页上没有解读。

f. 239r 上半部分:德语明文夹着几行两位数
第一页上半部分:标题、前两段密文(一封较早信件的递送路线),以及第三段,解密为nach der Oberpfaltz und gegen die [442]。图像:Pontificia Università Gregoriana,APUG 568 f. 239r,经由 Museo Galileo 的 Kircher 通信项目。

各密文段(这里记为 S1–S7)共有274个两位数,取值从2到98,互不相同的有74个;另有十四个三位数:361、442、464、508、513 和568,代表人名或名词,以及第五、第六段中的一组766–783。工作从 Neal 的转录和博客上的小图开始;随后逐个数码对照 Museo Galileo 的 f. 239r–v 扫描件(1469 × 2304 px,公开提供)核对,修正了四个数码:S4 的第一个数码是86(Neal 作66),Schlesien中的一个数码是86(Neal 作36),guten中的一个是47(Neal 作57),S7 中 Neal 读不出的那个数码是92。

02 密钥如何复原

瑞典密钥。DECODE 收有 Riksarkivet 的一箱瑞典国务院密钥(Chifferklaver,låda II,记录 R4103–R4329)。档案员所加的封面写明了通信人和a的取值。其中 Banér 的密钥——Horn–Banér 密码(R4122)、1634年末起与 Oxenstierna 通信使用的代码(R4123,在 R4325 中抄作Generalis Campi Marschalli Johan Banneris Cyffer),以及1640年国务院登记簿中的其他字母表(R4325、R4266)——都转录出来,原样试过,又在−30到+30的每个偏移量上试过。没有一套吻合。

为什么单靠求解器不行。不加约束的同音替换模拟退火找到的密钥,得分比真正的德语还高。一个对照实验说明了这一点:取自Theatrum Europaeum的17世纪30年代德语,切成同样长度的片段,用 Banér 1634年的密钥加密后,在这里构建的模型下(de-1640s)得分为−279,而求解器的最优解落在−390到−430。给定八个已知值、并把每个字母限制为少数几个同音符后,同一个求解器就能落到真实密钥上。所以这封信需要猜词。

猜词。第六段紧跟在mich aber von zeit zu zeit之后,开头是 40 16 23 28 29:durch。28 29(ch)这一对出现了七次。16 64 40 是und。固定这些之后,求解器在第三段写出了nach der … pfaltz und,这一段以[442] loszugehen结尾。Banér 确实在1641年1月初从霍夫进军上普法尔茨,并突袭了在雷根斯堡召开的帝国议会:

第三段密文:92 39 73 43 30 / 27 69 24 78 27 69 66 50 39 21 71 37 16 64 40 / 33 62 51 75 98 63 77 27 442 loszugehen
… Continance erleiden will, 92 39 73 43 30 27 69 24 78 27 69 66 50 39 21 71 37 16 64 40 33 62 51 75 98 63 77 27 442 loszugehen:nach der Oberpfaltz und gegen die [442] loszugehen. 图像:Pontificia Università Gregoriana,APUG 568 f. 239r,经由 Museo Galileo 的 Kircher 通信项目。

这一短语固定了二十个值,每个都与durch和und相容。从这里开始,密钥逐词扩展,任何值除非至少在两个词中读得通,否则不予保留:Schlesien agirende、dazu ziehen、gute acht geben、sobaldt、ehender、solche、Fürsichtigkeit nachvolgen、wohin er seine Marche zu richten、entgegen。密钥共有70个值,每个字母一到六个,既不按字母顺序,也不分段排列。

03 解密文本

明文用正体,解密段落用斜体,码组放在方括号里,未能复原的字母记作 ?。明文部分的转录出自 Neal。

… welches ich im Duplo, als ein Exemplar Jobs[508], das andere aber in [513] n Johann ??????????? über [568] abgehen lassen …

… undt gesonnen, wofern es nimmer die Ratio Belli undt des feinds … Continance erleiden will, nach der Oberpfaltz und gegen die [442] loszugehen, undt meinen aeussersten fleis anzuwenden. … es werde der feindt seine aeusserste macht von allen oertern her colligiren, undt so starck als es ihm muglig mir entgegen leitten, etwa auch die in Schlesien agirende [361] dazu ziehen.

So wollt der herr General Major darau[f] gute acht geben und sobaldt (e)ich sein gegen[773] ehender [464] auf solche W?????????????? zu [775] dem [767] ?? ein guten Fürsichtigkeit nachvolgen, mich aber von zeit zu zeit durch E(sp)ionen sie ko[m]en, dass sie mö[g]en, wie sein undt des feindes gelegenheit sey, eigentlich undt unschwierig berichten, damit ich ihm inmittelst mit seiner andeutung wohin er seine(n) Marche zu richte(n), entgegen wolten komme …

大意。Banér 从埃尔福特发出的16日那封信一式两份,一份交[508]送出,另一份交一个叫 Johann 的人经[568]送出。他已到达霍夫,打算在战争情势和敌军态势允许的情况下,穿过上普法尔茨,进军[442]——很可能是雷根斯堡或巴伐利亚人。他预计敌军会集中一切兵力对付他,“或许还会把在西里西亚作战的[部队]也调过来”。因此 Stålhandske 要严加戒备,一旦敌军开拔,就小心尾随。他要不时通过密探报告自己和敌军的情况,好让 Banér 在得知他打算往哪里行军后前去会合。

f. 239v 顶部:第六段的结尾和第七段,38 24 29 77 92 27 ...
第七段,在mit seiner andeutung之后:38 24 29 77 92 27 23 13 41 44 98 86 … wohin er seine(n) Marche zu richte(n), entgegen wolten。图像:Pontificia Università Gregoriana,APUG 568 f. 239v,经由 Museo Galileo 的 Kircher 通信项目。

04 悬而未决之处

这份抄本是已知的唯一见证。寄出的原件,或斯德哥尔摩 Banér 文书中的登记簿抄本,可以解决那些讹误段落;两者都没有数字化。

05 来源

文件: targets/baner1640/: ct_neal.txt (密文), key.json, decode.py (解密与测量), reading.md, solve3.py (退火程序), NOTES.md.