破解马蒙密码,1809 年

一封给马蒙将军的信在未解历史密码清单上躺了 217 年,仅存 1969 年一本日期标错的法军期刊里的复制件。作者从那一张扫描图出发完整释读了它,把日期改定为 1809 年 3 月,并公开可重跑脚本。

中文
复制
文章封面图

一份拿破仑战争时期的军情简报,尘封217年无人能读

一封写给Marmont将军的信,长期被列在未解历史密码的标准清单上。人们只知道它来自1969年一本法国军事期刊上的一幅复制图,而那本期刊标注的日期还是错的。[1] 本文给出完整的解读结果,整个过程完全基于那一张扫描图版,并将这封信重新定年为1809年3月,置于奥地利入侵巴伐利亚之前的那两周。完整解密资料包,以及可重新生成解读结果的脚本,可供下载。

开战前两周

1809年2月,维也纳决定开战。[23] 前一年春天,Napoleon废黜了西班牙波旁王朝,把他们的王国给了自己的弟弟,维也纳由此断定,哈布斯堡就是下一个目标——除非趁他精锐部队被牵制在西班牙时先动手。[24][23] 2月8日,奥地利帝国决定与Napoleon一战,主战派拿出的理由是前一年7月法国在西班牙Bailén的惨败,当时一整支法国军团投降。[26][25] 卡尔大公是奥地利皇帝的弟弟,也是哈布斯堡家族最好的将领。[19] 他花了三年重建军队:34万正规军,外加纸面上24万的新式Landwehr民兵。[26][27] 谁都看得出要出事了。

Napoleon有一个具体的问题,名字叫Marmont。

Marmont是皇帝的朋友,被委以战区里所谓“最精锐”的部队(按Napoleon自己的说法约1.3万人),却驻扎在亚得里亚海另一侧的达尔马提亚。[29][11] 奥地利领土横在他和其余每一支法国军队之间。一旦开战,Marmont将是帝国中最孤立的一位将领。

于是1809年3月16日,Napoleon从巴黎写信给他的继子、意大利总督Eugène,让他给Marmont送一封信。[18] 信里要说明每一支法国及盟军部队的位置。这封信要“dans une lettre chiffrée et par un officier intelligent”:用密码写,由一名聪明的军官递送。[10]

那封信——或者说,一封完全按这个顺序写成的信——留存了下来。第一行是明写法语:[3]

Vous avez dû recevoir, Monsieur le Général Marmont, mes lettres des 8, 14 et 20 courant.

您想必已收到,Marmont 将军,我本月 8 日、14 日和 20 日的信。

接着是 24 行密文

再往后是二十四行两位数、零散字母和自造符号。

1969 年复刻的致 Marmont 将军密码信:一行明写法语,其后 24 行密文。

图版出自 J. Vilcoq,《Le Chiffre sous le Premier Empire》,《Revue historique des Armées》25(4), 1969 年,第 24 页后。由 Persée 数字化。

密钥没有留存下来,217 年来没有一个在世的人能读懂它。

为什么挑这一封

我从没破过密码。一周前我看到 Carter Leffen 的帖子(名字不错),讲他读出一封 1941 年德国陆军 Enigma 电报,那封电报几十年来一直挂在未解名单上。他也不是密码学家,但 Astra(GPT-6)不介意:它在这道题上跑了大约十个小时。[5]

这把我引向了 Satoshi Tomokiyo 的 Cryptiana——一个人几十年细致记录未解密码的成果。他关于这封信的条目列为“Encoded Letter to Marshal Marmont (1807)”,给出了那句明写的开头,并描述了这套体系。条目还提到,Marmont 在 1811 年用的密码本只有约 150 个条目,所以这一封大概也不会太大。[3][9]

Tomokiyo 的网站现在让解题者去对照另一个人 Daniel Bourdeau,后者在过去几周里读出了这些名单上三十多个密码,或读出了其中一部分,看上去也是用基础模型做的。我翻了他的笔记,看到他试过这一封但中途停了,就想看看自己能拿它做出什么。[3][4]

“没有可下手的东西”

这是对这封密码信的一贯结论。有记录可查的最近一份解题笔记说得干脆:

没有可下手的东西。密文没有发表在任何我能拿到的地方。[4]

Tomokiyo 的页面只引用了第一行(也就是你上面读到的那行),其余内容仅存在于 J. Vilcoq 中校 1969 年发表于 Revue historique des Armées 的文章所附的图版中。[3][1] 不再往下找,线索就断了。

本不该如此。这份期刊 确实 在线,就在法国学术档案库 Persée 上。图版位于印刷版第 24 页之后。尺寸为 1,202 × 1,836 像素,约合每个符号十九像素。[1][6] 法国密码学史学家 Daniel Tant 编制、由 ARCSI 托管的一份该密码的部分对照表,已经记录了 33 个字母值。其中每一个整词符号单元格都是空的。[2] 这两份文件就是这项工作的起点。

它是怎么读的

这封信有 1,300 个密码单元和 155 个不同的符号。[6] 它是一种同音密码:常见字母有多个可互换的符号,所以靠统计频率毫无用处。[7]

1,300

密码单元

155

不同符号

29

整词符号

33

已公布的字母值(Tant)

Tant 公布的 33 个值覆盖了 1,300 个单元中的 435 个。其余三分之二必须从信件本身推出来。[2][6]

  • __435可从 Tant 的表中读出 · 33%
  • __865从信件中推出 · 67%

这项工作用 GPT-6 Astra 花了大约六小时的模型运行时间,以下所有内容都出自一张图像。开始时没有可用的转录文本,因为根本不存在:Astra 把 1,202 × 1,836 的图版切成行,读出符号,判断 175 个手绘标记中哪些是同一个符号写了两次,然后才开始破译密码。转录和密码分析通常是两种技能,往往也是两种职业。在这里它们作为一条工作流运行,图版始终留在流程中:提出的值会对照图像上该符号的每一次出现进行核验。[6]

密钥是怎么找到的

  1. 转录。 图版被切成行图像,逐行读取。每一个肉眼可见不同的标记都得到一个临时名称,可能的笔迹变体单独保留。这一步把各部分协调为 1,320 个单元和 175 个临时标签。[6]

  2. 固定已知部分。 Tant 的 33 个字母值直接采用。第 14 行拼出“CONSEQUENT”的十个普通字母保留为明文。两者合计,在任何新搜索开始之前就覆盖了约三分之一的单元。[2][6]

  3. 搜索。 求解器用模拟退火为剩余符号分配字母,依据从 Hugo、Dumas 和 Marmont 本人的回忆录中提取的法语字母统计(3-gram、4-gram 和 5-gram)为每个候选明文打分。[8][6]

  4. 找出整词符号。 那些总是破坏本来通顺的法语的符号,改为按整词而非字母来测试。其中 29 个被证明是词:de、que、les、vous、général 等等。另外两个代表双写的 S。[6]

  5. 把每个符号对照图版核验。 只要某个符号提出的值让法语更通顺,就把这个提议与该符号的每一次其他出现进行比较。只有当这一改善在所有实例中都成立时,该值才被保留。[6]

  6. 试着攻破它。 研究者将 Marmont 的回忆录以及所有拿破仑时期的文本从语言模型中移除,然后从头重新运行求解器。它得出了同样的解读,因此密钥并不依赖于模型是否见过它正在解码的那段历史。[6]

解法长什么样

破解这种密码的解法就是一份对照表,和 1809 年 3 月 Eugène 办公室里那位文书桌上摆的是同一样东西。法军司令部靠两张表干活:一张 tableau chiffrant,左边一列明文,旁边是对应的符号;另一张是它的逆表 tableau déchiffrant,供另一头的军官使用。[1][3] 文书把总督的草稿逐字母过一遍,每个字母从可选的符号里挑一个,这样连着的两个 E 就不必长得一样,中间还时不时塞一个空符凑数。[6] 1811 年 Marmont 自己的司令部用的密码只有约 150 个条目,其中 E 有九种不同写法,英军参谋 George Scovell 两天内就破了,部分原因是 Marmont 的文书总把明文字词混在密文里忘了删。[3][9] 写这封信的人要谨慎得多。

下面是重建后的 tableau chiffrant。左列是明文:二十六个字母,加上十五个单独配了符号的法语整词。符号大多是文书能快速写下的东西:两位数、普通字母、希腊字母、几种排版符号。大约七十个是凭空造的记号,没有对应的印刷字符。把完整的对照表按顺序套用到全部 1,300 个单元上,不做任何修正,得到的就是本文其余部分所依据的那段法语。[6]

点击字母查看它的符号。 字母 · 115 个符号A11

UP_ARROW TBASE 22 MU CURLD LOOP8 FANCY_W d FORKED_HOOK PHI_ROUND_MIDDLE w

B2

! OPEN_CUP

C4

47 THETA j THETA_BLOTTED

D4

n 81 Y TRAPEZOID

E9

STEMCIRCLE STAFFDOT DBLCROSS R_FORK 35 r A o STEMCIRCLE_DARK

F3

m LOOP8_CLOSED 68

G4

a 27 PLUS_LEFT_DOTS OMEGA

H6

rho 73 p TRIPLEBAR DOTTEDBOX3 RECTSTACK

I5

b DIV ZSHORT z 96

J3

26 E THREEBAR_LEFT

K2

33 V_SHARP

L4

FOURSTACK 59 c e

M5

i 12 SHOOT RHO_LOW IDOUBLE

N7

x 31 CROSSED_CURL 2 20 X_LOOP x_BLOTTED

O5

y H ZDOT 42 DIVBAR

P4

RECT 55 E_NARROW RECT_DOT

Q3

h 64 PARALLELOGRAM

R6

VENUS 79 OVERLINEARC Z ZBAR JCROSS

S6

: g 76 BANG_CURLED SEMICOLON Y_LOWERLOOP

T9

q DTRI 69 LT 65 OPEN_DTRI CROSSED_DOUBLE_LOOP DOUBLEX DTRIDOT

U4

PHI PLUS4DOT ? 82

V4

15 WAVE TAU PI_HOOK

W–无符号X2

k BRANCH3

Y2

17 TRI

Z1

LOOPX 整词 · 27 个符号deof_2_

+ P enin_1_

MIRRORP etand_3_

DOWNDOUBLE GLASSES_CROSS DIAG_OPPOSED_TRIANGLES generalgeneral_1_

DIAMONDCROSS ilhe_1_

YDOT jeI_1_

JE_MONOGRAM lathe_2_

Q CIRCLE_TAIL lethe_2_

BENTL ARCH_COMPOUND_TALL lesthe_3_

RANGLE BRIDGE RECT_B_COMPOUND nenot_2_

DIAMONDX ELBOW_CIRCLE parby_1_

OMEGASTEM pasnot_1_

CIRCLE_VBAR pourfor_1_

HEART quethat_4_

BOWTIE BOWTIE_BOTTOM_FORM LAMBDA SIGMA_CURL vousyou_2_

CROSSHATCH YLOOP 其他 · 8 个符号ssdoubled s_2_

l ORNATE_CROSSED_STEM , comma_2_

CIRCLE_CROSS OVALSLASH nullnothing_4_

RECTDOT RECT_STEM_DOT ARCH_COMPOUND BOX_STEM_DOT 未解 · 5 个符号,附我们的最佳猜测

TARGET Sa Majesté或 l’Empereur

FOUR_DOTS de或 dans

RHO null或 par

LOW_INWARD_ARCH scanailles,或 canaille

SLOOP des或 les 已公布的符号   新破译的符号   未解,附我们的最佳猜测

以第 3 行的 "le duc de Danzig" 为例,逐符号来看:

cipher sign: bentl ▼LE

cipher sign: n ▼D

cipher sign: phi ▼U

cipher sign: 47 ▼C

cipher sign: + ▼DE

cipher sign: 81 ▼D

cipher sign: up_arrow ▼A

cipher sign: 31 ▼N

cipher sign: loopx ▼Z

cipher sign: div ▼I

cipher sign: a ▼Gleducdedanzig

以上每个符号、取值和位置都在解答包里:key.tsv 是密钥,revised_tokens.txt 是转写,verify.py 用来把两者对照运行。

这封信

按顺序套用、不作任何修正,tableau chiffrant 给出的是:

收信人 général marmont发信方 the viceroy's headquarters日期 late march 1809 [那些信件]载有[陛下]责成我向你下达的命令与指示。我今日急于告知你法国及盟军各部的部署。Danzig 公爵率四万巴伐利亚人占据 Munich 和 Passau。Poniatowski 亲王率三万波兰人驻扎在 Vistula 河畔,威胁 Cracow。Ponte-Corvo 亲王指挥萨克森军队,驻扎在 Dresden 城前,Auerstaedt 公爵率八万法军占据 Bayreuth。Rivoli 公爵指挥六万人,驻扎于 Ulm 和 Donauwörth。[General] Oudinot 率四万人的精锐军团,驻在 Augsburg 及 Lech 河沿岸。 俄军正开赴奥地利,Friuli 的军队[of]今日已达八万人。再加上 Dalmatian 军团,还不算后方各地正在编组的预备队,你便可以看出奥地利将立刻四面受敌。她因此正加速走向覆灭。当你接到进军命令时,切不可因少量部队或一群乌合之众而畏缩。

我仍在焦急地等待你的消息。奥地利人还待在 Laybach、Klagenfurth、Villach 和 Salzburg,看样子想经由 Lintz 威胁 Tyrol。不过,人们会以为他们正在考虑把部队派往 Galicia 去对抗俄国人。这些部署似乎说明,他们的作战计划在宣战之前就已经被打乱了。但目前仍然没有任何确切的消息。民兵已被征召服役,尽管有人竭力煽动人心,这些征召来的兵员能否给军队带来多少补充,还没有得到证实。

内含[陛下]责成我向你下达的命令和指示。我今天急于把法国军队和盟军的位置告知你。Danzig 公爵率四万巴伐利亚人占据 Munich 和 Passau。Poniatowski 亲王率三万波兰人驻扎在 Vistula 河畔,威胁 Cracovie。Ponte-Corvo 亲王指挥驻扎在 Dresde 前方的萨克森军队,Auerstaedt 公爵率八万法国人占据 Bayreuth,Rivoli 公爵指挥六万人驻扎在 Ulm 和 Donaverth。[将军] Oudinot 率四万人的精锐部队在 Augsbourg 和 Lech 河一带。俄国人正开往奥地利,[Frioul] 军团如今有八万人。再加上 Dalmatie 军团,还不算正在后方各地组建的预备队,你就能看出奥地利将同时在所有地点遭到攻击,因此它正大步走向毁灭;而当你接到进军命令时,不要被几支部队或一群乌合之众吓住。我仍在焦急地等待你的消息。奥地利人还待在 Laybach、Klagenfurth、Villach 和 Salzburg,似乎想经由 Lintz 威胁 Tyrol,然而人们会以为他们正打算把部队派往 Galicie 去对抗俄国人。这些部署会让人预料,他们的作战计划在战争尚未宣战之前就已经被打乱,但目前仍然没有任何确切的消息。民兵已被投入现役,尽管有人设法煽动人心,这些征召来的兵员能否给军队带来很大补充,还没有得到证实。24 行 · 1,300 个单位 · 155 个标志

下载题解包(zip,4 MB)。这篇帖子背后的一切都在里面:源图版、转录、含全部字形的密钥表、直译输出、法文和英文编辑稿、逐行解码、尚存的符号备选,以及 verify.py 和 reproduce.py——它们负责校验文件并离线重新生成解读结果。先打开 START_HERE.html。SHA-256:a5292f07…e9f750。

最初的命令

也不妨看看那封促成我们这封信写下的命令。3 月 16 日,拿破仑命欧仁用密码把法军及盟军各部队的位置告知马尔蒙。不出所料,这封密码信列出的七支部队与命令中的完全相同,顺序相同,数字也相同:[10]

部队拿破仑致欧仁,1809 年 3 月 16 日密码信
但泽公爵,巴伐利亚人40,000,慕尼黑与帕绍之间四万,慕尼黑与帕绍
波尼亚托夫斯基,波兰人30,000,维斯瓦河,威胁克拉科夫三万,维斯瓦河,威胁克拉科夫
蓬特-科尔沃,萨克森人德累斯顿之前德累斯顿前方
奥尔施泰特公爵80,000,拜罗伊特八万,拜罗伊特
里沃利公爵60,000,乌尔姆与多瑙沃特六万,乌尔姆与多瑙沃特
乌迪诺40,000,奥格斯堡与莱希河四万,奥格斯堡与莱希河
俄国人向奥地利进军向奥地利进军

这些头衔都是拿破仑的元帅:但泽公爵是勒费弗尔,蓬特-科尔沃亲王是贝尔纳多特,奥尔施泰特公爵是达武,里沃利公爵是马塞纳。乌迪诺指挥掷弹兵预备队。波尼亚托夫斯基统率华沙公国军队——拿破仑的波兰附庸国。[21]

《拿破仑一世通信集》第 18 卷第 358 页:1809 年 3 月 16 日拿破仑致欧仁信的结尾,其中指示用密码写信给马尔蒙。 ▲滚动页面▼ Correspondance de Napoléon Ier · 第 18 卷,第 358 页 · 编号 14908 · 拿破仑致欧仁,巴黎,1809 年 3 月 16 日 · 英文版 本页从句子中间开始:欧仁自己的军队,逐师计算……将会合,而该师将给我至少 9,000 人。巴尔布师将有 10,000 人和二十四门炮,占领特雷维索以及皮亚韦河沿岸所有村庄,向上直至费尔特雷和巴萨诺。拉马克师,除第 112 团仍为托斯卡纳所需、将补足至 6,000 人和十二门炮外,将部署在维罗纳及阿迪杰河沿岸。意大利人将编入 12,000 人的意大利师,驻维琴察、帕多瓦等地。因此,你在阿迪杰河左岸将有 60,000 步兵、10,000 骑兵、708 门马拉火炮,构成一支超过 80,000 人的核心军队。 给马尔蒙的指示

你将通过一封加密信件、由一名可靠的军官,把以下部署送给Marmont将军。 你要让他知道:Danzig公爵指挥40,000名巴伐利亚人,集结于Munich与Passau之间;Poniatowski亲王指挥30,000名波兰人,驻扎在Vistula河畔,威胁Cracow;Ponte-Corvo亲王指挥Dresden城前的萨克森军队;Auerstaedt公爵率一支80,000人的法国军团驻于Bayreuth;Rivoli公爵率一支60,000人的军团驻于Ulm和Donauwörth;Oudinot将军在Augsburg及Lech河一带有一支40,000人的精锐军团;俄国人正朝奥地利进军,而奥地利似乎已进行了相当规模的军备,并且仗着已集结起的庞大兵力,看来正奔向自己的毁灭;你还要让他知道,我指望他积极行动——我不给他下达任何具体的指令——击溃他正面的敌军,不要让自己被一小撮 . . . . . . . . 所牵制;另外,由于各军很可能在整个四月里对峙不动,我预计届时意大利军团将得到6,000名意大利人和Miollis师的增援,这将使你麾下的军队达到90,000人。 本页末尾是一道关于马刀的指令我已下令在掷弹兵连和轻步兵连中废除briquet,代之以工具;工兵和炮手在肩带上携带工具以代替马刀,每连第一班带斧,第二班带鹤嘴锄,第三班带镐,第四班带铲。我的意图是把这一措施推广到全军,从而废除briquet这种毫无用处的武器。Napoleon。据Leuchtenberg公爵夫人殿下(H.I.H.)提供的抄本。

拿破仑致欧仁,1809年3月16日(第14908号)。《拿破仑一世通信集》,第18卷,第358页(巴黎,1865年),经由archive.org。

拿破仑没有松手。3月24日,他让欧仁别再放法国人穿过奥地利领土去达尔马提亚,并再次用密码写信给马尔蒙,催他加快准备。3月27日,他断定欧仁正“通过每一班信使,从陆路和海路”给马尔蒙写信。[14]

这封信写于1809年3月末,在欧仁20日的信之后,在奥地利4月10日越过因河之前。[16][23]

这份预判后来应验得如何

这封信是一份预判。以下逐条看它在一场大多数人从未听说过的战争中如何经受时间检验:

敌人就在信里说的位置。信把奥军放在莱巴赫、菲拉赫和萨尔茨堡,并说他们“经由林茨”威胁蒂罗尔。4月10日,卡尔大公未宣战便越过因河进入巴伐利亚。[23]同一天早上,他的弟弟约翰大公率两个军从菲拉赫和莱巴赫出发,越境进入意大利。[20][31]耶拉契奇麾下一个师从萨尔茨堡南下,直逼慕尼黑。[32]沙泰勒侯爵的一个军则开出克恩顿,占领利恩茨,在蒂罗尔起事之际向因斯布鲁克推进。[22][32]基本上,那间办公室里有人早在敌人行动两周之前就知道他们在哪里集结。

拿破仑的朋友们则不然。信里告诉马尔蒙,奥地利正“加速走向毁灭”。开战六天,约翰就在萨奇莱击败欧仁,把他一路赶回维罗纳。[31]信里说波尼亚托夫斯基有三万波兰人。实际上他只有约一万七千人,4月19日在拉申打了一场不分胜负的仗,四天后把华沙交给了奥地利人。[33][21]

俄国人是一份新闻稿。“俄国人正在向奥地利进军”是信中唯一一句属于政策而非事实的话。3月21日,拿破仑已命令欧仁“通过报纸文章或其他一切手段,灌输俄国人正在进军奥地利的想法。”[12]三天后,他写信给驻圣彼得堡大使:“你没有告诉我俄军在哪里。如果俄国不出兵,我就得独自对付奥地利。”[13]他确实如此。沙皇在埃尔福特承诺出兵,私下却向维也纳保证会避免一切冲突。[28][23]他的军队6月3日才越过边境进入加利西亚,那时战争已接近定局。[33]

然后拿破仑打了一场败仗。 那间办公室里的任何人都想象不到:5 月 21 日和 22 日,他在维也纳下游渡过多瑙河,却在阿斯佩恩-埃斯林被同一位卡尔大公击败,这是他十年来第一次在大规模会战中失利。[39] 元帅拉纳——他最亲密的朋友之一——伤重不治。[39] 弗朗茨皇帝写道,他的兄弟是“第一个打断那个傲慢敌人十五年军事好运的人”。[39]

马尔蒙的推进。 信里告诉他,不要被“少量部队或一群乌合之众”吓住。4 月的最后几天,乌合之众先动了手:奥地利部署在奥斯曼边境的克罗地亚边防民兵 Grenzer,在一场暴雨中把他的部队赶下了 Zrmanja 高地。[29][30] 然后,信的结论终究还是应验了。5 月中旬,马尔蒙再次进攻,在 Pribudić 击败奥军,俘获其指挥官 Stoichevich,一路打过 Gračac 和 Gospić,并于 6 月 3 日开进莱巴赫——信上所列敌军据点中的第一座城镇。[29] 他没有停下。他的达尔马提亚军团及时赶到多瑙河,参加了 7 月 6 日瓦格拉姆会战的第二天——那是欧洲此前见过的最大规模会战,约 30 万人在平坦的原野上、千门火炮之下。[40][34] 奥地利输了,也输掉了这场战争。[40]

结局。 拿破仑封马尔蒙为元帅,并附了一张字条:“咱们私下说,你做的还不够,不足以完全证明我的选择。”[17] 10 月签订申布伦和约,奥地利割让了六分之一的臣民和整个亚得里亚海沿岸。[41] 拿破仑把这些土地打包成伊利里亚省,让马尔蒙出任总督,并给了他一个首府:莱巴赫。[35] 帝国中最孤立的人,在这一年结束时统治着那封信曾警告过他的城镇。

如果你想用半小时看完整场战争,Epic History TV 的两集动画是我所知最好的简短入门:Aspern-Essling 1809(19 分钟)和 Wagram 1809: Napoleon's Revenge(14 分钟)。

那么马尔蒙后来怎么样了?

1809年3月,马尔蒙是亚得里亚海对岸的一名将军,统率一个师。他读着一封密码信,信中提到一支他看不见的军队,告诉他敌人在哪里,并吩咐他接到命令就进军。他确实照做了,而这次进军正是他至今仍为人所记住的全部原因。[17]

他在莱巴赫待了两年,修路、办学校,推行《拿破仑法典》,让当地人用自己的语言担任公职——这是他职业生涯中唯一一段无人非议的时期。[35]那根元帅权杖,连同那份勉强的附注,一路跟着他到了西班牙。1812年7月,威灵顿在萨拉曼卡击溃了他的军队,一枚炮弹炸断了他的手臂。[36]

接下来就是世人记住他的那个结局。1814年4月,盟军兵临巴黎城下,马尔蒙与他们私下达成协议,率军走入盟军阵线。正是这一举动让拿破仑确信自己必须退位。[37][17]“我封他为元帅、封他为公爵,他却卑鄙地背叛了我,”皇帝说,而法语也站在了皇帝一边:整整一代人里,raguser——源自他“拉古萨公爵”的头衔——意思就是背叛。[17]他为波旁王朝效力,投票赞成枪决内伊元帅;1830年,又正是他这位将军未能为查理十世守住巴黎,而查理十世当面对他问道:“你会像背叛他那样背叛我们吗?”[17]

马尔蒙随国王流亡,在维也纳给拿破仑的儿子当过老师,1852年死于威尼斯,是最后一位去世的元帅。[37]他晚年写下九卷回忆录为自己辩护,这封信也正是从这里重新进入视野。第三卷收录了欧仁1809年3月8日、14日和20日写给他的信——正是密码信第一行所确认的那三封。[38][16]

档案中的新内容

拿破仑3月16日的命令自1865年起就已刊印。[10]但没有人掌握它的另一端:亚得里亚海对岸那位将军实际收到的内容。

它补充的第一样东西,是一个缺失的词。在刊印版本中,拿破仑写给马尔蒙的那句话中断了。马尔蒙应当击溃面前的敌人,不要让自己被“par une poignée de . . . . . . . .”(被一小撮……)牵制,随后是一排省略号。该版本依据的是欧仁后人保存的一份抄本,我无法判断是抄本中这些字迹难以辨认,还是第二帝国的编者将其删去——自出版之日起,他们对拿破仑文本的处理就饱受批评。[10][15]无论如何,这封密码信从接收端保留了同一句话,而且没有空缺:马尔蒙不应被“quelques troupes ou un rassemblement de canailles”吓住。[6]几支部队,或者一群乌合之众。这份转述是意译,因此不能证明拿破仑的原话究竟如何。但它是关于那些省略号究竟掩盖了什么的第一份直接证据。

其余的价值在于那些差异。拿破仑的命令对奥军阵地只字未提。密码信补上了这些,而且与奥军各军实际所在的位置吻合。[31][32]它把马尔蒙自己的军和预备队也算进了对奥地利的兵力统计。它带着一种对 Landwehr 的怀疑态度——那是奥地利依据 1808 年 6 月 9 日皇帝敕令建立的义务民兵——而写下这些话的部门几周之内就要和这支民兵交手。[27]整封信都是为了说服而构造的:一份军队清单,要让一个拿破仑估算其军力只有 13,000 人、又没有陆路可回家的人相信,敌我悬殊到无法抗衡。[11]

这是一份小文件,却显示出战争前夜拿破仑的司令部如何与一位孤立无援的指挥官沟通:谈敌人时准确,谈自己人时慷慨。

它还留下了一套 155 个符号的可用密钥,而此前这套密码只公布过 33 个符号值,且没有词符。[2]如果这套体系中的另一封信日后浮出水面,就不必从零开始。

薄弱之处

这是对一块低分辨率图版上一封信的一种解读。如上所示,有些符号依据单薄,几乎都是因为它们只出现过一次。[6]有五个符号的读法存疑,且会牵动措辞:His Majesty 同样可能是 the Emperor;"the army of Friuli" 可能是 "in Friuli";des troupes 可能是 les troupes;有一个我读作空位的符号可能是词 par;而 canailles 可能是单数。[6]

这五处没有一处会改变信的内容。Tomokiyo 审阅了这一解读方案,Cryptiana 现已将这封信列为已破解,日期也修正为 1809 年。

一个谁都负担不起的问题

这里的材料一样都不缺。Tant 的表格是公开的,拿破仑的通信自 1860 年代起就有印本,马尔蒙的回忆录在 Project Gutenberg 上。[2][10][16]一个有耐心的专家在 1970 年就能做完这件事。但那意味着要耗掉一位专家数周的时间:旧法语的功底、对 1,300 个手绘符号的稳定眼力,还有统计工作,全都花在一本军事期刊上的一块图版上。具备这些技能的人确实存在,而他们有更重要的问题要解决。于是这封信一直无人解读,因为能读懂它的人没有一个能为所花的时间找到理由。

我在模型上花了六个小时,又搭进去几个晚上。Tomokiyo 说他收到解法的速度已经超过他记录的速度。[3] 我敢说其中没几个出自密码学家之手。一年前,这句话大概还讲不通。

我猜,多数领域里那些“未解”清单上,像这样的问题比任何人以为的都多。这些清单很快会短一大截,而让它们变短的人,会越来越多只是出于好奇。

资料来源

文献

  1. J. Vilcoq, "Le Chiffre sous le Premier Empire," Revue historique des Armées 25(4), 1969, pp. 22–27. 密码图版在第 24 页之后;Persée 提供的图版为 1,202 × 1,836 像素。Persée。
  2. Daniel Tant, "Code d'Eugène de Beauharnais," Codes anciens no. 373, ARCSI。三十三个字母值;每个单词符号格均为空白。
  3. Satoshi Tomokiyo, Cryptiana: Unsolved Historical Ciphers,French (Napoleonic Age) 下的条目 "Encoded Letter to Marshal Marmont (1807)"(附 2026 年 9 月 18 日的说明:解法到来的速度已超过记录的速度),以及 Napoleonic ciphers,用于确认第一行明文、tableaux chiffrant 与 déchiffrant 的运作方式、Marmont 1811 年那份含 150 个条目、E 有九个对应符号的密码表,以及 Scovell 借助密文中保留的明文字词对其所作的解读。
  4. Daniel Bourdeau, cyphersolver,索引与 napoleon/NOTES.md。
  5. Carter Leffen, post on X,2026 年 9 月;见 The Decoder 报道。
  6. Marmont Solution Package, v1.0.0(2026 年 9 月 19 日),download(zip,4 MB;SHA-256 a5292f07fd77f2346297e359e13af400103e944d86f019bc240244ca90e9f750)。其中 evidence/release/ 包含 revised_tokens.txt(24 行,1,300 个密码单元)、key.tsv(155 个符号)、symbol_ledger.tsv、unit_classification.tsv、release_counts.json、TECHNICAL_NOTE.md、PROVENANCE.md,以及用于求解器设置和移除拿破仑时期文本后重跑结果的 appendix/early_research/computational/REPORT.md。

密码与密码分析

  1. Substitution cipher,Wikipedia:同音替换,高频字母对应多个等价符号,从而把频率分布拉平。
  2. Kopal, N. "Cryptanalysis of Homophonic Substitution Ciphers Using Simulated Annealing with Fixed Temperature." Proceedings of HistoCrypt 2019, pp. 107–116. Linköping University Electronic Press. Dhavare, A., Low, R. M., and Stamp, M. "Efficient Cryptanalysis of Homophonic Substitution Ciphers." Cryptologia 37(3), 2013, pp. 250–281. PDF.
  3. George Scovell,Wikipedia:1811 年春那份含 150 个编号的 Army of Portugal 密码,两天内被破;1811 年末那份含 1,400 个编号的 Great Paris Cipher。

拿破仑的信件,1809年3月

  1. 拿破仑致欧仁,巴黎,1809年3月16日(编号14908):命人用密码给马尔蒙写信的命令、兵力清单,以及那句残缺的“une poignée de . . . .”。Correspondance de Napoléon Ier publiée par ordre de l'empereur Napoléon III,第18卷(巴黎,1865年),第356–358页,标注为“d'après la copie comm. par S. A. I. Mme la duchesse de Leuchtenberg”。archive.org。本文所有数字均取自印刷版页面。histoire-empire.org上的在线转录把巴伐利亚的兵力误印为49,000;书中原文为40,000。
  2. 拿破仑致欧仁,1809年3月17日:“13,000 hommes de l'armée de Dalmatie。”同上卷;文本见上文histoire-empire.org。
  3. 拿破仑致欧仁,拉马尔迈松,1809年3月21日:“vous devez inculquer de toutes les manières, soit par des articles de journaux, soit autrement, l'idée que les Russes marchent sur l'Autriche。”同上。
  4. 拿破仑致科兰古,1809年3月24日:“Vous ne me dites pas où sont les troupes russes. Si la Russie ne marche pas, j'aurai seul l'Autriche sous les bras。”由Lecestre刊布;同上页。
  5. 拿破仑致欧仁,1809年3月24日:“Écrivez en chiffre au général Marmont d'accélérer ses dispositions。”以及1809年3月27日:“par tous les courriers… par terre et par mer。”同上。
  6. 关于第二帝国版本及其编辑干预:Jacques-Olivier Boudon,“Un monument de papier à la gloire du Premier Empire”;Fondation Napoléon,“The Correspondence of Napoleon”。该基金会的现代版本(Correspondance générale,第9卷,Fayard)依据原件重新编辑了1809年的信件,要查证那些缺失的字词是否在别处留存,应从这里入手。
  7. 马尔蒙,Mémoires du maréchal Marmont, duc de Raguse,第3卷:欧仁1809年3月8日、14日和20日的信件。Project Gutenberg第30013号。

人物

  1. Auguste de Marmont,Wikipedia:1793年土伦围城战中结识波拿巴;1808年获拉古萨公爵爵位;1809年5月的达尔马提亚战役和瓦格拉姆战役;获授元帅权杖时拿破仑说:“Between ourselves, you have not done enough to justify entirely my choice。”

  2. Eugène de Beauharnais,Wikipedia:拿破仑的继子和养子,1805–1814年任意大利总督,1809年任意大利军团司令。

  3. Archduke Charles, Duke of Teschen,Wikipedia:弗朗茨皇帝的弟弟;1806年起任总司令兼军事委员会首脑;“arguably the best commander ever produced by the House of Habsburg。”

  4. Archduke John of Austria,Wikipedia:弗朗茨和查理的弟弟;1809年任意大利境内内奥地利军团司令。

  5. 元帅头衔与1809年的指挥权:François Joseph Lefebvre,1807年5月起为但泽公爵,1809年指挥巴伐利亚军;Bernadotte,1806年6月5日起为蓬特科沃亲王,指挥萨克森第九军;Davout的头衔见1808年3月28日napoleon-empire.org;Masséna的头衔见André Masséna;Oudinot由掷弹兵与腾跃兵混编而成的军,组建于1808年12月,见Napoleon Series的Oudinot's Grenadier Division: 1806–1809;Józef Poniatowski,1809年3月21日起任华沙公国军队总司令。

  6. Johann Gabriel Chasteler de Courcelles,Wikipedia:受命指挥约翰大公内奥地利军团的第八军,并率约10,000人分遣至蒂罗尔。Lienz,Wikipedia:位于伊泽尔河与德拉瓦河交汇处,在从克恩顿通往普斯特谷的道路上。

1809 年的战争

  1. 第五次反法同盟战争,Wikipedia:1809 年 2 月 8 日会议上做出开战决定;占领西班牙是动机;4 月 10 日未宣战即越过 Inn 河;Stadion 与 Alexander 达成一致,俄军将“避免一切冲突和一切敌对行动”;Wagram,7 月 5—6 日。
  2. 巴约讷退位,Wikipedia:1808 年 5 月 5—7 日;1808 年 6 月 4 日法令任命 Joseph Bonaparte 为西班牙国王。
  3. 拜伦战役,Wikipedia:1808 年 7 月 16—19 日;Dupont 军约 17,000 人被俘;奥地利主战派利用这次失败。
  4. Charles 的改革、340,000 名常备军和 240,000 人的 Landwehr:Teugen-Hausen 战役,Wikipedia,引用 Chandler,The Campaigns of Napoleon(1966),第 663—677 页;Fondation Napoléon,1809 年时间线。奥地利建制兵力数字列于下文 Acerbi 的表中。
  5. E. Acerbi,The Austrian Imperial-Royal Army 1805–1809,Napoleon Series:1808 年 6 月 9 日的 Landwehr 法令;1809 年 3 月和平时期建制 383,447 人,野战部队 321,469 人,实际编成的 Landwehr 约 152,000 人。
  6. 埃尔福特会议,Wikipedia:Alexander 于 1808 年 10 月承诺“尽其所能”援助法国对抗奥地利,以及他实际做得何其之少。
  7. 1809 年达尔马提亚战役,Wikipedia:达尔马提亚军团,在 Boulogne 受训,被 Napoleon 视为其“最精锐的军”,约 14,000 人;Stoichevich 于 4 月 26—30 日对 Zrmanja 河渡口的进攻,Grenzer 在暴风雨中把法军赶下一座山头;5 月 16 日 Pribudić,Stoichevich 被俘;Gospić;6 月 3 日抵达 Laibach;Wagram。另见 Campagne de Dalmatie (1809),Wikipédia。
  8. 军事边疆区,Wikipedia:Grenzer,哈布斯堡与奥斯曼帝国边境上的士兵拓殖者,多为克罗地亚人和塞尔维亚人。
  9. Archduke John 的军从 Villach 和 Laibach 出发:Caldiero 战役(1809),引用 Schneid 和 Rothenberg。4 月 16 日 Sacile:Sacile 战役。
  10. Jellacic 从 Salzburg 出发:Sankt Michael 战役,引用 Schneid(2002)和 Bowden & Tarbox(1980)。Chasteler 经 Lienz 到 Innsbruck:蒂罗尔起义;Sauzey,Les Allemands sous les aigles françaises,第 4 章,Napoleon Series 译本。
  11. 4 月 19 日 Raszyn,以及 6 月 3 日俄军越境进入 Galicia:奥波战争;Raszyn 战役(1809)。Warsaw 根据 4 月 21 日协定交出,4 月 23 日被占领:J. Rickard,Franco-Austrian War of 1809,historyofwar.org。Poniatowski 的 17,000 人:World History Encyclopedia。
  12. Marmont 的行军与 Wagram:J. Rickard,Wagram 战役;“Marmont: The Balkan Marshal”,引用 Elting。

1809年之后的马尔蒙

  1. 伊利里亚省,Wikipedia,以及 Britannica:根据1809年10月14日签订的《申布伦条约》建立,首府为莱巴赫;马尔蒙自1809年10月至1811年1月任总督;引入《拿破仑法典》,修筑道路与学校,任命当地官员,行政中使用当地语言。
  2. 萨拉曼卡战役,Wikipedia:1812年7月22日;马尔蒙指挥葡萄牙军团,“被英军炮弹爆炸波及,手臂和两根肋骨被打断。”
  3. J. Rickard,奥古斯特·弗雷德里克·路易·维耶斯·德·马尔蒙,拉古萨公爵,1774–1852,historyofwar.org:1814年4月的埃松事件及其对退位的影响;由其爵位而来的造币;为波旁王朝效力;1830年后流亡;任拿破仑之子的导师;1852年3月3日卒于威尼斯,为最后一位在世元帅。1814年的引语及1830年与查理十世的对话,均如上文Wikipedia传记所述。
  4. 马尔蒙,《拉古萨公爵马尔蒙元帅回忆录,1792至1841年》,9卷(巴黎:Perrotin,1856–57),第3卷见 Gallica;关于其自我辩护的性质,见 napoleon.org。

阿斯佩恩-埃斯林、瓦格拉姆与和约

  1. 阿斯佩恩-埃斯林战役,Wikipedia:1809年5月21–22日;“这是拿破仑首次在一场重大战役中亲自被击败,也是自阿克里围城战以来10年间他的首次战败”;拉纳受致命伤;弗朗茨一世称卡尔为“第一个打断那个傲慢敌人15年军事好运的人”。
  2. 瓦格拉姆战役,Wikipedia:1809年7月5–6日;“截至当时欧洲历史上规模最大的战役”;约172,000名法军及盟军,配备584–617门火炮,对阵136,000名奥军,配备388–414门火炮;约300,000人在一片平坦战场上交战。
  3. 申布伦条约,Wikipedia:1809年10月14日;奥地利割让戈里齐亚、的里雅斯特、卡尼奥拉、伊斯特拉、西卡林西亚及东蒂罗尔,以及萨瓦河西南的克罗地亚,失去六分之一臣民和全部海岸。

延伸阅读

约翰·H·吉尔,《1809:多瑙河上的雷霆》,共三卷(Frontline,2008–2010),是当今的标准叙述;第二卷讲意大利的欧仁与约翰大公,第三卷讲马尔蒙从达尔马提亚的行军。弗雷德里克·C·施奈德,《拿破仑的意大利战役,1805–1815》(Praeger,2002)。

来源: carter.church← 返回首页