中文译本 · 原作 Daniel Bourdeau《Unsolved Historical Ciphers》 以 CC BY 4.0 发布,本页由 JIC 翻译,非原作者官方版本,译文如有出入以英文原页为准 · 查看英文原页 ↗
∧ λ n v ✕✕ 7 ∧ ℓ ꝛ I ℓ 7 f 9 o ⊡ ꝛ v 4 ℓ ϝ 7 ∧ o R ꝛ E ψ ny
7 ∧ ℓ T o 4 ℓ E T ꝛ v 4 R 7 f ✕✕ 4 I ⊡ E

罗马 → 宫廷 · 带虚码和词符号的同音替换字母密码 · 1526年

Nicolas Raince 致蒙莫朗西,罗马,1526年5月13日和11月20日

Anne de Montmorency
收信人Anne de Montmorency

BnF Français 2984,第29–31页和第105页 · 约106行密文,5,629个字形 · 未见于任何刊本 · 写于科尼亚克同盟成立前九天,以及科隆纳家族突袭梵蒂冈两个月之后

Tomokiyo 于2020年发表了这把密钥,但没有给出明文。这两段在原叶上、在 Mignet(1886年)或 Bourrilly(1901年)中都找不到解读。我们在此套用了这把密钥:最初从他的表上抄录时错了一列,后来重新测定,并在原叶上逐个符号核对。106行中的86行是对照编号符号图像手工解读的;20行只有机器解密。

Daniel Bourdeau · 发布于 · 更新于

方法:用已知密钥读出 · 程度:部分(密文的62%)

摘要。Nicolas Raince 是法国驻罗马使馆的秘书,BnF fr. 2984(Béthune 8509)保存着他1526年的八份加密急件。Tomokiyo 在2020年发表了这些急件的密钥,DECODE 收有其中两封并标为已解密;Mignet 在1886年指出,那封“entirely in cipher”(全部加密)的信在同一卷里早八叶处有明文副本;Bourrilly 在1901年刊印了另外两封信的加密段落。但写给蒙莫朗西的 1526年5月13日那封信的大部分,以及 11月20日那封信的下半部分,无论在原叶上还是在刊本中都找不到解读:约106行。不需要密码分析,因为密钥是 Tomokiyo 的。这里的第一遍凭肉眼从他的表上抄录密钥,错了一列,于是 l、m 和 n 各错了一位,在此基础上得出的每一处解密都是错的。改为从图像上量取后,这张表能把一行对照行逐个字形地解开,106行中的86行已根据缩微胶片手工解读。5月13日的信报告了科尼亚克同盟成立前九天皇帝一方的谈判情况:有人 qui estoit en la court de Savoye est party pour venir icy(原在萨伏依宫廷,已动身来此),卡斯蒂利亚人和勃艮第人,一个 prendre le chemin de Valence(取道瓦伦西亚)的计划,一份协定,因为它 ilz seront cause de la destruction(他们将导致毁灭),罗马的瘟疫,以及一个点了名的人 un jour, en plaine place pres du palais(某日在宫殿附近的广场上)被抓。11月20日的信围绕一个教皇任期展开,说它 seroit la cause de la totale ruine de sa maison(将导致其家族彻底覆灭)。结果:套用已知密钥,部分。106行中的86行逐个字形解读,空缺保留为空缺;20行只有机器解密,未收入校订文本。有一个字形出现十次,总在分句边界上,不见于任何已发表的表中。

01 文献

BnF fr. 2984 是 Béthune 收藏的第8509卷,是宫廷1526年来自罗马的通信档案。Gallica 上它是一份黑白缩微胶片(ark btv1b90598430,85幅,每个 canvas 都标为“NP”)。其中八件是加密的:

编号页码日期 1526年to密码解读所在
6258月1日蒙莫朗西最后7行原叶上有同时代的行间解读
729–315月13日蒙莫朗西第29页全页、第30页全页、第31页上半;结尾为明文只有第29页前十行有注解;其余在此读出
833–376月9日国王全信第17页起有明文副本(Mignet 1886)
1041–466月17日国王信的大部分行间解读;加密部分由 Bourrilly 1901年刊印
1147–508月20日蒙莫朗西部分加密部分由 Bourrilly 1901年刊印
2410511月20日蒙莫朗西4行明文之后的40行只有前十几行有注解;其余在此读出
28121–12312月7日蒙莫朗西约18行原叶上有密集的行间解读
fr. 3091 第11号(1529年8月12日)即 DECODE 3696,已解密,用的是 Raince 的第二把密钥。
BnF fr. 2984 第30页的三行密文,细小的图形符号连续书写
Fr. 2984 第30页前三行:…ction, et à vous faire tous services et plaisirs · qu’il est. L’empereur est esbay de ce que … n’a escript autrement, aucune part deça, depuis son retour… 第1行中间附近那个加粗的双横杠符号,就是不见于任何已发表表中的那个字形。图片:Bibliothèque nationale de France,fr. 2984 第30页,来自 Gallica(btv1b90598430,第17幅)。

02 最初转录的密钥错了一列

Tomokiyo 在 French Ciphers during the Reign of Francis I(2020年)中以图片形式列出了1526年的密钥:一行明文字母作表头,下面最多四行密码字形,各列相距约78像素。它是带同音符、三个虚码和三个词符号的单表替换。凭肉眼把每个字形归到它的字母下面很容易出错,这里的第一遍就错了一列。

测量位置就能解决问题。在洋红色条带中定位白色的表头字母,再给下方的墨迹团块加标签,把每个团块归到最近的表头列,结果每个团块都落在距列中心15像素以内,即列间距的五分之一。测得的表如下:

从 Tomokiyo 密钥表中切出的全部字形总览图,每个都标上其明文字母
从密钥图像中切出的每个字形,按测量所落入的列加标签。a 和 u/v 各有三个同音符,e 有四个,i 有三个,l、o、p、r 和 s 各有两个;x 完全没有字形;三个虚码。图片:本项目根据 S. Tomokiyo 的密钥表绘制,Cryptiana,“French Ciphers during the Reign of Francis I”(2020年)。

对照。用测得的表,第29页第20行能逐个字形解开,没有任何剩余:

∧ λ n v ✕✕ 7 ∧ ℓ ꝛ I ℓ 7 f 9 o ⊡ ꝛ v 4 ℓ ϝ 7 ∧ o R ꝛ E ψ ny 7 ∧ ℓ T o 4 ℓ E T ꝛ v 4 R 7 f ✕✕ 4 I ⊡ E
→ s [null] qui estoit en la court de Savoye [null] est party pour venir icy

这一行用到了 a、c、d、四个 e 同音符中的三个、三个 i 中的两个、l、n、o、p、q、r、s、t、u/v、y,以及三个虚码中的两个。这就是表格正确的证据。

03 是第29–31页,不是 ff. 29r、30v、31r

Gallica 连续各幅上写的数字依次是29、31、33、35、37,每次相差2。如果把它们当作叶码,就意味着这一卷有一半的对开页从未拍摄,其中每封信都缺了一半。其实它们是页码,只写在奇数页上:第 n 幅显示第2n−4页和第2n−3页,85幅覆盖约167页,数字化是完整的。所以5月13日的信是连续三页,即第29、30和31页,11月20日的信是第105页。

文本本身也独立地证明了这一点。第29页以 … et n’est possible … monstrer plus a[ffe]- 结尾,第30页以 -ction 开头。在注意到这个衔接之前,衔接处的前后两半都已逐个字形解读出来了。

04 读缩微胶片

胶片放大约2倍后可以辨认,但墨色发灰,字迹又小,所以难点在转录。有三个步骤使之成为可能。

  1. 每行手稿一幅图像,切成四段相互重叠的部分再上下叠放,这样整行可以在一个视图里看全,又不损失放大倍数。
  2. 编号符号。连通分量分割得到5,629个字形符号;在行上画出每个符号的框并编号,这样手工转录时每个符号写一个字符,就能毫无猜测地与分割结果对齐。每一行都先对照符号数核验,才予保留。
  3. 机器建议。一个基于符号图像的分类器,结合一个不含空格的当时法语6-gram 语言模型,为每个符号提出一个字母。它大约对85–90%的符号判断正确:足以加快手工转录,却不足以取代它。
放大2倍的一行手稿,每个字形都用红框框出并编号,分四条上下叠放
第30页第8行,每个分割出的符号都加了框并编号。这一行的手工解读是 [null] respondu à ce que ce qu’on a envoyé d’icy et de V[null]enise par deu-,接到第9行为 -ers ledict seigneur。第39号符号是一个 K,是夹在 Venise 一词中间的虚码。图片:本项目在 BnF fr. 2984 第30页上标注(Gallica btv1b90598430)。

分类器有多准。手工解读同时也是训练数据,所以可以每次留出一行手工解读的行来给分类器打分:

训练数据留一行法的逐符号准确率
仅用映射自身的高置信度符号0.840
+ 手工标签,权重10.856
+ 手工标签,权重80.901(峰值,用32行手工读出的行)
+ 手工标签,权重300.860

这就是文本要手工解读的原因。逐符号准确率为0.90时,一个六字母的词完整无误的概率只有0.53,所以无论怎样调整解码器,机器文本都只有约三分之一能切分成真正的法语单词。剩下的混淆发生在这种分辨率下确实相似的字形之间:ψ(e)与 4(r),草书 ℓ(t)与 9(l)与棒棒糖形(d),尖角形(s)与 V 形(u)与 ×(a)。密钥本身对这些都没有歧义。更多标签解决不了这个问题;更好的图像才能。

05 1526年5月13日的信

写于科尼亚克同盟签订前九天。第31页上的明文结尾(在此转录;未找到它的印本)注明了日期并署名(De Rome, ce xiij jour de may, 15c xxvj … Nicolas Rainse),并报告罗马预计安德烈亚·多里亚当天或次日率六艘桨帆船和两艘双桅快船抵达奇维塔韦基亚。前面三页加密的内容部分如下:

06 1526年11月20日的信

写于科隆纳家族突袭梵蒂冈两个月之后、罗马之劫五个月之前。加密部分围绕教皇展开:

… qui a … peust … faire s[e]cre[te]ment · et … pontif-icat seroit la cause de la totale(?) ruine de sa maison, de-…

同一段中还有 …me, et s’en fuire; et que encores … luy feist … la grace;… et que … l’on penseroit … y respondre de part de nature;…t jamais pensé que les choses … prinst, et le for[t]-;sincerement … qu’il estoit … en besoing;… et que l’i[n]convenient … peril à qu[oy] …;以及 et aussi qu’il estoit … bien cler que n’estoit … dicte de。“Sa maison”指美第奇家族,教皇任期是克雷芒七世的。

07 尚未解决的部分

08 方法

  1. 从图像上量取密钥。在密钥图像中定位表头字母,给墨迹团块加标签并归入最近的列,每一项归属都在距列中心15像素以内。保留了每个已标注字形的总览图。
  2. 在原叶上核验,对照一行解开后没有任何剩余的对照行,这一行用到了字母表中的十六个字母和三个虚码中的两个。
  3. 分割:在背景归一化的二值化图像上做连通分量分析,用 y 方向直方图把符号分配到各行,合并在 x 方向上重叠的分量;四页共5,629个符号。
  4. 聚类到字母的映射用爬山法拟合,以不含空格的当时法语6-gram 模型为目标,并把每个聚类限制在其字形所允许的字母范围内。正是对移动步骤的这种限制,防止了映射坍缩成退化解——在分割噪声如此之大的符号流上,不加约束的求解器会被这种坍缩打败。
  5. 手工解读:对照编号符号图像逐行进行,每个符号一个字符,并对照分割结果核验长度。
  6. 评分:在手工解读的行上用留一行法,否则用自身输出训练的模型就是在给自己打分。

一切都在代码库中:测得的密钥和释读方法在 targets/raince/CALIBRATION.md,说明在 targets/raince/NOTES.md,手工标签在 targets/raince/gold/labels.txt,校订后的释读在 targets/raince/trans/reading_edited.txt,逐行标明手工或机器的逐行文本在 targets/raince/trans/reading.txt,5月13日信的明文结尾在 targets/raince/trans/p31_clear_close.txt.

09 来源