中文译本 · 原作 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 是五次文献梳理。