中文譯本 · 原作 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/。