中文譯本 · 原作 Daniel Bourdeau《Unsolved Historical Ciphers》 以 CC BY 4.0 釋出,本頁由 JIC 翻譯,非原作者官方版本,譯文如有出入以英文原頁為準 · 檢視英文原頁 ↗

Beinecke MS 408 · 未知文字 · 15世紀早期 · 工作筆記,2026年9月

伏尼契手稿:對語言、密碼和無意義文字三種假說的檢驗

一部真正的15世紀早期書籍。沒有得到任何文字,也沒有任何已發表的解讀經得起盲測。對轉寫文字的統計檢驗排除了明文,也排除了十一種歐洲語言的簡單替換、換位或子音音素文字形式。剩下的可能是一種由固定字形組構成的編碼(冗長密碼),或是有結構的無意義文字;證據略微傾向於無意義文字。

Daniel Bourdeau · 釋出於 · 更新於

方法:未破解 · 程度:未獲得文字

伏尼契手稿第34r張:一頁草藥圖,有四段伏尼契文
伏尼契手稿第34r張:一頁草藥圖,有四段伏尼契文。Beinecke MS 408,公有領域,經由 Wikimedia Commons。
分三個層次的結論。

已確定 Beinecke MS 408 是一部真正的15世紀早期抄本:犢皮紙經放射性碳測年為1404–1438年,鐵膽墨水,時代相符的顏料,五位抄寫者的筆跡,來源可追溯到約1600年的布拉格(第09節)。排除了現代偽造。

已排除 它不是十一種歐洲語言中任何一種在普通分詞下的明文、一對一替換、字母換位、子音音素文字形式或填充虛碼的形式(第03、04和05節)。條件字元熵在原始 EVA 中至少比自然語言下限低1.0位元,在三種獨立的字形切分下至少低0.4位元。

仍成立 一種冗長或槽位模板編碼,即一個明文單位變成一個固定的兩字形或三字形組;與之相對的是透過複製加修改生成、保留槽位結構的無意義文字(第06和08節)。每一項把伏尼契文與語言區分開的統計量,兩類中都各有成員能復現。判斷*:大致對半,約45:50,其餘歸於一種未加密的冷僻語言。

01 問題與方法

這不是一次解讀。問題在於這份文字是無意義的、加密的,還是一種語言,以及在一輪工作中,公開資料能把這個問題推進多遠。五次文獻梳理,每個假說或證據類別一次,產出了 SOURCES.md。六項計算檢驗, a1 to a6,在 ZL 轉寫本上執行,對照自然語言語料庫和實現出來的騙局生成器。另一個智慧體以對抗方式重跑了每項檢驗(v_a1 to v_a6),並修正了其中幾項;引用的是修正後的數字。在智慧體執行之前寫好的兩個基線指令碼復現了 a1 和 a2 的主要結論:原始 EVA 去掉空格時 h2 為2.32位元,齊普夫斜率−1.04,相鄰重複0.81%。

(S) 表示本輪由某個具名指令碼計算出的數字;(L) 表示引自文獻的數字,附來源和年份。判斷帶星號。

資料 (S)。ZL3b-n,即 Zandbergen–Landini 的 EVA 轉寫(voynich.nu,2025年5月13日),只取段落文字:去掉含未讀字形或擴充套件 EVA 字形的詞後共34,116個詞次,其中 Currier A 約10,750個,B 約22,900個,詞型7,236個。用 RF1b-er、IT2a、GC2a(v101)和 CD2a(Currier)做了交叉核對。2,463個不確定的空格當作斷點處理;把它們連起來也不會帶來實質改變(v_a2)。語言對照是單本 Gutenberg 書籍和一個經 OCR 的16世紀義大利文語料庫。熵用插入估計;Miller–Madow 校正對 h2 的改變最多0.007。

02 先擺出最有力的反駁

每一項字元統計都以轉寫本為前提,並假定 EVA 空格標記的是明文單位。在每個 e、s 和 m 之後重新切分的拉丁文,會朝伏尼契文的槽位固定性移動60%的距離,而切成以母音結尾的音節的拉丁文,在等長條件下比伏尼契文還要固定(S:v_a3)。因此,排除的範圍是十一種現代拼寫語言中保留詞邊界的編碼。基於規則的重新切分,或一種以音節方式書寫、具有固定子音-母音音節的語言,沒有檢驗。

第二,在 h1、h2 及其比值上同時與原始 EVA 吻合的那個冗長對照,產生的詞長是應有的2.3倍,11.52個符號對5.07個,而其詞熵仍是拉丁文的(S:v_a1)。這駁倒了以整個拉丁詞為單位的字母層冗長密碼。這兩點都縮小了結論的範圍,但都沒有推翻它。

03 字元層面

最可靠的結果是條件字元熵 h2,即已知前一個字形時某個字形的不確定度。Bennett(1976年)測得伏尼契文為2.22位元,而歐洲語言為3.01到3.37(L);Lindemann 和 Bowern(2021年)發現它低於一個 Wikipedia 語料庫中全部250種語言(L)。這一差距在合併字形以及採用 Currier 和 v101 字母表後依然存在。所有行均為 (S),不含空格,a1、v_a1 和 v_a5。

文字h1h2h1−h2h2/h1平均詞長
ZL 原始 EVA,Currier A3.8322.3531.4790.6144.98
ZL 原始 EVA,Currier B3.8592.1821.6770.5655.12
ZL 原始 EVA,全部3.8652.3111.5540.5985.07
ZL 合併(benches、i/e 組、aiin、qo)4.0392.8701.1700.7103.7–3.9
GC v101(68個符號)4.1442.8931.250.6983.7–4.0
Currier CD2a(35個符號)3.8572.6601.1970.690
拉丁文,《埃涅阿斯紀》4.0253.5100.5150.8725.77
德文(摺疊變音符號後為3.335)4.1603.3910.7690.8154.88
11種語言的範圍(摺疊後下限3.32)3.94–4.523.32–3.880.49–0.770.82–0.884.2–6.6
拉丁文,去掉母音3.6593.5150.1440.9613.11
拉丁文的冗長密碼,每個字母2–3個符號,共24個符號3.9012.3251.5760.59611.52
冗長密碼,8個字母保持單符號4.1022.9161.1860.7117.64

原始 EVA 給出2.18到2.35位元;ZL 合併、v101 和 Currier 給出2.66到2.89;十一種語言摺疊變音符號後的下限是3.32。拉丁文的任何換位都至少給出3.44。去掉母音後拉丁文為3.52,h2/h1 為0.961,方向與子音音素文字恰好相反。

冗餘在哪裡。在詞內部。詞內 h2 原始值為1.92到2.13位元,而語言為2.94到3.41。字形與詞內位置之間的互資訊在 ZL、Currier 和 v101 中為0.69到0.73位元,而語言為0.17到0.27;21%到31%的字形被鎖定在一個詞內位置,而字母只有0%到8%(S:a5、v_a5)。

字形對合並。貪心地合併高頻字形對,大約要合併40次之後才能彌合 h1−h2 的差距,所以一種由50到60種單位中抽取的兩到三字形單位構成的編碼與字元統計相容,而普通的字母密碼則不相容(S:a5)。貪心合併只檢驗了一種啟發式方法,而非整個冗長密碼類別(S:v_a5)。

資訊預算。詞流承載425,468位元,每個詞次12.47位元,在同一模型下是等長拉丁散文的0.82倍(S:a5、v_a5)。

04 詞層面

在詞層面,伏尼契文看起來像一種語言,正如 Landini(2001年)和 Reddy 與 Knight(2011年)所報告的(L)。表 (S),a2 和 v_a2,34,116個詞次。

語料齊普夫斜率,第1–1000位單現詞佔詞型的%Heaps beta最高頻詞佔比
伏尼契全部−1.04069.70.7102.25%
伏尼契 A / B−0.994 / −1.06872.2 / 68.60.743 / 0.6794.27% / 2.13%
拉丁文(《埃涅阿斯紀》)−0.82067.00.7494.9%
德語−1.04565.10.7793.46%
中文釋義−1.05655.10.6754.68%

詞型熵為9.8到10.3位元,而拉丁散文為10.3到10.8,義大利文、法文和德文為9.4到9.8(S:v_a1)。合併計算時最高頻詞佔比偏低,是 A+B 混合造成的(S:v_a2);與單本書樣本相比,單現詞比率高於所有語言(S:v_a5)。這些都沒有區分力:齊普夫分佈和單現詞都能被人寫的胡言亂語(Gaskell 與 Bowern 2022)、生成器(Rugg 與 Taylor 2016;Timm 與 Schinner 2020)以及一種從拉丁文出發的手工密碼(Greshko 2025)復現(L)。

詞長

合併 EVA 的詞長(S:a2、v_a2):

語料均值方差(長度−1) 的方差/均值
伏尼契全部(原始 EVA 5.07 / 3.73 / 0.92)4.112.480.80
伏尼契 A3.932.890.99
伏尼契 B4.202.270.71
僅《埃涅阿斯紀》/ 僅《懺悔錄》4.97 /1.04 / 1.74
義大利文 / 德文 / 英文 / 丹麥文4.53 / 4.99 / 4.23 / 4.676.52 / 7.04 / 5.41 / 7.401.85 / 1.77 / 1.67 / 2.02

著名的欠離散現象,即“二項式詞長”,是 Currier B 的特性。B 的方差均值比為0.71,A 為0.99,單一文字的拉丁詩歌為1.04,所以 Currier A 與拉丁詩歌相符,而 a2 中二項式擬合的對比是搜尋上限造成的假象。B 和合並文字則遠離現代散文的1.67到2.02。

05 詞的語法與重複

Tiltman(1951年)、Stolfi(2000年)和 Zattera(2022年)描述了伏尼契文詞內部一種嚴格的位置語法(L)。這裡的測量方法是:在長度匹配的條件下,計算順序違反單一最佳字形排序的字形對所佔比例;打亂零假設為0.49。所有行均為 (S):a3、a2、v_a2。

統計量伏尼契拉丁語義大利文德語中文釋義
相對最佳字形順序的字形對順序違反率,長度匹配(打亂零假設0.49)0.160 (v101 0.140)0.3630.3180.2780.308
相鄰相同詞次,%及觀測值:打亂值0.907 / 2.50.047 / 0.10.047 / 0.10.157 / 0.30.137 / 0.2
行首首字形效應,Cramér’s V,不含段落首行0.277人為分行的散文0.02–0.03;六步格詩0.148

伏尼契文比任何被檢驗的語言都固定1.7到2.3倍。在沒有任何假設的情況下從資料推匯出的字形順序——q,然後 p f sh,然後 ch,然後 o t k,然後 e ee,然後 d s a,然後 l r y,然後 g n iin m——就是盲目復原出來的 Stolfi 和 Zandbergen 佈局(S:a3)。

行內位置是有影響的,正如 Currier(1976年)所說(L)。行首效應超過六步格詩,比人為分行的散文高出一個數量級;a2 報告的行尾效應,在去掉詞尾的 m 和 g 異體字形後降到 V 0.07到0.16(S:v_a2)。

06 自我引用與生成器比拼

Timm(2014、2016年)認為,相似的詞在頁面上成簇出現,這是複製前面某個詞再加以修改的指紋;Timm 與 Schinner(2020年)發表了實現這一過程的演算法(L)。檢驗方法是:對每個詞次,在同一頁上找到編輯距離為1以內的最近的前一個詞次,所有語料都灌入完全相同的頁與行骨架。兩個 Rugg 式生成器和一個重新實現的自動抄寫器用同一程式碼執行。所有行均為 (S),a4 和 v_a4。

語料中位距離10個詞次以內頁內打亂全域性打亂長詞次(5+)在10個以內
伏尼契 ZL140.2690.2380.1670.225
拉丁文(《埃涅阿斯紀》)410.0350.0340.0300.006
英文(義大利文、德文類似)170.1760.1770.1640.019
丹麥文(詩歌)150.1960.1720.1380.035
自動抄寫器(Timm–Schinner 的重新實現)130.3290.2750.0790.257
Rugg 漏格板360.0670.2490.0660.033
Rugg 排序表340.3290.1620.1120.341
在伏尼契文上訓練的三階字元馬爾可夫模型190.1940.1940.1940.119

順序超額,即真實值減去頁內打亂值,衡量的是複製順序:伏尼契 +0.031,丹麥詩歌 +0.024,自動抄寫器 +0.054,散文約為零。頁面詞彙超額,即真實值減去全域性打亂值:伏尼契 +0.102,各語言最多 +0.058,自動抄寫器 +0.250。對於五個或更多字形的詞次,各語言基線降到0.035或以下,而伏尼契文保持在0.225,但一個什麼都不復制的三階字元馬爾可夫模型也能達到0.119:長詞次密度約有一半來自詞內結構,而非複製(S:v_a4)。

比拼

文字詞型h2 原始h2 合併齊普夫斜率單現詞 %相鄰重複字形對違反率
伏尼契 ZL7,2362.3112.646−1.04069.70.00820.160
自動抄寫器,兩個種子11,660 / 11,3302.709 / 2.7233.274 / 3.005−0.825 / −0.85972.2 / 71.10.0013 / 0.0018自由編輯 0.41–0.46
Rugg 漏格板 / 排序表3,747 / 1,7572.798 / 2.6293.176 / 2.912−0.429 / −0.6225.7 / 13.90.0003 / 0.0893擬合表 0.122

沒有一個生成器能在每一欄上都吻合。自動抄寫器按詞次計只產生37%的真實伏尼契詞型,以 qo 開頭的詞只有2%(實際為15%),h2 高出0.4到0.6位元;它過度產生了區域性性和頁面詞彙,而手稿自身的順序超額只有丹麥詩歌那麼大。它是一個有文件記錄的偏差的重新實現,不是 Timm 的參考程式。漏格板在齊普夫和單現詞上直接失敗。唯一能復現槽位固定性的那張表,其各欄是從伏尼契文中讀出來的:只能證明充分性(S:v_a3)。

07 Currier A 與 B

Currier(1976年)在手稿中發現了兩種統計意義上的語言(L)。區分它們的是(S:a6、v_a6):

統計量AB
以 -edy 結尾 / 含 ed 的詞次0.20% / 0.29%17.34% / 20.84%
含 cho / 以 qo- 開頭 / 以 -ol 結尾16.1 / 10.0 / 14.5%2.7 / 17.7 / 7.1%
ch 之後的字形:e / o24.5 / 46.1%60.1 / 10.1%
每千詞次中的 daiin42.513.0

對197張做無監督聚類,以95.4%到99.5%的準確率復原了 Currier 的標籤。單一的 -edy 閾值在留一法檢驗下以99.5%的準確率把兩者分開:A 是一個尖峰,114張中有112張低於2%;B 是一個從3%到42%的連續體;IT2a 中也是如此。Parisel 2026年的預印本獨立得出了同樣的單開關描述(L)。

筆跡決定語言。採用 IVTFF 頭資訊中 Davis(2020年)劃分的五種筆跡,H(語言 | 筆跡) 為0.09位元,僅憑筆跡就能預測98.2%的行;唯一混合的單元是星辰部分中的第3種筆跡。決定語言的是抄寫者,而不是主題。

詞彙共享,經過校準。規模匹配的 A 對 B 給出 Jaccard 0.147 和前100詞重合度0.95,而 A 的兩半之間為0.207和1.00,兩部英文小說之間為0.172和0.91,丹麥文對挪威文為0.116和0.67。一種詞尾模式從0.2%變到17%,在同一語言的不同書之間沒有先例,在不同語言之間卻有:法文對義大利文,詞尾 -o,從0.19%到17.5%(S:v_a6)。

分部詞彙。各部分特有的詞彙確實存在,每詞次平均卡方值0.654,而打亂後為0.121,義大利文為0.40,而且在同一抄寫者、同一語言內部依然存在。但這些分部詞彙屬於同樣的亞詞族——qokain、qol、qokeedy、okeol——而不是任何類似實義詞彙的東西(S:v_a6)。

08 各假說的現狀

排除

  1. 所檢驗的十一種語言的明文或單表替換:h2 差距原始至少1.0位元,合併後至少0.4位元(S:a1、v_a1;L:Bennett 1976,Zandbergen,Lindemann 與 Bowern 2021)。
  2. 替換加去母音或常規縮寫(S:a1、a5;L:Lindemann 與 Bowern 2021)。
  3. 真實明文的字母層換位,包括漏格板重排(S:v_a5;L:Parisel 2026)。
  4. 維吉尼亞型多表替換(L:D’Imperio 1978,Stolfi 2000)。
  5. 以單字形虛碼作為冗餘的來源(S:a5)。
  6. 具名的解讀:Cheshire 2019(被其審稿人駁倒)、被當作解讀來讀的 Hauer 與 Kondrak 2016(作者本人有所保留)、Bax 2014、Gibbs 2017、Ardic、Gladyseva 2023、Schechter 2025,以及2025–2026年藉助大語言模型的各種讀法:都沒有可復現的金鑰,沒有一個經得起盲測應用(L)。
  7. 現代偽造(L:放射性碳測年、墨水、來源)。

不被看好*

仍成立

09 實物證據補充了什麼

全部為 (L)。四張的放射性碳測年:1404–1438年(Hodgins,亞利桑那大學,2009年)。通篇為鐵膽墨水和時代相符的顏料(McCrone 2009;耶魯 2014)。五種筆跡——其中三種寫了227頁中的188頁——共用一套書寫系統(Davis 2020)。羅曼語方言的月份名和 f116v 上一條德語筆跡的批註,表明它在幾十年內經過講德語和講法語/奧克語的人之手。十張的多光譜影象(2014年拍攝,2024年公佈)復原出 f1r 上一份被擦去的字母表試寫和 Tepenecz 的藏書標記,但沒有新的伏尼契文。來源從約1600年的布拉格,經 Baresch(1639年)、Marci(1665年)和基歇爾,一直到1912年。

其推論是對稱的。無意義文字的解釋必須設想:這是1420年代在新鮮小牛皮上製作的產物,由幾位協作的抄寫者完成,他們在兩百多頁中始終保持同一套槽位語法和同一個 A/B 開關——這種代價沒有任何統計量能說明。密碼的解釋則必須說明,為什麼決定語言的是抄寫者而不是主題(第07節)。

10 怎樣才能解決其餘問題

  1. 一場預先登記的、手稿長度的生成器比拼:自我引用、表加漏格板、用 Naibbe 加密的拉丁文和人寫的胡言亂語,放在同一組檢驗下,包括 Montemurro–Zanette 的長程關鍵詞峰(L:2013)、主題×插圖×抄寫者的共同聚類、相鄰頁相似度、A/B 可分性、f 和 p 規則以及詞次可預測性。指令碼 a1 到 a6 是一組可用於任何 TSV 格式文字的部分檢驗。
  2. 手稿長度的人寫胡言亂語,花幾周時間寫成,配有插圖和分部,這是 Gaskell 與 Bowern(2022年)提出的懸而未決的檢驗(L)。
  3. 插圖與文字之間的互資訊,並排除筆跡、帖和相鄰關係的影響。
  4. 僅按確定的空格重新切分詞次,並對拉丁文和義大利文的音節切分計算同樣的統計量,以彌補第02節留下的缺口。
  5. 對任何聲稱的金鑰:由第三方盲測應用於五張 A 和五張 B,並附打亂字形的對照。

11 已核查、未核查、須核實

已核查。a1 到 a6 中的每個主要數字都由獨立的重新實現 v_a1 到 v_a6 復現,包括 Levenshtein 程式碼、熵公式、估計量偏差、語料內容和 Gutenberg 版權套話。在 ZL、RF1b、IT2a、GC2a 和 CD2a 上的穩健性。已應用的更正:單本書樣本;拉丁文詞熵取自散文而非詩歌;摺疊後的下限為3.32;固定性比率為1.7到2.3;欠離散是 Currier B 的特性;行尾效應來自 m/g 異體字形;A/B 規則在留一法下為99.5%。

未核查。需付費的 Cryptologia 全文(Rugg 2004、Schinner 2007、Timm 與 Schinner 2020 和 2023、Daruka 2020、Greshko 2025)是根據摘要和二手概述來把握的。沒有計算更高階的熵和按筆跡分的熵、A 對 B 的顯著性檢驗以及自助法區間。沒有重新計算任何更高層次的文獻統計量(Montemurro–Zanette 峰、主題模型、相鄰頁相似度)。Davis 的筆跡劃分取自 IVTFF 頭資訊。除放射性碳測年、墨水、筆跡和1639年的信之外的實物證據,包括墨水分層、顏料順序和帖的順序,都沒有考察。

使用者引用前須核實。語料選擇(單本 Gutenberg 書籍;一個含約8%拉丁文的 OCR 義大利文語料庫;詩歌對散文拉丁文)、字形合併列表、24符號冗長對照的設計、把不確定的空格當作斷點的處理,以及“已排除”“不被看好”和“仍成立”這些標籤。有兩個數字以不止一種形式出現:合併後的 h2 在熵表中是2.870,在比拼表中是2.646;相鄰重複率在固定性表中是0.907%,在比拼表中是0.0082,在基線中是0.81%。筆記沒有調和這些差異;可能的原因是合併列表和詞次過濾器不同*,這可以透過以下位置中各指令碼的 JSON 來確認: results/ 。所有輸出在複核之前都未經驗證。

12 檔案與復現

所有內容都在 targets/voynich/. parse_ivtff.py 把 IVTFF 轉換為 TSV; data/ZL3b-n.words.tsv 是解析後的主轉寫本。原始檔案來自 voynich.nu/data,需帶瀏覽器請求頭;伺服器會拒絕普通的 curl。 baseline.py 和 baseline2.py 是獨立的基線。檢驗: a1_charstats.py, a2_wordstats.py, a3_wordgrammar.py 連同 a3_supplement.py, a4_selfcitation.py, a5_cipher.py, a6_structure.py;重跑 v_a1.py to v_a6.py. results/ 存放各指令碼的 JSON 和 Markdown 以及生成器樣本。 NOTES.md 是本頁所濃縮的裁定; SOURCES.md 是五次文獻梳理。