中文译本 · 原作 Daniel Bourdeau《Unsolved Historical Ciphers》 以 CC BY 4.0 发布,本页由 JIC 翻译,非原作者官方版本,译文如有出入以英文原页为准 · 查看英文原页 ↗
17 19 10 31 30 03 10 45 59 45 · 495 · 03 35 19 · 04 45 59 35 10 31 57 31 03 19 · 19 57 57 19 · 830
i a c o n o s c e r e · quanto · s i a · p e r i c o l o s a · a l l a · francia
6 = 词间分隔 · 2x = 虚码 · 19|38|47 = a · 44 = che · 474 = mente · 830 = Francia

罗马 → 巴黎 · 两位数码的同音替换兼音节密码,附名码本 · 1632年9月和12月

Francesco Barberini 致教廷大使 Ceva:Francia 346 中尚无已发表解读的两封信

Francesco Barberini
发信人Francesco Barberini

Archivio Apostolico Vaticano,Segretario di Stato,Francia,doss. 346,nos. 2 and 11:枢机主教 Francesco Barberini 致法国宫廷特派教廷大使 Giovanni Battista Ceva 的急件(DECODE R75和R84,“partially decrypted”,部分解密)。

George Lasry 于2020年重建了这一卷宗的密钥,并解读了总目所列五份密文中的三份。这里把他的密钥用于另外两份。密钥是变长的(两位数代码和三位数名码本元素连写、不加分隔),所以解密就意味着在数字流的各种切分方式中作出选择;这一步交给语言模型完成。两封信都已解读,只是大部分名码本元素未解,另为他留空的六个元素给出了值。

Daniel Bourdeau · 发布于 · 更新于

方法:用已知密钥读出 · 范围:部分(占该密码的78%)

摘要。总目把 Barberini 致 Ceva 的五份密文列为转录任务:DECODE 写着“deciphered in original”(原件上已解读),于是以为这些文本在当时就已解读,工作只是把叶上的解读抄下来。这只对了一半。George Lasry 于2020年10月24日重建了整个卷宗的密钥,并附在该卷宗全部十一条 DECODE 记录上;他还发表了四封信的对齐解读,覆盖了本条目所列五份中的三份。剩下两份:1632年9月25日的R75和1632年12月18日的R84。这里把他的密钥用于这两份。这套体系是基于两位数码的同音替换兼音节密码,凡以2开头的数对都是虚码,单个数字6是词间分隔符;由于6不出现在任何代码内部,词边界是确定的,唯一的歧义在于下一个代码是两位数,还是三位数的名码本元素。解码器尝试各种可能的切分,保留最可能的一种,以意大利语字符模型(与根据卷宗自身明文段落建立的模型插值)来消解歧义;对 Lasry 的四封信做留一法校准,与他的切分在95.8%的符号单元上一致。R75 带有一份同时代的部分行间解读,只用作核查;本解密与它的字母吻合率为77.5%。再把两者对齐,便能根据行间解读为 Lasry 留空的九十五个名码本元素中的六个给出含义,其中有830 = Francia。R75 论证瑞典的胜利使和解变得容易,却使联合难得多;R84 写于吕岑会战一个月后,结尾担心后果将使法国陷于分裂、无力援助盟友。仍有一百一十七个名码本元素未解,两封信中的人名都在其中。

01 编目了什么,实际有什么

Segreteria di Stato 的 Francia 系列 busta 346 收存了 Ceva 1632至1634年特派出使期间从罗马发给他的原件和密信。DECODE 从中编目了十一份密文,R74 至 R84。这里的总目条目列了其中五份(R75、R77、R78、R82、R84),并且未经查看,仅根据元数据按规则打了分。

打开记录后,问题就变了。十一条记录每一条都附有一份密钥,标为 #KEY: reconstructed, #TRANSCRIBER NAME: George Lasry, #DATE OF TRANSCRIPTION: October 24, 2020。每一条也都附有同一个29,050字节的对齐解读文件,涵盖四封信。所以在这轮工作之前,卷宗的状况是:

DECODE件号日期页码此前
R74346-11632年9月7日1已由 Lasry 读出
R75346-21632年9月25日2未读出
R76346-316323标为已解密
R77346-416322已由 Lasry 读出
R78346-516322已由 Lasry 读出
R79–R81, R83346-6 至 -8,-101632–347标为已解密
R82346-91632年[10月]27日1已由 Lasry 读出
R84346-111632年12月18日2未读出

因此,总目所列五份密文中有三份已由 Lasry 解读,两份没有。R75 和 R84 只带有一份原始密文转录,别无其他。而 Lasry 遇到的九十五个名码本元素,他全都印作 <xxx>;没有一个给出了值。

02 密码体系

密钥是 Lasry 的。这里根据他的四份对齐解读——切分为104个行对、179个不同的符号单元——重新推导了一遍,既证实了它,也解决了密钥说明里悬而未决的三点。

符号值
6词间分隔符
2x虚码——以2开头的数对从不承载明文
XY字母或音节,61个代码:每个元音三个同音符,大多数辅音两个,另有al, che, chi, con, da, de, di, et, il, in, io, la, ma, mi, no, per, qu, quel, se, si, st的码组
pXY名码本元素:一个前缀数字加一个普通的两位数代码

第一,数字6不出现在任何代码内部,既不在密钥的数对中,也不在九十五个名码本元素的任何一个中。因此这套密码的词边界是确定的,这很少见,而其余部分之所以好处理,正是靠这一点。

第二,DECODE 的密钥说明称名码本元素“have 4 digits starting with prefix 4”(是以前缀4开头的四位数)。其实是三位。把 Lasry 自己给出的 346:1 符号单元流连接起来,与同一叶的原始转录逐字比对,吻合率99.7%,没有丢失前缀;这些元素就是三位数。九十五个中有二十七个前缀是4,但前缀也可以是0、1、3、5、7、8或9。

第三,九十五个中有九十一个,前缀之后的两位数本身就是一个有效的密钥代码。元素就是前缀加普通代码,这正是切分有歧义的原因:在大多数位置上,两位数读法和三位数读法都合法。一百个数对中有二十九个是无效的(02 05 06 12 16 32 33 36 42 46 52 56 60–69 72 76 82 86 92 96 99),遇到一个就迫使采用三位数读法,但单凭这一点还不够。

03 切分并解密数字流

解码器沿数字流推进,在每个位置保留几百个最可能的部分解密结果。每个 6 都当作分隔符;在其他位置,解码器在两位数代码、两位数虚码和三位数元素之间作选择,由字符模型打分。打分是增量式的:共享的 lang 包里的稠密模型是一张 log P(c | 前四个字符) 的平面表,所以每输出一个字符只需查一次数组,保留几百个候选也不费事。

模型比搜索更要紧。 it-cinquecento 是文艺复兴时期的外交意大利语,但止于1620年前后,对这位书记员的笔下习惯一无所知:u 和 v 共用一个符号,双写字母省去,分词全凭他自己。所以把它与一个根据卷宗本身的7,693个字符建立的模型做了插值:这些字符包括书记员以明文写下的段落,以及 Lasry 对当前未受测各封信给出的明文。

校准采用留一份文献的方法,以 Lasry 的四封信为准:为某份文献提供的名码本清单只根据另外三份建立,这正是 R75 和 R84 所处的情形。与他本人切分的吻合程度:

模型符号单元名码本召回率精确率
it-cinquecento 单独使用0.9450.520.70
插值,w = 0.60.9580.700.79

逐封统计(插值):346:1 0.871,346/4 0.928,346/5 0.905,346/9 0.951。需要时刻留意的数字是名码本召回率。仍有十分之三的元素被漏掉,而漏掉的元素会变成两三个看似合理的意大利语字母,没有空缺来标示它。下面解读中的错误就集中在那里。

唯一独立的核查是 R75 自己那一叶。1632年的一位解读者把解读写在密文行间,DECODE 的转录者抄下了其中能辨认的部分。它没有用于其他任何用途:密钥、模型、解码器都没用它。在保存足够多内容的二十四行上,1,105个字母,吻合率77.5%(不计分词);最后一行吻合率100%。剩余差异一部分来自本解密的错误,一部分来自这份旁证本身的难以辨认,因为转录者把大量褪色的行间文字标为 ? 和 *.

几行细小的数字,行间用较大的字写着同时代的意大利语解读
R75(1632年9月25日),f. 81r,页面下部四行的左半:1632年解读者的行间文字,… di guerra saranno sempre in pericolo … a conoscere quanto sia pericolosa alla Francia … cominciano hormai a pensar a …,即本解密据以核查的旁证。图像:Archivio Apostolico Vaticano,Segreteria di Stato,Francia 346 f. 81r,经由 DECODE R75。

04 R75:“Di Roma li 25 di Settembre 1632”

两页,1,446个代码组。Barberini 谈瑞典的胜利对法国同盟意味着什么。这封信只讲一个论点:这些胜利使l’accomodamento(和解)更容易,使l’unione(联合)难得多,教廷大使要让法国宫廷明白,眼下正在得胜的那股势力对法国自身也是威胁。空缺处是未解的名码本元素或转录噪声;斜体标出的是这里赋了值的元素。

…le vittorie di […] e quella forza renderanno per avventura più facile […] quell’accomodamente di […], ma più difficile assai […] quell’unione… per […] interessi di Francia…

è tempo che se cominci a conoscere quanto sia pericolosa alla Francia la potenza d[i …], che cominciano [hor]mai a pensar a cose [grandi] et ad indrizar la [mira] loro a […]; consideri quanto sia oportuno alli vastissimi pens[ieri] di […] natione estendere il loro dominio sino al Mediterraneo con acquisto d’una piazza, e con quanto buon fondamente lo possono sperare in una [rivoluzione] … di Francia … hanno tanto forze marittime e terrestri; consideri… che la vittoria […] è altretanto formidabile alla Francia quanto alla […]…

[non si] sarà sempre al medesimo, darà sempre orecchie a[l] torbidi, et haverà chi li suggerisca; et un successor[e]… restringer in maniera che sempre non habbi libertà di [salvarsi] in campagna… [bisogna] cercar di compor[re gli] esterni, che cagioneranno e fo[men]teranno li domestici…

[è] già… arrivata a tal […] di gloria… che può con ragion temere che la […] fortuna non si rivolti; cerchi dunque d’augumentarla con l’arti… pur vuol seguitar… indrizi le cose per intraprender guerra contro… quel[li] che sola parte manca alla gloria di […]. In somma… le congiunture presenti sono più contrarie alla s[ua] […] quell’unione, tanto più deve […] pensar a ritrovar ragioni che la persuadano.

那个未点名的势力就是瑞典。在本解密有空缺的地方,1632年解读者自己的行间文字补出了pensieri di goto natione(哥特民族)几个字,罗马希望巴黎认真考虑的,正是这个民族sino al Mediterraneo(直抵地中海)的扩张势头。

05 R84:“Roma li 18 di Xbre 1632”

两页,954个代码组,写于吕岑会战(1632年11月16日)一个月后。第一张大部分是明文:Barberini 确认收到 Ceva 8日的急件,说他没有别的需要答复,并让他去找宫廷里的 Bichi 阁下。密文承载着分析,通篇围绕quella vittoria(那场胜利)展开。

ricordando a […] che si […] quella vittoria contro […] con la sua consueta prudenza, ad indur[re] […] a facilitar il […]…

[…] che bollivano in Francia dopo la mia partenza; pure de[…] li torbidi di […] furono cagione che li […] concludessero la […]…

le gelosie [che] quella potenza di Francia cerca di […]; e li spiriti inquieti […] fanno pastura su li impegni che il […] tiene con […] potenti, e si muovono più facilmente con speranza di fo[men]to e diversione. Per stabilire et assicurar le cose […] bisogna levarsi le inimicitie esterne… nascerà l’alt[r]o in mano di Francia. Posso dire che stia […] se vo[gliono] ridur a termini ragionevoli le pretensioni…

non […] entrar in […] cose, non lascierà di andar [f]acilitando le […] maniera che a lei s[i] accenna… la fuga di […] non so quanto sia a proposito con ins[o]liti rigori… [in] Francia metter in disperatione… potendo da[…] conseguenze che tengano disunita per un lungo pezzo la Francia, e sotto giogo alle esterne violenze, o almeno impotente a soccorrer li suoi alleati.

最后这一句正是这份急件的要点。吕岑会战、古斯塔夫·阿道夫阵亡一个月后,罗马关心的是法国:如今的危险是一个陷于分裂、受外部压迫、无力援助盟友的法国。

06 名码本中的六个元素

Lasry 遇到的九十五个元素,他一个也没有赋值。解读 R75 时,每个元素处都放一个占位标记;把这份解密与1632年的行间解读对齐,就能看出同时代解读中哪个词落在占位标记处。有二十二个元素对上了旁证片段,其中六个在 Lasry 的四封信(拟合时未用到它们)中经受住了核查:

代码读法证据
474mentepiena~、principal~、non sola~ per il solo proprio、malacomoda~;旁证片段met
495quanto“e ~ al proporre arbitrare”;与498成对
498tanto“che ~ in <347> quanto in <857> si sappia la cagione”
830Francia在 Lasry 的信中四次出现、四次吻合,总在阴性冠词之后:“render la ~ più poderosa”“valere a danno quella ~”“hoggi la ~ in a di dar legge”
854guerraR75 行间解读,两次
149piazzaR75 行间解读,“acquisto d’una ~”

加入这六个后,R75 上的对照吻合率从0.737升到0.775。对 854 和 149而言,这项检验有一定循环性,因为它们本就取自旁证;而对 474, 495, 498 和 830 的独立证据是,它们与旁证从未涉及的、Lasry 读出的四封信相吻合。把 498 和 495 配成围绕两个未解地名代码的tanto…quanto,是其中证据最充分的。

有一个元素被否决。 491 对上了片段goto(哥特民族,即瑞典),但它与 Lasry 信中的四处上下文不合,在那里它出现在unione之前、conferito con之后。它仍待解决。

07 尚未解决的部分

08 资料来源

转录、密钥、解码器、校准和对照脚本以及完整解读,见targets/ceva1632/。