00 先说两处更正
这份报告先前说过两件不实的事。在此说明。
- “找不到 Lasry 为这份手稿发表的密钥。”错了。它发表在 Tomokiyo 的French Ciphers during the Reign of Francis I上,标题为“Sormano’s Cipher”,附有 George Lasry 提供的一张示例表,依据的正是本卷自带的带注对照,f. 113。我当时搜了亨利四世那一页和一些期刊索引,没找到,就把没找到报告成了不存在。搜索失败不能证明一样东西不存在。
- “阿方索拒绝那不勒斯王国一说没有依据。”同样错了。我当时从国王本人的信中确定,此行的差事是提议组建意大利同盟,又没有找到任何证实曾许以那不勒斯的来源,于是断定这一说法没有依据。有了密钥,密文说他拒绝了王国。当时正确的结论应该更窄:我解不出密文,而那些指示描述的是另一件差事。
01 文件,以及一页并未遗失的纸
Gaspare Sormano 是米兰法学家,国王让他“resident aupres de mon cousin le duc de Ferrare”;他和一位只署名Ioachin的同僚,在1529年2月法国正在失去意大利之际,从费拉拉写信给弗朗索瓦一世。这些信收在一部 Fontanieu 汇编里,数字化自一卷黑白缩微胶片,每帧是一个双页跨页;画布编号等于张号加四,这一点已在两张标有张号的叶上核定。目录的描述有三处需要更正。
| 件号 | 字母 | 叶 | 密码 |
|---|---|---|---|
| 62 | Sormano → 国王,1529年3月22日 | f. 113 | 短段落,行间解读 |
| 63 | Sormano 与 Ioachin → 国王,2月penultimo | ff. 115、116和123 | 四个页面,密集;一处注释 |
| 64 | Langeac 与 Ioachin → 国王,威尼斯,5月6日 | ff. 117–118 | 无 |
| 65 | Sormano 与 Ioachin → 国王,2月23日 | ff. 119–120 | 三个页面,密集 |
| 66 | 同上,背注“duplicata” | ff. 121–122 | 三个页面,密集 |
| 67 | Sormano 致乌尔比诺公爵信的抄本 | f. 124 | 四行,页边解读 |
第63号是完整的,它的最后一页是 f. 123。这封信在 f. 116v 页脚处句子写到一半就断了,而目标描述只说它的最后一叶不在目录所暗示的位置。它就是 f. 123,装订时错了位,放在副本之后:页脚编号为“3”,而 ff. 115和116的编号是“1”和“2”;它接续那句断掉的话,以落款和“Sormano, Joachin”两个签名结束,日期为“Da Ferr[ara] p[en]ultimo de Febraro M D XXVIIII”。它空白的背面横写着地址背注“…et Sormano / de penultimo febraro 1529”。所以这封信终究是有日期的,而1529年2月的penultimo是27日,不是目录给出的28日。与其余各件编在一起的第64号根本没有密文;而 f. 116v 上有第三处未被记录的解读:一个双字形码组上方写着“de Venetiani”,这表明这种密码带有名码本。
02 为孪生副本提供猜词的副本
第66号几乎逐字重复第65号,背注为“duplicata”,但两位文书加密的是不同的段落。第66号明写“fatta che hebbimo la reverentia a Madama Rainea et al Sr Don Hercole”的地方,第65号把它放在一段密文里;第66号写出“per la grandezza sua ricercava tempo per meglio pensarvi, presimo aspettar la sua final risposta, et in sto mezzo col Sr Don Hercole di nuovo fossimo, et fattogli intender”的地方,第65号加了密;反过来,第65号明写“et presentato le lre di vra Mta di credenza … et in nome di vra Mta”的地方,第66号加了密。核对了四处相互对应的段落。结果是,这对信件自己就提供了猜词,而且是文书本人的拼写,而不是后人的转述;把两份明文合在一起,不碰密文就能复原2月23日那封信的大部分内容。
03 密钥,以及它验证到了什么程度
这种密码是逐字母对应的同音符号字母表,每个常用元音有三四种写法,每个辅音一两种,另有名码本、一个句号标记和一个连接标记。Sormano 在第62号里也明写了这一点:他是应 Ioachin 的要求“in la mia cifra”写的。复原的链条很短,可以核查:
- f. 124r 猜词的第1行可以逐个字形对齐。在高倍放大下它恰好是13个字形,页边给出的也恰好是13个字母,“n capitaneo sui”。这就确定了十二个不同的字形。
- 第2行独立证实了其中四个:它拼写nominato,在另一个词里用了同样的n、a、t、o字形,并补充了e、r、i、o、m。五周前 f. 113r 上的行间注释拼写capitaneo,用的又是同样的字形。
- 一封独立的信完全不靠1529年的解读者就证实了这套密钥。第66号明写“il parlar suo fu di sorte ch Jo Sormano mi parue quasi”,而第65号从“Jo”起把同一句话加了密,于是孪生副本提供了明文。把密钥用于这21个字形,得到
i o s ? r m a n o m i p a r u ? ? ? a s i,21个字母中对了17个,而且是在猜词里从未出现过的词中。四个空缺中有三个随后得到解决,紧接在“quasi”之后的六个字形在没有任何提示的情况下解密为chiaro,由此得到h。这一段在两份副本里都是加密的,所以哪一份里都不存在“il parlar suo fu di sorte che Jo Sormano mi parue quasi chiaro”的明文。
二十二个值,其中十三个经过两重确认,同音符结构也已理清。然后就停住了。
04 密钥复原为何停下:八种方法
障碍在于图像:这位书写者用了几种字形,它们之间的差别比胶片能记录的还小(区分i和l的两个像rho的形状,三角形与alpha,chi与带钩的4,一笔直画与带尾的4)。试过的每种方法都栽在这几对上。
| 方法 | 结果 |
|---|---|
| 对切分出的字形做二值掩码重叠(Jaccard) | 把错误的配对排得最近 |
| 模糊化、容许平移的掩码余弦相似度,在一行已知文本上调参 | 区分度0.017;聚类40% |
| 最近模板分类,用第1行去分类第2行 | 正确率26% |
| 灰度NCC图块,留一法 | 正确率11% |
| 人眼阅读,事先知道明文 | 21个字母对17个 |
| 人眼阅读,事先不知道明文 | 不成意大利文 |
| 语言模型 Viterbi 解码 | 流畅的编造意大利文 |
| 自动画框,再在7倍放大下人工识别 | 看得清,仍自相矛盾 |
另外还查了两种可能。IIIF 服务报告整幅跨页母图为8657 × 5876,每页约4,300像素,所以上面用的放大裁图只是对一个50到60像素字形的插值,不存在更多细节。而且这一卷里没有密钥表。
第七行是个警告。处理有噪声的替换密码,标准做法是把字形转录当作概率性的,在语言模型下解码,而这些信件提供了7,194个拼写正确的明文字符,足以训练一个模型。用161个已标注猜词字形算出的最近样本发射得分、一个意大利语字符4-gram模型和 Viterbi 解码,第65号加密的结论部分出来是这样的:
echeretantacontaracherarandetolandicheretrarerararen
onerarererarereranetarenenondendetonderiochera
raralentanererenetondiondereteneranecherandeta
这看上去是流畅的意大利文,却完全是编出来的。发射准确率低于约40%时,语言模型就不再纠正字形模型,而是开始从语料中最常见的模式(che、tanta、ra、onde)生成文本,拼凑起来什么意思也没有。读者如果不拿它去和字形核对,就会把它当成解读归档。对这些段落的任何所谓解读,都应该要求它拿出逐个字形的证据。
05 这些信讲了什么
这里的一切都来自明写段落,或来自这一卷之外。没有任何内容是解码得来的。
出使。Ioachin 于“Zobia passata”(上周四)到达费拉拉,径直前往 Sormano 的寓所,向他出示国王的指示和授权,两人定下了口径。他们向Madama Rainea(法国的勒妮,前一年嫁给埃尔科莱·德·埃斯特)和埃尔科莱大人致意,呈上国书,以“molte efficacissime ragion”向阿方索一世公爵提出国王的建议,提醒他“la grande opera che in beneficio della sua persona, stato, casa et successione vra Mta havea fatto”。公爵感谢他们“la cosi grande et honorata offerta”,说他不仅乐意,而且恳请国王惠允[密文],却不肯给出答复:“la cosa per la grandezza sua ricercava tempo per meglio pensarvi”。他们等候他的最终答复,同时通过“veramente desideroso far servicio a vra Mta”的埃尔科莱大人做工作。他们的后备人选是元帅 Trivulzio,信中三次提到他:他在公爵面前的“auttorita et credito”会“assai conferira et servira”,预计他前往威尼斯时会途经费拉拉,2月23日的信就是以等候他作结的。
Ioachin 是谁。目录中的“Joachim de Vaulx”和热那亚谈判代表Gian Gioacchino de Passano,Vaux 领主是同一个人,法国人简称他 Jean Joachim。有三点证据:弗朗索瓦一世写给 Jean du Bellay 的信中提到“Monsr de Vaulx, Jean Joaquin”;David Potter 的清单注明 Passano“fut envoyé a Ferrare d’où il écrit le 23 février (BnF, fr. 3096, fo. 119-121)”,那就是第65号;Molini 刊印的威尼斯来信中,写信人说到“le lettere … da Ferrara per il Sig. Gaspar Sormano et per me Ioachin”。
实际提出的是什么。国王约在1529年1月30日写给 du Bellay 的信说明了 Passano 所负的使命:“A ceste cause expedie icelluy de Vaulx avec pouvoir de proposer aux Venitiens, Fleurentins, duc de Millan et de Ferrare [et autres] afin si faire se peult une si saincte salut[aire alliance]”:即一个以教皇为首、法国和英国为缔约方的反皇帝的意大利总同盟,“moyen de rompre les desseings et entreprinses de l’Empereur et d’avoir toute l’Ytallie contre luy”。这就是信中所说的“instruction et mandato”,那份“cosi grande et honorata offerta”也必然与此有关。本条目的目标描述断言阿方索“拒绝为自己接受那不勒斯王国,也拒绝法军统帅之职”。国王的指示描述的是同盟,而不是王国,而弗朗索瓦一世对那不勒斯的权利主张只维持到那年8月的康布雷和约,所以许以王国是可能的,但在查阅过的来源中没有证据。我由此错误地断定这一说法没有依据。密文的结论有利于这一说法(见下一节)。同盟是此行的差事;王国显然也摆在了桌面上。
第67号,靠页边注解读出来。一位名叫 Calzolari 的瑞士队长带着1,200名步兵(瑞士人和德意志雇佣步兵)驻在拉奎拉,他们想投过来“al beneficio de la lega”。Sormano 认为此事“nõ de picolo momento a beneficio della lega et damno d’inimici”;威尼斯人只肯付自己那一份,费拉拉又筹不到钱,与其等国王回复而坐失良机,他便以自己的信用向乌尔比诺公爵作保,答应在费拉拉或佛罗伦萨开一张可靠的汇票,并保证国王会付款。Molini 刊印的5月6日威尼斯来信显示了这件事所属的行动:同盟正在把帝国的雇佣兵从那不勒斯王国收买过来(“quelli Alamani che si leveranno dal servicio de gli nemici … al soldo de la lega si conduchino”),而敌方“per meglio asicurarssi de l’Abruzo, et maxime de l’Aquila”在那里修起了一座要塞。
06 用 Lasry 的密钥解密
这里推出的22个值中有20个一致。对照这张表,我从两份同时代解读中独立推出的值(n、c、a两次、p、i三次、t、o两次、s、u/v两次、e、r、m、q、h)全部吻合。错了两个:数字4是i,不是e;数字3是a,不是o。正是这两处错误造成了卡住calzolite的那些矛盾。这张表还提供了我缺少的值(数字9=l,带点方框=ll,双f=f,大写S=g,交叉横杠=cc),并纠正了一个猜测:我当作句号标记归档的带点圆圈,其实是字母i。
这套密钥从头到尾都验证得通。第65号中有一段的明文由其孪生副本明写给出,在这一段上,密钥给出的正是孪生副本里的原话:
glyphs S2 oo 9 al x u1 M r1 n1 x r1 D oo n1 D 9 H2 S2 r1
key s o l v t a m e n t e c o n c l v s e
[ri]solutamente concluse
公爵的答复。在第65号关于那次觐见的叙述中,紧接在那几个词之后,密文给出“per cosa dil mondo non voler … se alcunamente accetare il regno, né [ta]manco far …”。连同前后的明文:
“… finalmente ringratiandola della cosi grande et honorata offerta che gli era piaciuto fargli, risolutamente concluse per cosa dil mondo non voler … se alcunamente accetare il regno, né [ta]manco far … et il parlar suo fu di sorte che [Jo Sormano mi parue quasi chiaro]…”
他感谢他们如此重大而体面的提议,并断然表示无论如何都绝不愿以任何方式接受王国,甚至也不愿……,这个分句里本该是法军统帅之职,与上文一致,但尚未有把握地解密出来。所以费拉拉的拒绝就在密文里,用的是语气强烈的per cosa dil mondo,而承载它的这个句子,在前面两个词处就受到孪生副本明文的控制。
剩下的是转录。需要对全部三封信做完整转录。我的眼睛仍会把i的四种写法中的某些与o的三种写法混淆,其中有几种都是圆形中间带一个记号,所以个别词需要核对;上面的解密,凡是有孪生副本控制或意大利文毫不含糊的地方,都是可靠的。方法一节里的程序(自动画出字形框,再在约七倍放大下对照 Lasry 的样本用眼睛识别)就是完成它的办法。
07 我曾去找的猜词,现已过时
Molini 的Documenti di storia italiana第二卷刊印了这几位使节的其他信件,连同它们的同时代解读,而且明说了这一点:关于 Sormano 1529年4月13日自费拉拉发出的信,他注明“Alcune espressioni sono in cifra, con sopra l’interpretazione di carattere sincrono, e sono quelle impresse in corsivo”:加密的短语依据行间解读用斜体排出。那封信用的是 Sormano 自己的密码,也就是我们这几封信里的“mia cifra”。
要利用它,就得弄清 Molini 所用的ancien卷号。偏移量是5525:anc. N = Français (N − 5525),经过四次确认——anc. 8621 = fr. 3096(见其自身的说明),anc. 8499 = fr. 2974(“formerly catalogued as 8499”),anc. 8525 = fr. 3000,anc. 8530 = fr. 3005;另外 Potter 为 Molini 称作8525 c. 69的那封信引用 fr. 3000 fo. 69,也独立证实了这一点。随后又在叶面上验证了这一做法:fr. 3000 fo. 74上有密文,也有完整的行间解读,其注释与 Molini 的斜体逐字吻合。它的字形属于另一种密码,混有数字:是 Langeac 和 Passano 的威尼斯密码。
所以有一份文件能破开这些信:BnF Français 2974,第94张,Sormano 1529年4月13日自费拉拉致蒙莫朗西的信,用的是 Sormano 的密码,带有同时代的行间解读,而其文本 Molini 早已刊出。把那份刊印的明文与这些字形对齐,就能在正确的密码里得到一条长猜词,应当能得出整个字母表,每种写法都有若干样本,而这正是这次尝试所缺的。Molini 刊印的五封 Sormano 信件中,只有这一封带有密码说明;其余几封他只说“È autografa”。偏偏这是这一组手稿中法国国家图书馆唯一没有数字化的一份:只有缩微平片,复制底片号S 39769。Molini 没有刊印第63、65、66号,所以这几封至今未刊,也未完全解读。
08 方法,以及下一步该用的程序
由于没有可用的图像处理库,整个流程是纯 Python 写的: sips -s format bmp 写出一个未压缩的BMP并直接解析,然后是阈值分割、连通域、根据水平墨迹分布检测文本带、拆开连写字形并吸收碎片的清理、形状聚类,以及用迭代 Needleman–Wunsch 对齐猜词。在 f. 124r 的猜词上,它找到了4行中的4行文本,161个连通域对应161个字母,这本身就独立证明了这段是逐字母对应的,没有音节码组。
找到的最佳程序,也是最后一个,是混合式的:字形框取自自动切分,这一步是可靠的;每个字形则在约七倍放大的单词级裁图上用眼睛识别。用眼睛转录整行会切错;自动分类会认错;混合法两样都不犯。拿到 fr. 2974 猜词的人应该用的就是这个办法。
10 资料来源
- BnF Français 3096,ff. 113–124(Gallica,ark btv1b9060015d);Français 3000 f. 74(ark btv1b9060027m);说明 cc49559v、cc49428t、cc494576、cc494626。
- Giuseppe Molini,Documenti di storia italiana copiati su gli originali autentici e per lo più autografi esistenti in Parigi,第二卷(佛罗伦萨,1837)。
- David Potter,Inventaire des lettres missives de François Ier,1529年(cour-de-france.fr,经 Internet Archive 查阅)。
- Christophe Justel,Preuves,第241页,国王1529年1月27日致阿方索的信。
未经验证:这里的每处解读都出自缩微胶片图像或印本,第63、65、66号的加密段落只解读了短短几段。已核查:张号对应、文件清单、第63号的页码和日期、第65号与第66号互补的加密方式、22个密钥值。未核查:巴黎的原件,fr. 2974 fo. 94。
