中文譯本 · 原作 Daniel Bourdeau《Unsolved Historical Ciphers》 以 CC BY 4.0 釋出,本頁由 JIC 翻譯,非原作者官方版本,譯文如有出入以英文原頁為準 · 檢視英文原頁 ↗
30 c 19 g 4, 4 30 12 30 19, 2 30 f 16 0 8 a 0 2 12 20 30 90 30 80 0
a 0 u 4 19 88 30 0 20 4 a 16 0 30

法國 · 同音替換,混合字母表 · 1644

Sir Richard Forster,1644年5月13日

Archives départementales du Val-d’Oise, 68.H.8, troisième liasse · 由 Karen Britland 發表(2013年)· 由 S. Tomokiyo 轉錄(2021年)

在本專案之前已由 George Lasry、Norbert Biermann 和 Robert Pitt 解讀;套用了 Pitt 的金鑰。新增內容:一項置換對照、僅憑密文復原34個符號中的31個,以及顯而易見的攻擊為何失敗的原因

Daniel Bourdeau · 釋出於 · 更新於

方法:用已知金鑰讀出 · 範圍:完整

摘要。Tomokiyo 至今仍把這段文字列在沒有已知解讀的密碼中,但它其實早已被解讀:Britland 的文章發表後由 Lasry 解讀,Biermann 獨立解讀過,2026年9月 Pitt 又解讀了一次,他的金鑰是公開的。這裡關於文字本身沒有任何新東西,也不聲稱有任何解讀。本頁記錄的是一次驗證,以及一個關於方法的結論。追蹤表原本預測這是 Ormonde 或 Boswell 那一類常規的斯圖亞特金鑰;實際上這段文字用的是一個34個符號的混合同音替換字母表,18個數字和16個字母,共207個碼元,分為37個以逗號隔開的詞。Pitt 的金鑰比字母身份的20,000次置換高出8.8個標準差。隨後,一個使用法語五元模型的同音替換求解器(模擬退火)僅憑密文就復原了金鑰(207個碼元中的202個,34個符號中的31個),但前提是訓練文字像1644年的手寫那樣,把v寫作u、把j寫作i。在作此改動之前,同一個求解器能解密六個相匹配對照中的五個,卻仍然在目標上失敗,一個錯誤的金鑰得分高於正確的金鑰:明文的拼寫落在了模型之外。程度:完整。四處單個筆誤和兩個只出現一次的詞需要檢視手稿;優先權屬於 Lasry、Biermann 和 Pitt。

01 段落

Britland 2013年的文章印出了 Forster 文稿中的這段密文,連同兩段法語明文和日期;Tomokiyo 於2021年9月21日在他的部落格上轉錄了它,Pitt 的輸入與之逐碼元相同。這裡的追蹤表原本寫的是“134個碼組,24個符號”;真實的計數是:

碼元詞不同符號數字字母數只出現一次IC
20737340 2 4 5 7 8 12 14 16 19 20 30 40 50 70 80 88 90a b c d e f g l n p q s t u x y80.047

最常見的:30(×24),2 和 0(各×18),20(×13),x(×10),c 和 s(×9)。逗號是詞或詞對的邊界,正是這一點讓207個碼元變得可以處理。

02 金鑰(Pitt;此前有 Lasry 和 Biermann)

字母數a d · b t · c l · d i · e g · f b · g y · l r · n f · p a · q c · s o · t n · u m · x s · y p
數字0 e · 2 e · 4 a · 5 g · 7 d · 8 t · 12 c · 14 z · 16 i · 19 n · 20 r · 30 u · 40 s · 50 t · 70 f · 80 l · 88 q · 90 p

沒有移位,沒有分塊,沒有奇偶行:這是一個混合字母表,常用字母e a c d f g i l n p r s t各有第二個符號(t還有第三個),而u雖然是最常見的字母,卻只有一個符號。它屬於黎塞留式同音替換字母表這一族;常規的斯圖亞特式不符合。未用到的值大概在完整金鑰中對應h k m o x以及更多同音符。

il ny a aucun subiet descrupule de manquer a dieu | ie vous en responds et mesmes dans | les reigles de perfection prenez sdulement les uoyes de prudence piur conceruer uotre uie pour en faire a dieu un plus grand sacrifiye par la multiplication des uos seruices pour le salut de uos freres | et mesurer a cela sil est meilleur d’agir, ou de soupir · 13. de may. 1644

沒有任何理由顧慮會有負於上帝;我為此擔保,即便按照完美的準則也是如此。只須採取審慎之道保全您的性命,以便透過為弟兄們的救贖多多效力,將這性命作為更大的祭獻奉給上帝;並以此衡量是行動更好,還是忍受更好。有四個碼元(粗體)與解密結果衝突(a→d,16→i,q→c,g→y,每個都與多處一致的出現相牴觸),是加密者或排印轉錄中的單個筆誤;207箇中有四個,與 Boswell 的比例相同。Britland 的通訊者給出的是aucune voie de scrupule和preveu seulement,而 Pitt 作aucun subiet和prenez;有爭議的碼元(f、14)各只出現一次,無法從文字本身判定。

03 置換對照

在 Pitt 的同音符劃分上,把二十個明文字母的身份置換20,000次,並用法語五元模型給207個字母的解碼結果打分。

模型Pitt 的金鑰零假設均值 / 標準差 / 最佳z零假設中至少同樣好的
僅字母(650萬個字母)−450.3−1327 / 117 / −9607.50 / 20,000
字母 + 詞邊界,v寫作u,j寫作i−524.9−1768 / 142 / −12308.80 / 20,000

04 僅憑密文復原及對照

一個同音替換求解器(模擬退火;34個符號對應26個字母,150,000步,重啟8–12次),先不用、再用詞邊界,分別在目標和六個相匹配的對照上執行:對照是207個字母的留出法語文字,用一個同音符重數與 Pitt 完全相同的隨機金鑰加密,並像目標那樣以0.2的機率合併相鄰詞。

段模型讀出的對照(共6個)目標
1五元,僅字母,無詞邊界0(正確率16–49%;6箇中有5個求解器的最優解得分高於真解)亂碼,與 Pitt 金鑰的吻合度31%
2帶空格的五元,原始語料3個達到99.5–100%;3個落入由 OCR 羅馬數字造成的全i吸引子吸引子
3同上,去掉羅馬數字5個達到99–100%,1個為44%找到的為−591.6,Pitt 的為−602.4:錯誤的金鑰得分高於真解,吻合度14.5%
4同上,訓練文字中v→u,j→i6箇中6個(98–100%)盲解得到 Pitt 金鑰的97.6%:207個碼元中的202個

第1次執行在這個長度上重複了 Moray 信件的結果:207個字母、34個符號,用普通的字母流模型,即使在對照上也低於求解器的門檻,所以目標上的失敗本來說明不了任何問題。第3次執行更有用。對照透過而目標失敗,說明是明文落在了模型的分佈之外。這封信寫作uotre, uie, uos, seruices, uoyes, subiet, ie,1644年的手寫無不如此;一個用帶v和j的19世紀版本訓練的模型,給這種拼寫打的分比同樣長度的現代法語低約200奈特,於是亂碼勝出。把訓練文字規範化就解決了問題。復原的金鑰與 Pitt 的只在三個罕見符號上不同(g、14、e),它們的值 n 元組無法確定,而詞可以。在同一模型下執行的兩個134個字母的對照(追蹤表那個錯誤的長度)都以97–99%解密,所以長度從來不是障礙。

05 仍未解決的部分

06 方法與檔案

  1. 分詞器、碼組、Pitt 的金鑰和逐字解碼(targets/forster/key.py).
  2. 僅字母的法語五元模型、置換檢驗、盲解退火器、六個相匹配的對照(ng5fr.py, solve.py, run1.txt).
  3. 帶詞邊界、並作u/v、i/j規範化的模型,同樣的檢驗(solve2.py, run2–4.txt);134個字母的重複實驗(control134.py, run5_134.txt).

已核對:Pitt 的輸入與部落格文字;金鑰與20,000次置換;在四種模型下的僅憑密文復原和六個相匹配的對照。未核對:手稿;Britland 的文章本身,除摘要和 Pitt 引用的讀法之外。

07 來源

分析指令碼和密文都在倉庫中(targets/forster/).