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。
