
1932 年 12 月 8 日,一叠纸从巴黎送到华沙的萨斯基宫。那里是波兰总参二部密码局(Biuro Szyfrów)的总部,送东西来的是法国情报局上尉居斯塔夫·贝特朗。
包里是一台军用「恩尼格玛」的操作手册,和 9、10 两个月的密钥表。卖主是德国陆军密码处的一名职员,汉斯-蒂洛·施密特,代号 Asché。他把材料一份份卖给法国人,巴黎那边却翻不出下手的地方,贝特朗于是把东西转给了伦敦和华沙。
华沙的密码局等这批纸已经等了两个月。局里,马里安·雷耶夫斯基一个人被派去攻这台机器,房间另开,门关着,好些军官不知道他在做什么。
他 1905 年生于比得哥什,波兹南大学数学系毕业,去哥廷根学过一年保险统计,德语流利。到萨斯基宫报到那天是 1932 年 9 月 1 日,他和两个同学一起去。
在这以前,破译是语言学家的事。英、法、波三家情报机关对着恩尼格玛碰了多年,各自退了回去,认定这台机器没法破。华沙换了做法,从大学数学系招人。
恩尼格玛的核心是三只可以互换的转子。按下一个字母,电流从键盘进去,穿过转子绕一圈,撞上固定的反射器再折回来,从另一条线路穿过转子,点亮另一个字母的灯。转子每按一次往前走一格,同一个字母,第二次、第三次加密出来的结果都不一样。
德国人自己算过这台机器有多结实。三只转子放进机器有 6 种排法,每只可以停在 26 个位置上,合起来是 17,576 种起始状态。机器前面还有一块插线板,用短线把字母两两换位,军用型接 6 根线,光这一块板就有 1000 亿种接法。
两样乘起来,一亿亿往上。用手一张一张试,试到下辈子也试不完。
弱点不在这些数字里,在一条操作程序里。每条电报的密钥只有三个字母,发报员随手挑。为了让收报员知道这三个字母,发报员先把机器按当天的「总设置」架好,把这三个字母连打两遍,得到六个字母,抄在电报开头。这六个字母叫指示符,收报员反向照做一遍,就能把密钥读回来。
打两遍是为了防抄错。收报员一比对,就知道电报开头有没有被抄花。
它同时留下一个要命的东西:六个字母里,第 1 个和第 4 个,明文是同一个字母;第 2 个和第 5 个是同一个;第 3 个和第 6 个是同一个。这三对关系,敌人看得见。

他手上只有密文。破不了机器,就先破截收来的电报头。
雷耶夫斯基把一天的电报摊在桌上,只看第 1 位和第 4 位。这两位的明文是同一个字母,密文却各不相同。
假设开头的六字母是 BJGTDN、LIFBAB、ETULZR,那么 B 和 T 之间有一层对应关系,L 和 B 之间也有,E 和 L、T 和 E 一样。把这些关系接起来,会连成一个个闭合的圈:B 到 T,T 到 E,E 到 L,L 又回到 B。这是一个四步的圈。同一天里还有三步的、两步的,有时候几个圈把整个字母表占满。
换成第 2、5 位重做一遍,再换第 3、6 位。三组圈拼起来,就是当天那台机器的「特征」。
圈的长短,跟插线板上一根线都没关系。插线只是把字母改了个名字,圈的结构不动。一台有一亿亿种设置的机器,在只看得见密文的人手里,就这样被压成了一张能分类、能比对、能按天存档的表。
他当时不知道这条路会通到哪。他要做的只是解出方程。
数学定理很短:两个置换长得一样,当且仅当它们的圈结构相同。密码学史家戴维·卡恩后来称雷耶夫斯基是把纯数学带进密码分析的第一个人;密码学者迪沃斯把这条定理叫作「赢得二战的定理」。
最后一块拼图靠猜。机器最前面有一只入口轮,字母从键盘进机器之前先经过它。他猜这块轮子是照字母表顺序一根根接过去的:A 接 A,B 接 B。猜对了。这一步在档案里没有铺垫,只剩下结果。
1932 年 12 月 31 日,新年前夕,他解出了当天的设置,读出了第一批电文。
机器改一次,密码局就得跟着改一遍。德国人先动的,1936 年 10 月 1 日,他们把插线板上的线从固定 6 根改成 5 到 8 根之间浮动,原来那些靠手工对字母的办法立刻不管用。
雷耶夫斯基的应对是造一盒目录。他设计了一台机器,叫记转器,两组转子并联,错开三个位置,专门用来把一台恩尼格玛在不同设置下产生的圈结构和圈长自动列出来。机器由华沙的 AVA 无线电厂做出来,时间在 1934 到 1935 年之间。
目录本身是一盒纸卡片。6 种转子顺序乘 17,576 个转子位置,一共 105,456 条,编了一年多。编成之后,当天的密钥十五分钟到手,插线板接了几根线都不影响。
好日子不到两年。1937 年 11 月 1 日,德国人换了反射器,整盒目录作废。波方凭经验重编,又花掉将近一年。
1938 年 9 月 15 日,德国人把指示符的用法也改了:各台机器不再共用当天的总设置,发报员自己挑起始位置。密钥还是打两遍,那盒目录却彻底没了用处。党卫队保安处那套网络拖到 1939 年 7 月 1 日才跟着改。
三个人开始各自想办法,方向完全不同。
到 1938 年 12 月 15 日,纸片才完成三分之一。同一天,德方放出两只新转子。

波兰最后输在一件跟数学无关的事情上:造不起机器。两只新转子是在 1938 年 12 月 15 日放出来的,德国陆军和空军各一套,编号 IV 和 V。
机器里仍旧装三只,可选的转子从三只变成五只,转子顺序从 6 种涨到 60 种。
纸片要按顺序一套一套做,炸弹要一台一台造,满负荷是 1560 张。六台变成六十台的时候,密码局的账本先撑不住了。1939 年 1 月 1 日,德国人又把插线数提到 7 到 10 根。此后波方能读的,只剩当天恰好不用那两只新转子的那一小部分电报。
总参和政府在 1939 年春天做了决定,把东西交给盟友。走这一步之前,三方的关系并不好看。那年 1 月英法波在巴黎见过一次,英方想探波兰的口风,波方接到命令什么也不说,会开得很难看。
上一次英法给的政治保证还是 1938 年的事,像样的军火没送来多少,波兰人心里有数。1939 年 3 月双方换了条件,英法给出正式的安全保证,波方交出去的是全部技术。
真正的漏洞在这里露了头,它不在机器内部,在组织的账本上。破译的产出是情报,投入是厂房、人力和逐年增长的预算。德国人把自己密码的安全押在一件事上:敌人凑不齐这套东西。英法未必凑不齐,可是对波兰这样的国家,这个假设成立得可怕。算法赢了这一局,工业没跟上。

卡巴蒂森林里的那次见面,波兰人把东西全摊在了桌上。1939 年 7 月 25 日和 26 日,三方在 Pyry 碰头。
密码局的德国科 1937 年就从萨斯基宫搬进了这片森林。新楼是专门盖的,比总参大楼里那间挤得转不开身的办公室宽敞得多。
波方到场的是局长格维多·朗格中校、德国科科长马克西米利安·切恩日基少校、情报处长斯特凡·迈尔上校,加三名数学家。法方是贝特朗和空军的亨利·布拉凯涅上尉。英方三个人:政府密码学校校长阿拉斯泰尔·丹尼斯顿,首席密码分析员迪利·诺克斯,海军截收测向站的汉弗莱·桑德威思。
波兰人答应给英法各一台复刻的军用恩尼格玛,附上纸片方法和炸弹的资料。英方回过来承诺,为全部 60 种转子顺序赶制两整套打孔纸片。
雷耶夫斯基后来回忆,诺克斯在会上的第一个问题是:「入口轮是怎么接线的?」答案就是字母表顺序。诺克斯听完很不痛快,这个答案简单得让人难堪。多年以后,布莱切利的彼得·特温对这件事的说法是:「这么明显,蠢得明显,可诺克斯、肯德里克、图灵,没一个人觉得值得试一试。」
雷耶夫斯基对诺克斯的印象写在另一段回忆里:「他什么都领会得极快,快得像闪电。看得出来英国人确实在认真研究恩尼格玛。所以他们不需要解释。他们是另一类专家,另一个档次的。」
会后诺克斯用波兰语写了封感谢信,随信寄来一条印着德比冠军马的围巾,还有一套纸做的「棒」,那是他破西班牙那台恩尼格玛用的家什。雷耶夫斯基的评语是:「我不知道诺克斯那套方法本来打算怎么用。很遗憾,我们先他一步。」
德国那边的漏洞也在这次会上露了另一面。从 1928 年用上军用恩尼格玛,到 1939 年夏天,德方始终假设机器不可破,改进的动作全落在转子、插线和程序这几个环节上。
绕到机器背后、用群论去算它的接线,不在德国人的设想里。布莱切利的戈登·韦尔奇曼战后写过,Hut 6 那间屋子「要不是波兰人在最后关头把德国军用恩尼格玛的细节和使用程序给到我们,根本起不了步。」
这桩案子里有几处地方,档案到现在还没对齐。先说那批材料送到华沙的日期:波兰对外情报局写的是 12 月 8 日,由贝特朗亲自送来;另一种流传较广的说法是 12 月 10 日前后,第二包材料的抵达时间尤其没有一致记录。
第一次读出电文的日子,说法也不止一种。12 月 31 日是最常见的一种,也有回忆写成 12 月下旬,还有一个版本说第一份被完整读出的电报日期是 12 月 25 日。能确定的是,都在新年前后。
「炸弹」这个名字的来历也没定论。波方自己的说法是它工作时发出类似倒计时的嘀嗒声,工程师圈子里的另一种解释是取自一款冰淇淋的名字。两种都出自当事人的转述,没有文字凭据。
1978 年约翰逊那本书里印出的草图,也是雷耶夫斯基战后凭记忆重画的。真正的炸弹在德军进城之前被波方自己毁掉了,一台都没留下。
剩下的分歧不在史料里,在接受史里。战后英国在 1945 年 5 月由丘吉尔下令封锁 ULTRA 的一切,这层封条压了将近三十年。1973 年贝特朗出版《恩尼格玛》,1974 年温特博瑟姆的《超级机密》成为畅销书,故事才漏出来。
更早的 1971 年,法拉戈的畅销书写的是「丹尼斯顿指挥官在战前偷偷去过一座偏僻的波兰城堡」。1976 年威廉·史蒂文森的《名叫无畏的人》把雷耶夫斯基写成了一位女士,名字拼作 Mademoiselle Marian Rewjeski。
战后他回到波兰,在比得哥什一家电缆厂当销售主管,1950 年被迫离职。此后近十年里,安全部门反复来查他,他一次也没说过自己战前在做什么。1967 年退休,同年动笔写回忆录。
1978 年 8 月,他领到一枚波兰复兴勋章军官十字。1980 年 2 月 13 日,他在华沙心脏病发去世。那篇《波兰数学家如何破译恩尼格玛》,1981 年才用英文刊在《计算史年刊》第三卷第三期上。
2000 年 7 月 21 日,波兰总统克瓦希涅夫斯基把复兴勋章大十字追授给他和佐加尔斯基。十四年后,IEEE 在萨斯基宫装了一块里程碑铭牌。那栋楼 1944 年被德军烧掉大半,如今只剩一段拱廊,无名烈士墓就在廊下。
❖