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 试试破解这份密码;已发布的两页上没有解读。

各密文段(这里记为 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月初从霍夫进军上普法尔茨,并突袭了在雷根斯堡召开的帝国议会:

这一短语固定了二十个值,每个都与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 在得知他打算往哪里行军后前去会合。

04 悬而未决之处
- 第二个信使的名字(S2,Johann之后的十一个记号,解读为ohrs?acbuet)。这些数码在手稿上已确认,除一个值外全部由其他词固定,所以是抄本本身在此处有讹误。第一个信使的名字解密为Jobs[508],大概是Jobst加上一个用代码表示的姓(评为 M)。
- 第五段中的一段文字(eisen o vi rechte,十四个记号),ein guten之前的两个记号,以及sobaldt e ich中多出的一个e(大概是er sich)。手稿证实了每个数码,每个值也都由其他词固定,所以这份抄本——已知唯一的一份——在此处有讹误;需要寄出的原件或瑞典登记簿中的抄本才能解决。
- 抄本的笔误(评为 C):d e i n应为die in;Schlesien中 n 写成了93(i);Marche和Espionen各少一个字母。
- 十四个码组。442是 Banér 进军的目标;361是在西里西亚作战的部队;508和568是两份副本的递送方式。7xx 代码出现在缺字母的地方(darau[778] 即darauff,au[772] 即auss,ko[770]en),其中五个代表字母:去掉固定值后,求解器自己给出au[772] solche [766]eise = auf solche Weise,以及darau[778] = darauf、ko[770]en = kommen、dass sie mo[783]en = dass sie mögen(评为 C)。其余九个(361、442、464、508、513、568、767、773、775)仍未解决:密钥没有留存,而且每个只出现一次。
这份抄本是已知的唯一见证。寄出的原件,或斯德哥尔摩 Banér 文书中的登记簿抄本,可以解决那些讹误段落;两者都没有数字化。
05 来源
- Klaus Schmeh,“An unsolved encrypted letter from the 17th century”,Cipherbrain,2019年6月2日,附 Philip Neal 的转录和读者评论:scienceblogs.de。
- Archivio della Pontificia Università Gregoriana,APUG 568 f. 239r–v(Kircher 通信);图像:239r、239v(Athanasius Kircher Correspondence Project,Museo Galileo)。
- Riksarkivet,Chifferklaver låda II,见于 DECODE:R4122(Horn–Banér)、R4123(J. Banér,1634年起)、R4325(1640年国务院登记簿)、R4266(1640年);都试过,没有一套吻合。
- 语言模型:Deutsches Textarchiv,Theatrum Europaeum I(1635)、Olearius(1647)、Grimmelshausen(1669),以及 DTA 收录的1470–1609年印本。
文件: targets/baner1640/: ct_neal.txt (密文), key.json, decode.py (解密与测量), reading.md, solve3.py (退火程序), NOTES.md.

