码书:编码与解码的战争
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第一次世界大战结束后,英国40号房的密码分析家继续监控德国的通讯。1926年,他们开始拦截到完全难倒他们的信息。“奇谜”上场了。“奇谜”机数目快速增加,40号房的情报收集能力也跟着快速萎缩。美国和法国也尝试破解“奇谜”密码,同样无功而返,很快就放弃破解它的希望。现在,德国拥有全世界最安全的通讯系统了。

同盟国的密码分析家放弃“奇谜”破解希望的速度,跟他们十年前在第一次世界大战时的毅力,是非常强烈的对比。面对可能战败的危险,同盟国的密码分析家为了透视德国的密码,日以继夜地工作。看来,恐惧是最主要的驱动力,逆境是成功破解密码的基础之一。是面对德国日益坐大的恐惧和逆境,使19世纪末的法国密码分析家奋发起来的。然而第一次世界大战结束后,同盟国已经无所畏惧。德国因战败而瘫痪,同盟国处于支配地位,因而似乎也失去对密码分析的热忱。同盟国密码分析家的人数锐减,质量恶化。

然而有一个国家却不敢松懈。第一次世界大战后,波兰重新成为独立的国家,很担忧它新建立的主权会受到威胁。它的东边是俄国,一个积极传播他们的共产主义的国家;西邻是德国,渴望夺回战后割让给波兰的领土。夹在这两个国家之间的波兰,非常需要情报信息。他们成立了新的密码局(Biuro Szyfrów)。如果需要是发明之母,逆境大概就是密码分析之母。1919至1920年波俄战争的胜利是波兰密码局的成功例证。光是在1920年8月,苏维埃军队抵达华沙大门时,波兰密码局就破解了400则敌方信息。他们对德国通讯的监控也一直很有绩效,直到1926年,他们也碰上了“奇谜”信息。

负责解译德国信息的是马克斯米廉·辛茨基上尉(Captain Maksymilian Ciezki),他是在波兰民族主义中心扎莫图提(Szamotuty)城长大的热诚爱国志士。辛茨基获取一台商用型的“奇谜”机,得知雪毕伍斯这项发明的所有原理。可惜,商用型的编码器内部配线跟军用型的完全不同。不知道军用机器的配线细节,辛茨基就没有机会解译德国军队所传送的信息。在极度沮丧之际,他任用一位具有奇特洞察力的人士,疯狂地尝试揣测那些加密信息的意义。不用多说,这位具有奇特洞察力的人士也不能提供波兰密码局所需的突破。帮他们跨出破解“奇谜”密码第一步的,是一个对政府不满的德国人汉斯-提罗·施密特(Hans-Thilo Schmidt)。

汉斯-提罗·施密特于1888年出生于柏林,他是一位杰出教授与贵族夫人的次子。施密特入伍成为职业军人,参加了第一次世界大战。然而,《凡尔赛和约》要求德国彻底裁减武力时,德国军方看不出留下他的价值。他转而从商,可是战后的经济萧条与严重的通货膨胀迫使他的肥皂工厂关门,使他个人和家庭都陷入困境。

哥哥鲁道夫(Rudolph)的成功更加深施密特失败的屈辱。鲁道夫同样也参加大战,之后军队裁员时被留了下来。20世纪20年代,鲁道夫的军阶不断高升,最后被提拔为通讯部队的参谋长,负责通讯安全。事实上,就是鲁道夫正式核准军队使用“奇谜”密码的。

生意垮了后,汉斯-提罗被迫向哥哥寻求协助,鲁道夫就安排了一个职位给他,让他在柏林负责管理德国加密信息的密码局(Chiffrierstelle)工作。密码局是“奇谜”指挥中心,一个处理高敏感信息的最高机密单位。汉斯-提罗前往柏林就职时,他的妻小留在巴伐利亚,那里的生活费比较负担得起。他独自住在昂贵的柏林,赤贫、孤立,嫉妒他完美的哥哥,憎恨摒弃他的国家。结果不难预料。贩卖“奇谜”的秘密信息给外国政府,可以赚取更多钱,又能破坏国家安全,摧毁他哥哥的组织,为他所受的屈辱报复。

1931年11月8日,施密特来到比利时韦尔维耶(Verviers)的格兰旅馆(Grand Hotel),准备跟一名代号瑞克斯(Rex)的法国秘密情报员洽谈。施密特以一万马克(相当于今日的两万英镑)的代价让瑞克斯摄影两份文件:“‘奇谜’密码机使用说明书”(Gebrauchsanweisung für die Chiffriermaschine Enigma)和“‘奇谜’密码机钥匙指南”(Schlüsselanleitung für die Chiffriermaschine Enigma)。这些文件基本上是“奇谜”机的操作说明,虽然没有编码器内部配线的详细描述,却含有推测这些配线所需的信息。

现在,利用施密特的变节,同盟国有机会精确地仿造一台德国军用“奇谜”机了。然而,这并不足以破解用“奇谜”加密的信息。这个密码的力量不在于将机器的结构保密,而在于将机器的起始设定(也就是密码钥匙)保密。要想解译拦截到的信息,不仅需要一台“奇谜”机的复制品,还得从一万亿把可能的钥匙中找出加密这则信息的那一把。德国有一份备忘录如此写道:“在判断这个密码系统的安全性时,就已先假设敌人也有同样的机器可用。”

法国秘密情报局显然很够水平,找到了施密特这样的通敌者,又取得对军用“奇谜”机的配线有所提示的文件。相较之下,法国的密码分析家就不太称职,似乎既不愿意也没有能力利用这份新近获取的信息。第一次世界大战后,他们患了过分自信且缺乏动机的毛病。法国的密码局甚至不愿尝试复制一台军用“奇谜”机,因为他们相信再下一个步骤——找出每一特定“奇谜”信息的钥匙,是不可能的任务。

法国曾在十年前和波兰签署军事合作的协议,而波兰又曾表示对任何与“奇谜”有关的事物都有兴趣,因此法国就依照十年前的老协议,把施密特的文件相片交给他们的盟友,把没有希望的“奇谜”破解任务留给波兰的密码局。波兰的密码局知道这些文件只是一个起点,可是不像法国人,波兰人有遭逢德国侵袭的恐惧在驱策他们。波兰人深信,一定有捷径可以找出“奇谜”信息的钥匙,而且只要运用足够的努力、原创性和智慧,就能找到这条捷径。

图41:汉斯-提罗·施密特

施密特的文件不但揭露了编码器的内部配线,也详细解释了德国所使用的密码簿形式。“奇谜”操作员每个月会收到一本新的密码簿,这本簿子一天指定一把钥匙。例如,密码簿可能会指定该月第一天的当日钥匙如下:

编码器位置顺序和编码器方位,合称为编码器的设定。“奇谜”操作员会依下列步骤设定“奇谜”机器,以执行这把当日钥匙:

(1)接线板设定:在接线板上,用一条电线连接A和L,以互换字母A和L的路线;用同样的方法调换P和R、T和D、B和W、K和F,以及O和Y的路线。

(2)编码器位置顺序:把第二个编码器插置在机器的第一个插槽,第三个编码器放在机器的第二个插槽,第一个编码器放在第三个插槽。

(3)编码器方位:每一个编码器的外缘都刻有完整的字母集,以便操作员设定出特定的方位。在此例,操作员会转动第一插槽上的编码器,让Q朝上;转动第二插槽上的编码器,让C朝上;转动第三插槽上的编码器,让W朝上。

加密方式之一是,发信人用当日钥匙加密所有当天的信息。也就是说,所有“奇谜”操作员加密当天的每一则信息时,都要先根据当日钥匙重新设定一次机器。每有信息要传送,就先将它输入这台机器,记下输出的密码文,再交给无线电通讯员传送。在另一端,接收方的无线电通讯员记下收进的信息,交给“奇谜”操作员输入已经依据当日钥匙设定好的机器,输出结果即是原始信息。

这个方法相当安全,只是每天大概得传送数百则信息,全都重复使用同一把钥匙加密,会削弱它的安全性。原则上,使用同一把钥匙加密巨量的数据,会提高敌方密码分析家推测出钥匙的风险。大量的相同密码加密数据会提供密码分析家更高的机会辨识出钥匙。例如,回到较简单的密码:用频率分析法破解单套字母集密码时,若有好几页加密数据可以分析,当然比只有短短几句,容易多了。

因此,德国采取了额外的安全措施,聪明地使用当日钥匙设定来为每一则信息传送一把新的信息钥匙(message-key)。信息钥匙的接线板设定和编码器位置顺序都跟当日钥匙相同,编码器方位则不同。密码簿不会列出新的编码器方位,发信人必须依照下列方法把它传给收信人。首先,发信人依据协议的当日钥匙设定机器。假设当日钥匙的编码器方位是QCW,他就为信息钥匙随意另挑一组编码器方位,例如PGH。再来是依据当日钥匙加密PGH。输入信息钥匙到“奇谜”机里时,要输入两次,以便收信人能够验证。例如,发信人可能把信息钥匙PGHPGH加密成KIVBJE。两个PGH有不同的加密结果(第一次加密成KIV,第二次则变成BJE),是因为“奇谜”机的编码器每加密一个字母就转动一次,整个加密模式也随之改变。然后,发信人就把他的机器设定更改成PGH的方位,以这把信息钥匙加密信息主体。在接收端,收信人先把机器设定成当日钥匙所指定的方位——QCW,输入收获信息的前六个字母KIVBJE,得到PGHPGH。他就知道该把编码器设定成PGH,才能解译这则信息的主要内容。

这种方法等于是叫发信人与收信人协议一把主要密码钥匙,但不用来加密每一则信息,而只用来加密每一则信息的新密码钥匙,再用这把新密码钥匙来加密真正的信息。倘若德国人没使用信息钥匙,所有信息——可能有数千则信息、数百万个字母——都会用同一把当日钥匙传送。相对地,如果当日钥匙只用来传送信息钥匙,它所加密的文字数量就很有限了。假设一天有一千把信息钥匙要传送,那么这把当日钥匙就只需加密六千个字母。又因为信息钥匙是随机挑选出来的,而且每把钥匙只加密一则信息,所以它所加密的文字数量也很有限,可能只有几百个字符。

乍看之下,这套系统似乎难以攻破,可是波兰人并没有被吓退。他们准备使尽浑身解数,找出“奇谜”机和当日钥匙与信息钥匙方法的弱点。这一次,与“奇谜”作战的前锋是新一代的密码分析家。好几世纪以来,大家都认为最好的密码分析家候选人是精通语言结构的专家。可是“奇谜”的降临促使波兰人改变他们招募新成员的政策。“奇谜”是一种机械式的密码,波兰人推想,更科学性的头脑可能较有机会破解它。波兰密码局筹办了一个密码学课程,邀请了20位数学家,每一位皆宣誓守密。这些数学家全都来自波兹南(Poznán)大学,它虽不是波兰最具声望的学术机构,但却有位于这个国家西部的优点——这一带领土原本属于德国,1918年才划入波兰版图。因此,这些数学家都会一口流畅的德语。

这20位数学家中,有三位显露出破解密码的才能,而被招募进密码局。其中,最有天赋的是马里安·瑞杰斯基(Marian Rejewski),一位羞怯、戴眼镜的23岁年轻人。他为了想在保险业谋职,大学时攻读统计学。在大学他是一位很有潜能的学生,但是在密码局,他才找到真正适合他的职业。他先练习破解一系列传统的密码法,才前去迎接更严酷的“奇谜”挑战。他独立工作,把所有心力集中在雪毕伍斯机器的错杂性。身为数学家,他尝试分析这台机器的每个作业层面,试验编码器和接线板配线的功效。然而,就像所有数学问题,他的工作不仅需要逻辑,也需要灵感。正如另一位来自数学界的战时密码分析家所说的,有创造性的密码破解家必须“不得已地天天与恶灵沟通,才能在智力的柔道比赛中大胜”。

瑞杰斯基攻击“奇谜”的策略焦点是密码安全的大忌——“重复”。重复会产生模式,密码分析家就靠模式强大。“奇谜”所加密的信息里,最明显的重复是信息钥匙——它在每则信息的开头加密两次。操作员若选用ULJ当信息钥匙,他会重复加密它两次,ULJULJ就可能加密成PEFNWZ,然后再放在真正信息的前头。德国人之所以做这样的重复,是为了避免无线电干扰或操作人员失误造成错误。他们没料到,这会危及机器的安全性。

瑞杰斯基每天都会面对一批新截获的信息。它们都以6个跟信息钥匙有关的字母起始。这6个字母是三个钥匙字母重复两次,且用同一把当日钥匙加密的结果。例如,他可能收到四则信息,含有如下经过加密的信息钥匙:

在每个例子中,第一和第四个字母都是对同一个字母加密,亦即信息钥匙的第一个字母。同样地,第二和第五个字母也是在加密同一个字母,亦即信息钥匙的第二个字母;第三和第六个字母则是加密信息钥匙的第三个字母。例如,第一则信息的L和R都是在加密同一个字母——信息钥匙的第一个字母。同一个字母的加密结果不一样,先是L,后来又变成R,是因为第二次加密这个字母之前,第一个编码器已经转动三位了,因而变动了整个加密模式。

L和R是在加密同一个字母的事实,让瑞杰斯基可以开始推论机器起始设定的隐约轮廓。未知的起始编码器设定,把未知的当日钥匙的第一个字母加密成L,然后另一个同样未知的编码器设定(在尚未知的起始设定的后三位),把未知的当日钥匙的同一字母加密成R。

这个轮廓充满了未知数,因而显得非常模糊,但它至少显露了一项特征:“奇谜”机的起始设定,亦即当日钥匙,使得字母L和R有密切的关联。把每一则当日的新信息拦截下来,就有可能辨别出第一和第四个字母的其他关联。这些关联全是“奇谜”机起始设定的反映。例如,上面的第二则信息告诉我们,M和X有关联;第三则告诉我们J和M有关联;在第四则,D和P有关联。瑞杰斯基把这些关联列成一张表。以上面四则信息为例,这张表反映(L、R),(M、X),(J、M)和(D、P)的关联:

如果瑞杰斯基能在一天之内获取够多的信息,就能完成所有字母的关联。下面就是一张完成的关联表:

图42:马里安·瑞杰斯基

瑞杰斯基不知道当日钥匙与信息钥匙的内容,但他知道这两者衍生出上述表格所列的关联。当日钥匙改变时,关联表的内容也会改变。下一个问题就是:有没有可能透过关联表判定出当日钥匙的内容?瑞杰斯基开始在表格里寻找模式,寻找或能指引出当日钥匙内容的结构。最后,他找到一种值得研究的特定模式——字母链。例如,在表格中,上排的A连到下排的F,他就去上排找F,发现它连到下排的W,就又去上排找W。结果是,上排W的下排字母是A,于是回到这段连接的起点,形成一条环链。

瑞杰斯基从剩下的字母找到更多环链。他列出所有环链,并标示它们的连接点数:

到目前为止,我们只有考虑这个重复性钥匙的第一和第四个字母之间的连接性。事实上,瑞杰斯基也研究了第二和第五个字母,以及第三和第六个字母之间的关联,找出它们的环链和连接数。

瑞杰斯基注意到,这些字母环链每天都在变。有时候会有很多短链,有时候则只有几个长链。当然,环链的字母也会变。环链的特征显然源自当日钥匙的设定——接线板设定、编码器位置顺序和编码器方位的综合结果。但是,瑞杰斯基要如何从环链判断出当日钥匙呢?10,000,000,000,000,000把可能的钥匙中,到底是哪一把跟哪一套环链模式有关联呢?可能性数目实在太大了。

在这个关头,瑞杰斯基展现了他深刻的洞察力。虽然接线板和编码器设定两者都会影响环链的细节,但我们可以将它们的影响力分离到某个程度。更明确而言,环链的某一特性是完全取决于编码器的设定,跟接线板一点儿关系也没有:环链的链接数纯粹源自编码器的设定。回头看上面的例子,假设当日钥匙原本在接线板设定里,要求调换S和G的路线,现在我们稍微修改一下当日钥匙的细节,把连接S和G的电线拿掉,改拿去连接T和K,以调换了T和K的路线,结果,这些环链就会改变如下:

有一些环链的字母变了,可是每一条环链的连接数没变。瑞杰斯基辨认出一个只受编码器设定影响的环链特征了。

编码器设定的总数是编码器位置顺序数目(6)乘以编码器方位数目(17,576),亦即105,456。所以,瑞杰斯基可以忘掉10,000,000,000,000,000把当日钥匙中是哪一把跟哪一套环链模式有关联的问题,改把他的心力移到一个较简单的问题:105,456种编码器设定中,哪一种跟哪一套环链模式有关联?虽然这个数目仍旧很大,总比可能的当日钥匙的总数小了大约一千亿倍了。简言之,这份搜查工作已经简化一千亿倍,当然是在人力可及的范围内了。

瑞杰斯基继续他的任务。多亏汉斯-提罗·施密特的情报,让他有“奇谜”复制品可用。他成立小组,开始进行检测105,456种编码器设定的琐碎工作,记下每一种设定所产生的环链长度。他们花了一整年的时间才完成环链特征目录。有了这些数据,瑞杰斯基终于可以开始解析“奇谜”密码。

每天,他都先记下所有截获信息的前六个字母,亦即重复加密的信息钥匙,建立关联表,据以追寻字母链和每一条环链的连接数。例如,分析第一和第四个字母可能会得出四条连接数分别为3、9、7、7的环链;分析第二和第五个字母可能也会得到四条环链,但连接数分别为2、3、9、12;分析第三和第六个字母时,可能就得到五条连接数分别为5、5、5、3、8的环链。到这一步,瑞杰斯基还不知道当日钥匙是什么,但他知道这把钥匙会产生三套有如下特征的环链:

 

第一和第四字母有4条环链,连接数各为3、9、7、7。

第二和第五字母有4条环链,连接数各为2、3、9、12。

第三和第六字母有5条环链,连接数各为5、5、5、3、8。

 

现在,瑞杰斯基可以翻开他那本环链特征目录了。所有105,456种编码器设定,都一一依据其环链特征详列在目录里。在目录里找到环链数目符合、每条环链的连接数也都符合的项目后,他马上就知道这把钥匙的编码器设定了。这些环链相当于指纹,会使编码器的起始位置顺序与方位曝光。瑞杰斯基的工作方式就跟侦探一样,在犯罪现场找到一枚指纹,就去数据库寻找指纹相符的嫌犯。

辨认出当日钥匙的编码器设定后,瑞杰斯基还必须判定接线板的设定。接线板虽有一千亿种设定可能性,找出正确设定的工作却相当简易。瑞杰斯基先根据刚查证出的编码器设定——当日钥匙的一部分——设定他的“奇谜”复制品。然后拔掉接线板上的所有电线,让接线板暂时无作用,接着输入一段拦截到的密码文。输出结果大都是无意义的字眼,因为接线板的配线还未知、还没派上场。不过他能观察到一些隐约可以辨识的词组,例如alliveinbelrin,可能其实是arrive in Berlin。这个假设若没错,就表示接线板的R和L应该连接、调换路线,而A、I、V、E、B和N都应该不动。继续分析其他词组,就可能判定出其他五对应该利用接线板调换线路的字母。既然推论出接线板的设定,也已发现编码器的设定,瑞杰斯基就有完整的当日钥匙,可以解译当天的任何信息了。

瑞杰斯基分开处理找出编码器设定与找出接线板设定的问题,而大幅简化了辨认当日钥匙的问题。这两个问题本身,分开处理时都是可以解决的。原本我们估计得花掉比宇宙寿命还长的时间,才检测得完所有“奇谜”钥匙。瑞杰斯基却只花一年的时间编纂出环链长度的目录,随后在每天结束前,就能找出当日钥匙。一旦有了当日钥匙,他就跟原收信人一样拥有足够的信息,而能轻易地解译信息了。

瑞杰斯基的突破使德国的通讯内容透明化了。波兰未与德国作战,但有被入侵的威胁,因此征服“奇谜”的胜利让他们大松一口气。如果能知晓德军高层对波兰有何盘算,他们就有机会防御自己。波兰的命运完全视瑞杰斯基的成败,而他也没让他的国家失望。瑞杰斯基攻破“奇谜”是密码分析界最伟大的成就之一。我只能用短短几页的篇幅概略说明他的工作,而省略了很多技术细节和所有死巷。“奇谜”是一台非常复杂的密码机,需要极高的智力才破解得了。我的简化说明不该误导你低估瑞杰斯基的非凡成就。

波兰之所以能成功破解“奇谜”密码,可归纳出三个因素:恐惧、数学和谍报。若不是忧惧德国侵犯,波兰人恐怕也会被“奇谜”密码看似无懈可击的威力吓退。若没有数学根底,瑞杰斯基不会分析出这些环链。若没有代号“灰烬”(Asche)“Asche”:情报员代号。的施密特和他的文件,波兰人没有办法知道编码器的配线,可能也就根本不会开始进行这项密码分析工作。瑞杰斯基也毫不迟疑地指出施密特的功劳:“灰烬的文件,犹如天赐的灵粮,所有门户马上敞开欢迎。”

波兰成功地运用瑞杰斯基的技巧好几年。赫曼·戈林(Hermann Göring)于1934年访问华沙时,一点儿也不知道波兰人拦截并解译了他所有的通讯。他跟几位德国达官贵人前往波兰密码局附近的无名战士之墓献花时,瑞杰斯基在楼上窗口望着他们,窃喜自己能阅览他们最机密的通讯。

虽然德国后来又稍微更改了他们传送信息的方式,瑞杰斯基仍有办法反击。他那本旧的环链特征目录没有用了,但他不需要重新编纂一本目录。因为他设计了一套机械版的目录系统,可以自动寻找正确的编码器设定。瑞杰斯基的发明是“奇谜”机的改造品,可以快速检验17,576套设定,直到找出相符者为止。但是编码器的位置顺序有6种可能性,因此他们必须让6台各代表一种位置顺序的瑞杰斯基机器平行运作。这6台合组成一个单元,大约一米高,大约两个小时就能找出当日钥匙。这些机器被称为“炸弹”(bombes),可能是因为它们在检验编码器设定时,会发出滴滴滴的声音。另一种说法是,瑞杰斯基是在咖啡厅吃一客半球状的“炸弹”冰淇淋时,得到发展这些机器的灵感。这些“炸弹”等于把解译过程机械化了,很自然地呼应了“奇谜”把加密过程机械化的特性。

几乎在整个20世纪30年代期间,瑞杰斯基和他的同事一直不倦怠地进行揭露“奇谜”钥匙的工作。这个小组必须经年累月地面对密码分析工作的压力与紧张,必须不断修复“炸弹”的机械故障,必须不断处理源源不绝的截获信息。他们的生活重心是寻找当日钥匙,这份能揭露加密信息内容的关键信息。然而,这些波兰密码解译家不知道,他们的工作有很多根本是不必要的。波兰密码局的主管格维多·兰杰少校(Major Gwido Langer)早已获取“奇谜”当日钥匙,却把它们塞进办公桌抽屉藏了起来。

透过法国人,兰杰一直在接收施密特的情报。这名德国间谍在1931年交出两份“奇谜”的操作说明书后,并未停止他的不法行动。他跟法国秘密情报员瑞克斯碰了20次面,通常是在阿尔卑斯山上绝对隐私的偏僻小屋里。每次碰面,施密特都会交出一本或数本密码簿,每本都有一月份的当日钥匙。这些都是所有德国“奇谜”操作员会收到的密码簿,里面含有加密和解译信息所需的完整信息。他总共提供了足供38个月之用的当日钥匙。这些钥匙原本可帮瑞杰斯基省却大量的时间与功夫,可以不需要装置这些“炸弹”,可以节省很多密码局的其他部门原本用得上的人力。然而,精明过人的兰杰却决定隐瞒这些钥匙。兰杰相信,总有一天会再也拿不到钥匙,瑞杰斯基必须被训练成不必依赖钥匙。他知道战争一旦爆发,施密特就不可能再继续秘密赴会,届时瑞杰斯基就会被迫自给自足了。兰杰认为,瑞杰斯基平时就应该练习自给自足,为未来做好准备。

瑞杰斯基的绝技终于在1938年12月达到限度。德国密码应用家加强了“奇谜”的安全性。“奇谜”操作员收到两个新的编码器,编码器位置的安排会用到五个编码器中的三个。以往只有三个编码器(1号、2号、3号)可以用,可能的排列方式只有六种,现在多了两个额外的编码器(4号和5号)可用,就能安排出60种排列组合(请参考表10)。瑞杰斯基的第一个挑战是,求解这两个新编码器的内部配线。更令人烦忧的是,他也必须制造60台“炸弹”,各代表一种编码器位置。这样一套“炸弹”的制造费用是波兰密码局年度设备预算的15倍。接下来的那个月,情况变得更糟。接线板的电线数目从6条增为10条了。这表示,调换加密路线的字母从12个变成20个了。钥匙可能性的总数升高到159,000,000,000,000,000,000。

1938年,波兰拦截并解译信息的绩效达到高峰。到了1939年初,新编码器和新增的接线板电线却阻断情报的源流。在先前这几年扩展密码分析疆域的瑞杰斯基被打败了。他已经证明“奇谜”不是无法破解的密码,可是没有检验所有编码器设定所需的资源,他无法找出当日钥匙,也就不可能解译“奇谜”的信息。面对如此绝望的处境,兰杰想必考虑交出施密特提供的钥匙了。问题是,没有人送钥匙了。就在引进新编码器的前夕,施密特跟情报员瑞克斯突然中断联系。有7年的时间,他所供应的钥匙对波兰人而言是多余的。现在正当波兰人需要钥匙时,却再也没有供应源了。

“奇谜”再度变得难以攻破,对波兰而言,这是毁灭性的一击。“奇谜”不仅是一种通讯工具,也是希特勒闪电战策略的核心。闪电战的概念是快速、强大的协同攻击,这意味大型装甲师之间必须能彼此联系,并与步兵和炮兵部队维持通讯。此外,俯冲轰炸机斯图卡(Stuka)要在空中支持地面部队,也有赖于前线部队和机场之间高效率且安全的通讯。闪电战的特质就是“利用快速通讯,进行快速攻击”。波兰若无法破解“奇谜”,就没有希望挡住德国显然将在几个月内开始发动的猛烈攻势。德国已经占领苏台德地区(Sudetenland),并于1939年4月27日撤销与波兰签订的互不侵犯条约。希特勒反波兰的演说越来越尖刻。兰杰决定不让这项同盟国到目前为止都还不知情的波兰密码分析学突破,毁于德国侵袭的战火。如果波兰已经无法得利于瑞杰斯基的工作,至少该给同盟国试一试,以它作为研发基础。也许英国和法国有额外的资源,能充分利用这个“炸弹”的构想。

6月30日,兰杰少校发电报邀请法国与英国跟他同等身份的人士前来华沙,讨论与“奇谜”有关的紧急事务。7月24日,法国与英国的资深密码分析家抵达波兰密码局总部,对正在等着他们的东西毫不知情。兰杰引领他们进入一个房间,里面有个东西用黑布覆盖着。他拉开那布幔,很戏剧性地揭开瑞杰斯基的“炸弹”。这些观众得知瑞杰斯基已经破解“奇谜”多年时,个个目瞪口呆。波兰领先世界任何其他国家十年。尤其震惊的是法国人,波兰人这项伟大成就的基础竟是法国谍报斩获的信息。法国人把施密特提供的信息交给波兰人,是因为他们相信这些信息没有价值,波兰人却证明他们错了。

最后一份惊喜是,兰杰愿意给英国和法国两台备用的“奇谜”复制品及“炸弹”的蓝图,利用外交邮包送到巴黎。8月16日,其中一台“奇谜”从巴黎转往伦敦。为了避免引起监视港口的德国间谍怀疑,这台“奇谜”机由剧作家撒夏·基特里(Sacha Guitry)和他的夫人女伶伊凡娜·潘栋(Yvonne Printemps)夹藏在行李中,越过英吉利海峡。两个星期后,9月1日,希特勒进攻波兰,大战由此爆发。

表10:五个编码器的位置顺序可能性

图43:海因茨·古德里安将军的战地指挥部用车。画面左下方可看得见正在使用“奇谜”