|
|
|
ENIGMA的兴亡编辑本段回目录
人类使用密码的历史,从今天已知的,最早可以一直追溯到古巴比伦人的泥板文字。古埃及人,古罗马人,古阿拉伯人……几乎世界历史上所有文明都使用过密码。军事和外交一直是密码应用的最重要的领域,国王、将军、外交官以及阴谋分子等,为了在通讯过程中保护自己信息不被外人所知,使用过形形色色的密码;而为了刺探于己不利的秘密,他们又绞尽脑汁地试图破译对手的密码。加密与解密一直是密码学这枚硬币互相对抗又互相促进的两面。在所有用于军事和外交的密码里,最著名的恐怕应属第二次世界大战中德国方面使用的ENIGMA(读作“恩尼格玛”,意为“谜”)。
一、诞生 直到第一次世界大战结束为止,所有密码都是使用手工来编码的。直接了当地说,就是铅笔加纸的方式。在我国,邮电局电报编码和译码直到很晚(大概是上个世纪八十年代初)还在使用这种手工方法。手工编码的方式给使用密码的一方带来很多的不便。首先,这使得发送信息的效率极其低下。明文(就是没有经过加密的原始文本)必须由加密员人工一个一个字母地转换为密文。考虑到不能多次重复同一种明文到密文的转换方式(这很容易使敌人猜出这种转换方式),和民用的电报编码解码不同,加密人员并不能把转换方式牢记于心。转换通常是采用查表的方法,所查表又每日不同,所以解码速度极慢。而接收密码一方又要用同样的方式将密文转为明文。其次,这种效率的低下的手工操作也使得许多复杂的保密性能更好的加密方法不能被实际应用,而简单的加密方法根本不能抵挡解密学的威力。 解密一方当时正值春风得意之时,几百年来被认为坚不可破的维吉耐尔(Vigenere)密码和它的变种也被破解。而无线电报的发明,使得截获密文易如反掌。无论是军事方面还是民用商业方面都需要一种可靠而又有效的方法来保证通讯的安全。 1918年,德国发明家亚瑟·谢尔比乌斯(Arthur Scherbius)和他的朋友理查德·里特(Richard Ritter)创办了谢尔比乌斯和里特公司。这是一家专营把新技术转化为应用方面的企业,很象现在的高新技术公司,利润不小,可是风险也很大。谢尔比乌斯负责研究和开发方面,紧追当时的新潮流。他曾在汉诺威和慕尼黑研究过电气应用,他的一个想法就是要用二十世纪的电气技术来取代那种过时的铅笔加纸的加密方法。 谢尔比乌斯发明的加密电子机械名叫ENIGMA,在以后的年代里,它将被证明是有史以来最为可靠的加密系统之一,而对这种可靠性的盲目乐观,又使它的使用者遭到了灭顶之灾。这是后话,暂且不提。 ENIGMA看起来是一个装满了复杂而精致的元件的盒子。不过要是我们把它打开来,就可以看到它可以被分解成相当简单的几部分。下面的图是它的最基本部分的示意图,我们可以看见它的三个部分:键盘、转子和显示器。 键盘、转子和显示器由电线相连,转子本身也集成了6条线路(在实物中是26条),把键盘的信号对应到显示器不同的小灯上去。在示意图中我们可以看到,如果按下a键,那么灯B就会亮,这意味着a被加密成了B。同样地我们看到,b被加密成了A,c被加密成了D,d被加密成了F,e被加密成了E,f被加密成了C。于是如果我们在键盘上依次键入cafe(咖啡),显示器上就会依次显示DBCE。这是最简单的加密方法之一,把每一个字母都按一一对应的方法替换为另一个字母,这样的加密方式叫做“简单替换密码”。 简单替换密码在历史上很早就出现了。著名的“凯撒法”就是一种简单替换法,它把每个字母和它在字母表中后若干个位置中的那个字母相对应。比如说我们取后三个位置,那么字母的一一对应就如下表所示: 明码字母表:abcdefghijklmnopqrstuvwxyz 密码字母表:DEFGHIJKLMNOPQRSTUVWXYZABC 于是我们就可以从明文得到密文:(veni, vidi, vici,“我来,我见,我征服”是儒勒·凯撒征服本都王法那西斯后向罗马元老院宣告的名言) 明文:veni, vidi, vici 密文:YHAL, YLGL, YLFL 很明显,这种简单的方法只有26种可能性,不足以实际应用。一般上是规定一个比较随意的一一对应,比如 明码字母表:abcdefghijklmnopqrstuvwxyz 密码字母表:JQKLZNDOWECPAHRBSMYITUGVXF甚至可以自己定义一个密码字母图形而不采用拉丁字母。但是用这种方法所得到的密文还是相当容易被破解的。至迟在公元九世纪,阿拉伯的密码破译专家就已经娴熟地掌握了用统计字母出现频率的方法来击破简单替换密码。破解的原理很简单:在每种拼音文字语言中,每个字母出现的频率并不相同,比如说在英语中,e出现的次数就要大大高于其他字母。所以如果取得了足够多的密文,通过统计每个字母出现的频率,我们就可以猜出密码中的一个字母对应于明码中哪个字母(当然还要通过揣摩上下文等基本密码破译手段)。柯南·道尔在他著名的福尔摩斯探案集中《跳舞的人》里详细叙述了福尔摩斯使用频率统计法破译跳舞人形密码的过程。 所以如果转子的作用仅仅是把一个字母换成另一个字母,那就没有太大的意思了。但是大家可能已经猜出来了,所谓的“转子”,它会转动!这就是谢尔比乌斯关于ENIGMA的最重要的设计——当键盘上一个键被按下时,相应的密文在显示器上显示,然后转子的方向就自动地转动一个字母的位置(在示意图中就是转动1/6圈,而在实际中转动1/26圈)。下面的示意图表示了连续键入3个b的情况: 这里我们看到了ENIGMA加密的关键:这不是一种简单替换密码。同一个字母b在明文的不同位置时,可以被不同的字母替换,而密文中不同位置的同一个字母,可以代表明文中的不同字母,频率分析法在这里就没有用武之地了。这种加密方式被称为“复式替换密码”。 但是我们看到,如果连续键入6个字母(实物中26个字母),转子就会整整转一圈,回到原始的方向上,这时编码就和最初重复了。而在加密过程中,重复的现象是很危险的,这可以使试图破译密码的人看见规律性的东西。于是谢尔比乌斯在机器上又加了一个转子。当第一个转子转动整整一圈以后,它上面有一个齿拨动第二个转子,使得它的方向转动一个字母的位置。看下面的示意图(为了简单起见,现在我们将它表示为平面形式): 我们看到用这样的方法,要6*6=36(实物中为26*26=676)个字母后才会重复原来的编码。而事实上ENIGMA里有三个转子(二战后期德国海军用ENIGMA甚至有四个转子),不重复的方向个数达到26*26*26=17576个。 在此基础上谢尔比乌斯十分巧妙地在三个转子的一端加上了一个反射器,而把键盘和显示器中的相同字母用电线连在一起。反射器和转子一样,把某一个字母连在另一个字母上,但是它并不转动。乍一看这么一个固定的反射器好象没什么用处,它并不增加可以使用的编码数目,但是把它和解码联系起来就会看出这种设计的别具匠心了。见下图: 想象一下要用ENIGMA发送一条消息。发信人首先要调节三个转子的方向,使它们处于17576个方向中的一个(事实上转子的初始方向就是密匙,这是收发双方必须预先约定好的),然后依次键入明文,并把闪亮的字母依次记下来,然后就可以把加密后的消息用比如电报的方式发送出去。当收信方收到电文后,使用一台相同的ENIGMA,按照原来的约定,把转子的方向调整到和发信方相同的初始方向上,然后依次键入收到的密文,并把闪亮的字母依次记下来,就得到了明文。于是加密和解密的过程就是完全一样的——这都是反射器起的作用。稍微考虑一下,我们很容易明白,反射器带来的一个副作用就是一个字母永远也不会被加密成它自己,因为反射器中一个字母总是被连接到另一个不同的字母。 于是转子的初始方向决定了整个密文的加密方式。如果通讯当中有敌人监听,他会收到完整的密文,但是由于不知道三个转子的初始方向,他就不得不一个个方向地试验来找到这个密匙。问题在于17576个初始方向这个数目并不是太大。如果试图破译密文的人把转子调整到某一方向,然后键入密文开始的一段,看看输出是否象是有意义的信息。如果不象,那就再试转子的下一个初始方向……如果试一个方向大约要一分钟,而他二十四小时日夜工作,那么在大约两星期里就可以找遍转子所有可能的初始方向。如果对手用许多台机器同时破译,那么所需要的时间就会大大缩短。这种保密程度是不太足够的。 当然谢尔比乌斯还可以再多加转子,但是我们看见每加一个转子初始方向的可能性只是乘以了26。尤其是,增加转子会增加ENIGMA的体积和成本。谢尔比乌斯希望他的加密机器是便于携带的(事实上它最终的尺寸是34cm*28cm*15cm),而不是一个具有十几个转子的庞然大物。首先他把三个转子做得可以拆卸下来互相交换,这样一来初始方向的可能性变成了原来的六倍。假设三个转子的编号为1、2、3,那么它们可以被放成123-132-213-231-312-321六种不同位置,当然现在收发消息的双方除了要预先约定转子自身的初始方向,还要约定好这六种排列中的使用一种。 下一步谢尔比乌斯在键盘和第一转子之间增加了一个连接板。这块连接板允许使用者用一根连线把某个字母和另一个字母连接起来,这样这个字母的信号在进入转子之前就会转变为另一个字母的信号。这种连线最多可以有六根(后期的ENIGMA具有更多的连线),这样就可以使6对字母的信号互换,其他没有插上连线的字母保持不变。在上面ENIGMA的实物图里,我们看见这个连接板处于键盘的下方。当然连接板上的连线状况也是收发信息的双方需要预先约定的。 于是转子自身的初始方向,转子之间的相互位置,以及连接板连线的状况就组成了所有可能的密匙,让我们来算一算一共到底有多少种。 三个转子不同的方向组成了26*26*26=17576种不同可能性; 三个转子间不同的相对位置为6种可能性; 连接板上两两交换6对字母的可能性数目非常巨大,有100391791500种; 于是一共有17576*6*100391791500,大约为10000000000000000,即一亿亿种可能性。 只要约定好上面所说的密匙,收发双方利用ENIGMA就可以十分容易地进行加密和解密。但是如果不知道密匙,在这巨大的可能性面前,一一尝试来试图找出密匙是完全没有可能的。我们看见连接板对可能性的增加贡献最大,那么为什么谢尔比乌斯要那么麻烦地设计转子之类的东西呢?原因在于连接板本身其实就是一个简单替换密码系统,在整个加密过程中,连接是固定的,所以单使用它是十分容易用频率分析法来破译的。转子系统虽然提供的可能性不多,但是在加密过程中它们不停地转动,使整个系统变成了复式替换系统,频率分析法对它再也无能为力,与此同时,连接板却使得可能性数目大大增加,使得暴力破译法(即一个一个尝试所有可能性的方法)望而却步。 1918年谢尔比乌斯申请了ENIGMA的专利。他以为既然自己的发明能够提供优秀的加密手段,又能拥有极高的加密解密效率,一定能很快就畅销起来。他给商业界提供了一种基本型ENIGMA,又给外交人员提供一种豪华的装备有打印机的型号。但是他似乎搞错了。他的机器售价大约相当于现在的30000美元(如果订购一千台的话每台便宜4000美元)。这个价钱使得客户望而却步。虽然谢尔比乌斯向企业家们宣称,如果他们重要的商业秘密被竞争对手知道了的话,遭到的损失将比ENIGMA的价格高得多,但是企业家们还是觉得他们没有能力来购买ENIGMA。谢尔比乌斯的新发明并没有象他预料的那样带来多少回响。军队方面对他的发明也没有什么太多的注意。 谢尔比乌斯的失望是可想而知的。但是这方面他不是唯一的人。和他几乎同时在另外三个国家的三个发明家也都独立地想到了发明了使用转子的电气加密机的主意。1919年荷兰发明家亚历山大·科赫(Alexander Koch)注册了相似的专利,可是却没有能够使它商业化,1927年他只好卖掉了他的专利。在瑞典,阿维德·达姆(Arvid Damm)也获得了一个差不多的专利,但是直到1927年他去世时还是没有能找到市场。在美国,爱德华·赫本(Edward Hebern)发明了他的“无线狮身人面”,对它充满希望。他用三十八万美元开了一个工厂,却只卖出价值一千两百美元的十来台机器。1926年在加利福尼亚州赫本被股东起诉,被判有罪。 可是谢尔比乌斯突然时来运转。英国政府发表了两份关于一次大战的文件使得德国军队开始对他的发明大感兴趣。其中一份是1923年出版的温斯顿·丘吉尔的著作《世界危机》,其中有一段提到了英国和俄国在军事方面的合作,指出俄国人曾经成功地破译了某些德军密码,而使用这些成果,英国的40局(英国政府负责破译密码的间谍机构)能够系统性地取得德军的加密情报。德国方面几乎是在十年之后才知道这一真相。第二份文件同样是在1923年由皇家海军发表的关于第一次世界大战的官方报告,其中讲述了在战时盟军方面截获(并且破译)德军通讯所带来的决定性的优势。这些文件构成了对德国情报部门的隐性指控,他们最终承认“由于无线电通讯被英方截获和破译,德国海军指挥部门就好象是把自己的牌明摊在桌子上和英国海军较量。” 为了避免再一次陷入这样的处境,德军对谢尔比乌斯的发明进行了可行性研究,最终得出结论:必须装备这种加密机器。从1925年开始,谢尔比乌斯的工厂开始系列化生产ENIGMA,次年德军开始使用这些机器。接着政府机关,比如说国营企业,铁路部门等也开始使用ENIGMA。这些新型号的机器和原来已经卖出的一些商用型号不同,所以商用型机器的使用者就不知道政府和军用型的机器具体是如何运作的。 在接下来的十年中,德国军队大约装备了三万台ENIGMA。谢尔比乌斯的发明使德国具有了最可靠的加密系统。在第二次世界大战开始时,德军通讯的保密性在当时世界上无与伦比。似乎可以这样说,ENIGMA在纳粹德国二战初期的胜利中起到的作用是决定性的,但是我们也会看到,它在后来希特勒的灭亡中扮演了重要的角色。 但是谢尔比乌斯没有能够看见所有这一切。有一次在套马时,他被摔到了一面墙上,于1929年5月13日死于内脏损伤。 二、弱点(上) 在一次大战其间,英国的情报机关非常严密地监控了德国方面的通讯,丘吉尔的书和英国海军部的报告中透露的消息只不过是一鳞半爪。事实上,将美国引入一次大战的齐末曼(Arthur Zimmermann,1916年起任德国外交部长)电报就是由著名的英国40局破译的。在此电报中德国密谋墨西哥对美国发动攻击,这使得美国最终决定对德宣战。但是英国人的障眼法用得如此之好,使得德国人一直以为是墨西哥方面泄漏了秘密。 战后英国仍旧保持着对德国通讯的监听,并保持着很高的破译率。但是从1926年开始,他们开始收到一些不知所云的信息——ENIGMA开始投入使用。德国方面使用的ENIGMA越多,40局破解不了的电文就越多。美国人和法国人碰到的情况也一样,他们对ENIGMA一筹莫展。德国从此拥有了世界上最为可靠的通讯保密系统。 一次大战的战胜国很快就放弃了破译这种新型密码的努力。也许是出于自信,在他们看来,在凡尔赛条约约束下的德国已经造成不了什么危害。由于看不到破译德国密码的必要性,盟国的密码分析专家懒散下来,干这一行的头脑似乎也变得越来越平庸。在科学的其他领域,我们说失败乃成功之母;而在密码分析领域,我们则应该说恐惧乃成功之母。普法战争造就了法国一代优秀的密码分析专家,而一次大战中英国能够破译德国的通讯密码,对失败的极大恐惧产生的动力无疑起了巨大的作用。 历史又一次重演。因为在欧洲有一个国家对德国抱有这种极大的恐惧——这就是在一战灰烬中浴火重生的新独立的波兰。在她的西面,是对失去旧日领土耿耿于怀的德国,而在东面,则是要输出革命的苏维埃联盟。对于波兰来说,关于这两个强邻的情报是有关生死存亡的大事,波兰的密码分析专家不可能象他们的英美法同事那样爱干不干——他们必须知道这两个大国都在想什么。在此情况下波兰设立了自己的破译机构,波军总参二局密码处(Biuro Szyfrow)。密码处的高效率在1919-1920年波苏战争中明显地体现出来,军事上屡尝败绩的波兰在密码分析方面却一枝独秀。在苏军兵临华沙城下的情况下,1920年一年他们破译了大约400条苏军信息。在对西面德国的通讯的监控方面,波兰人也保持了同样的高效率——直到1926年ENIGMA登场。 波兰人想方设法搞到了一台商用的ENIGMA机器,大致弄清楚了它的工作原理。但是军用型的转子内部布线和商用型的完全不同,没有这个情报,想要破译德军的电报可谓难如登天。波兰人使出了浑身的解数,甚至病急乱投医,请了个据说有天眼通功能的“大师”来遥感德国人机器里转子的线路图——当然和所有的“大师”一样,一遇上这种硬碰硬的事情,神乎其神的天眼通也不灵了。 这时事情有了转机。 汉斯—提罗·施密特(Hans-Thilo Schimdt) 于1888年出生在柏林的一个中产阶级家庭里,一次大战时当过兵打过仗。根据凡尔赛条约,战败后的德国进行了裁军,施密特就在被裁之列。退了伍后他开了个小肥皂厂,心想下海从商赚点钱。结果战后的经济萧条和通货膨胀让他破了产。此时他不名一文,却还有一个家要养。 和他潦倒的处境相反,他的大哥鲁道夫(Rudolph)在战后春风得意。和汉斯—提罗一样都是一次大战的老兵,可鲁道夫没有被裁减,相反却一路高升。到了二十年代,他当上了德国通讯部门的头头,就是他正式命令在军队中使用ENIGMA。和大哥的成功比起来,汉斯—提罗自然觉得脸上无光。 可是破产后汉斯-提罗不得不放下自尊心来去见大哥,求他在政府部门替自己谋个职位。鲁道夫给他的二弟在密码处(Chiffrierstelle)找了个位置。这是专门负责德国密码通讯的机构——ENIGMA的指挥中心,拥有大量绝密情报。汉斯—提罗把一家留在巴伐利亚,因为在那里生活费用相对较低,勉强可以度日。就这样他一个人孤零零地搬到了柏林,拿着可怜的薪水,对大哥又羡又妒,对抛弃他的社会深恶痛绝。 接下来的事情可想而知。如果把自己可以轻松搞到的绝密情报出卖给外国情报机构,一方面可以赚取不少自己紧缺的钱,一方面可以以此报复这个抛弃了他的国家。1931年11月8日,施密特化名为艾斯克(Asche)和法国情报人员在比利时接头,在旅馆里他向法国情报人员提供了两份珍贵的有关ENIGMA操作和转子内部线路的资料,得到一万马克。靠这两份资料,盟国就完全可以复制出一台军用的ENIGMA机。 不过事情并不象想象的那么简单。要破译ENIGMA密码,靠这些情报还远远不够。德军的一份对ENIGMA的评估写道:“即使敌人获取了一台同样的机器,它仍旧能够保证其加密系统的保密性。”就算有了一台ENIGMA,如果不知道密钥(在本文的第一部分里我们知道所谓的密钥,就是转子自身的初始方向,转子之间的相互位置,以及连接板连线的状况)的话,想破译电文,就要尝试数以亿亿计的组合,这是不现实的。 “加密系统的保密性只应建立在对密钥的保密上,不应该取决于加密算法的保密。”这是密码学中的金科玉律。加密算法可以直接是某个抽象的数学算法,比如现在通用的DEA和RSA算法,也可以是实现某个算法的象ENIGMA这样的加密机械或专门用于加密的电子芯片等加密器件,还可以是经过编译的在计算机上可执行的加密程序,比如现在在互联网通信中被广泛使用的PGP(Pretty Good Privacy)。因为对加密算法的保密是困难的。对手可以用窃取、购买的方法来取得算法、加密器件或者程序。如果得到的是加密器件或者程序,可以对它们进行反向工程而最终获得加密算法。如果只是密钥失密,那么失密的只是和此密钥有关的情报,日后通讯的保密性可以通过更换密钥来补救;但如果是加密算法失密,而整个系统的保密性又建立在算法的秘密性上,那么所有由此算法加密的信息就会全部暴露。更糟糕是,为了使以后的通讯保持秘密,必须完全更换加密算法,这意味着更新加密器械或更换程序。比起简单地更换密钥,这要耗费大量财富和管理资源(大规模更换加密器械和程序会使对手更有机会乘虚而入!)。 如此明显的道理,却时常有人不愿遵守,把加密系统的保密性建立在对加密算法的保密上,为此吃够了苦头。最著名的例子莫过于DVD的加密算法(DVD Movie encryption scheme)。信息和密码专家通过对DVD驱动器解密芯片和解密软件的分析得到了它的加密和解密算法。以此为基础有人编写了一个破解DVD加密算法的程序DeCSS。虽然在2000年1月,美国法官刘易斯·卡普兰(Lewis Laplan)裁定在互联网上传播DeCSS为非法,但是这种行政的强制手段似乎毫不奏效。反对裁决的一方以保护言论自由的美国宪法第一修正案的来反驳,卡普兰不得不附加了“计算机源程序不属言论”的附加裁定。 但这个附加裁定似乎也没有什么太大的用处——虽然不能直接传播DeCSS的源程序,如果愿意的话,人们还是可以用“源程序的第一个字母是A,第二个字母是=”这类卡普兰法官绝不能归到“非言论”一类去的方法来描述。在http://www.cs.cmu.edu/~dst/DeCSS/Gallery/你可以找到十几种怪里怪气地“不违法”地传播DeCSS的方法,其中包括一首诗,一件印着源程序的T恤衫, 一段朗诵源程序的录音和三张显示着源程序的GIF图片——法官大人下令禁止的是源程序,不是它的图片,不是吗? 更有甚者,有人在网上公布了一个素数,如果把这个素数写成十六进制并记录成一个文件,我们就可以拿解能够解gzip格式的压缩软件(比如说WinZip)来将它解成DeCSS。如果卡普兰法官下令禁止这个素数的话,它很有可能成为有史以来第一个“非法”的素数。你可以在http://www.utm.edu/research/primes/curios/48565...29443.html看到这个素数。 在上面这个例子里我们甚至可以看到,在此时更换加密算法已经变得实际上不可能,因为DVD作为标准已经被固定下来,于是它的加密算法也就从此形同虚设。 正如前面所言,ENIGMA的设计使得搞到了它的秘密的法国人也一筹莫展。法国密码分析人员断定这种密码是不可破译的。他们甚至根本就懒得根据搞到的情报去复制一台ENIGMA。 在十年前法国和波兰签订过一个军事合作协议。波兰方面一直坚持要取得所有关于ENIGMA的情报。既然看来自己拿着也没什么用,法国人就把从施密特那里买来的情报交给了波兰人。和法国人不同,破译ENIGMA对波兰来说至关重要,就算死马也要当作活马医。现在他们总算能迈出最初的一步了。 在施密特提供的关于ENIGMA的情报中,不仅有关于ENIGMA构造和转子内部连线的描述,还有德国人使用ENIGMA进行编码的具体规定。每个月每台ENIGMA机的操作员都会收到一本当月的新密钥,上面有此月每天使用的密钥。比如说,第一天的密钥可以是这个样子:1.连接板的连接:A/L-P/R-T/D-B/W-K/F-O/Y2.转子的顺序:2,3,13.转子的初始方向:Q-C-W 当操作员要发送某条消息时,他首先从密钥本中查到以上信息。然后按照上面的规定,首先用连线把连接板上的A字母和L字母,P字母和R字母……连接起来;然后把2号转子放在ENIGMA的第一个转子位置上,把3号转子放在第二个位置上,把1号转子放在第三个位置上;最后,他调整转子的方向(从照片上可以看到每个转子的边上都刻着一圈字母用来显示转子所处的方向),使得三个转子上的字母Q、C和W分别朝上。在接收信息的另一方,操作员也进行同样的准备(他也有一本同样的密钥本),就可以进行收信解码的工作了。 调整好ENIGMA,现在操作员可以开始对明文加密了。但是我们看到每天只有一个密钥,如果这一天的几百封电报都以这个密钥加密发送的话,暗中截听信号的敌方就会取得大量的以同一密钥加密的信息,这对保密工作来说不是个好兆头。我们记得在简单替换密码的情况下,如果密码分析专家能得到大量的密文,就可以使用统计方法将其破解。 尽管不知道对ENIGMA是否可以采用类似的统计方法,德国人还是留了个心眼。他们决定在按当日密钥调整好ENIGMA机后并不直接加密要发送的明文。相反地,首先发送的是一个新的密钥。连接板的连线顺序和转子的顺序并不改变,和当日通用的密钥相同;想反地,转子的初始方向将被改变。操作员首先按照上面所说的方法按当日密钥调整好ENIGMA,然后随机地选择三个字母,比如说PGH。他把PGH在键盘上连打两遍,加密为比如说KIVBJE(注意到两次PGH被加密为不同的形式,第一次KIV,第二次BJE,这正是ENIGMA的特点,它是一种复式替换密码)。然后他把KIVBJE记在电文的最前面。接着他重新调整三个转子的初始方向到PGH,然后才正式对明文加密。 用这种方法每一条电文都有属于自己的三个表示转子初始方向的密钥。把密钥输入两遍是为了防止偶然的发报或者接收错误,起着纠错的作用。收报一方在按当日密钥调整好ENIGMA机后,先输入密文的头六个字母KIVBJE,解密得到PGHPGH,于是确认没有错误。然后把三个转子的初始方向调整到PGH,接着就可以正式解密其余的密文了。 如果不使用对每条电文都不同的密钥,那么每天很可能总共会有几千条电文也就是几百万个字母的消息以同一个密钥加密。而采用每条电文都有自己的密钥这个方法后,当日密钥所加密的就是很少的几万个字母,而且这些字母都是随机选取,和有意义的电文性质不同,不可能用统计方法破译。 乍一看来这种方法无懈可击。可是波兰人铁了心,必须在这厚厚的护甲上撕出一个口子来。 在此以前,密码分析人员通常是语言天才,精通对语言方面特征的分析。但是既然ENIGMA是一种机械加密装置,波兰总参二局密码处就考虑到,是否一个具有科学头脑的人更适合于它的破译工作呢? 1929年1月,波兹南大学数学系主任兹德齐斯罗·克里格罗夫斯基(Zdzislaw Krygowski)教授开列了一张系里最优秀的数学家的名单,在这张名单上,有以后被称为密码研究“波兰三杰”的马里安·雷杰夫斯基(Marian Rejewski),杰尔兹·罗佐基(Jerzy Rozycki)和亨里克·佐加尔斯基(Henryk Zygalski)。波兹南大学并非当时波兰最有名的大学,但是它地处波兰南部,那里直到1918年还是德国领土,所以所有这些数学家都能讲流利的德语。 在三位被密码局招聘的数学家中,雷杰夫斯基的表现最为出色。当年他是个架着一副近视眼镜,脸上略带羞色的二十三岁小伙子。他的在大学里学的专业是统计学,打算以后去干保险业行当,也许在此之前他从未想到会在密码分析方面大展身手。在经过短期的密码分析训练后,他把所有的精力都投入到破解ENIGMA的工作中去。 雷杰夫斯基深知“重复乃密码大敌”。在ENIGMA密码中,最明显的重复莫过于每条电文最开始的那六个字母——它由三个字母的密钥重复两次加密而成。德国人没有想到这里会是看似固若金汤的ENIGMA防线的弱点。 二、弱点(下) 德方每封密文最开始的六个字母,是此信密钥的三个字母重复两遍,由当日密钥加密而成。比如说这封信的密钥是ULJ(这是开始加密明文时由操作员临时随机选取的),那么操作员首先用当日通用的密钥加密ULJULJ,得到六个字母的加密后序列,比如说PEFNWZ,然后再用ULJ来作为密钥加密正文,最后把PEFNWZ放在加密后的正文前,一起用电报发给收信方。 雷杰夫斯基每天都会收到一大堆截获的德国电报,所以一天中可以得到许多这样的六个字母串,它们都由同一个当日密钥加密而成。比如说他收到四个电报,其中每封电报的开头的六个字母为 1 2 3 4 5 6 第一封电报:L O K R G M 第二封电报:M V T X Z E 第三封电报:J K T M P E 第四封电报:D V Y P Z X对于每封电报来说,它的第一个字母和第四个字母都是由同一个字母加密而来,同样地第二和第五个字母以及第三和第六个字母也是分别由同一个字母加密而来。比如说在第一封电报中,字母L和R是由同一字母加密而来。这个字母之所以先被加密成L,然后又被加密成了R,是因为在此期间转子向前转动了三个字母的位置。 从L和R是由同一个字母加密而来这点,雷杰夫斯基就有了判断转子的初始位置的一条线索。当转子处于这个初始位置时,字母L和R在某种意义下具有紧密的联系。每天截获的大量电文能够给出许多这样的紧密联系,从而使雷杰夫斯基最终能够判断出转子的初始位置。在上面的第二、三、四封电报中,我们看见M和X,J和M,D和P都有这种联系: 第一个字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ 第四个字母:___P_____M_RX_____________ 如果雷杰夫斯基每天可以得到充分多的电报,他就可以把上面这个关系表补充完整: 第一个字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ 第四个字母:FQHPLWOGBMVRXUYCZITNJEASDK光凭这个对应表格,雷杰夫斯基还是没办法知道当天的通用密钥。可是他知道,这个表格是由当天的通用密钥决定的,而且只由它决定。如果密钥不同,那么这个表格也应该不同——那么,有没有一种办法可以从这个对应表来推断出当日的通用密钥呢?雷杰夫斯基对这样的表格进行了仔细观察。从字母A开始看,它被对应成F;而F在此表中又被对应成W,接下去它被对应成A,我们又回到了最先开始的字母,于是就有了一个循环的字母圈A→F→W→A。如果考虑所有的字母,雷杰夫斯基就能写出关于此对应表的所有的循环圈:A→F→W→A 3个字母的循环圈B→Q→Z→K→V→E→L→R→I→B 9个字母的循环圈C→H→G→O→Y→D→P→C 7个字母的循环圈J→M→X→S→T→N→U→J 7个字母的循环圈这里我们只是考虑了第一和第四个字母形成的对应表。同样地对第二和第五、第三和第六个字母形成的对应表,我们也可以写出类似的字母循环圈。由于每天的密钥都不同,雷杰夫斯基得到的循环圈也各不相同。 雷杰夫斯基观察到,这些循环圈长短不一。这使他有了一个重要的灵感:虽然这些循环圈是由当日密钥,也就是转子的位置,它们的初始方向以及连接板上字母置换造成的,但是每组循环圈的个数和每个循环圈的长度,却仅仅是由转子的位置和它们的初始方向决定的,和连接板上字母交换的情况无关! 假定在上面这个例子中,原来在接线板上字母S和G由一根连线相连。现在转子的位置和它们的初始方向保持不变,去掉这根连线而将字母T和K连在一起,那么第一和第四个字母的对应表就会变成 第一个字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ 第四个字母:FQHPLWKSBMNRXUYCZIOVJEAGDT(原来的G对应O,S对应T,去掉G和S的连线后,G就对应T,但是T被新的连线接到了K,所以G最终对应着K。其他受影响的字母还有H、K、S、T、X、Z)。而循环圈表就变成了:A→F→W→A 3个字母的循环圈B→Q→Z→T→V→E→L→R→I→B 9个字母的循环圈C→H→S→O→Y→D→P→C 7个字母的循环圈J→M→X→G→K→N→U→J 7个字母的循环圈某些循环圈中的字母变了,但是循环圈的数目仍旧是四个,每个循环圈的长度也没有改变。应用置换变换的理论,雷杰夫斯基可以从数学上严格证明这一点对于任何的连线变化都是成立的。 这是一个非常重大的进展。我们知道,如果要强行试遍所有的密钥来破解密文,那得要试一亿亿个密钥之多;但是ENIGMA的数量巨大的密钥主要是由连接板来提供的,如果只考虑转子的位置和它们的初始方向,只有105456种可能性。虽然这还是一个很大的数字,但是把所有的可能性都试验一遍,已经是一件可以做到的事情了。 波兰人按照汉斯-提罗·施密特提供的情报复制出了ENIGMA样机。到了1934年,他们有了十几台波兰造ENIGMA。雷杰夫斯基和他的同事们每天都在ENIGMA前工作,一个接一个地试验转子的不同位置和初始方向,然后产生相应的字母对应表并构造相应的字母循环圈,并把它们记录下来。比如说其中的一个记录可以是这样的: 第一和第四字母对应表中有4个循环圈,长度分别为3,9,7,7; 第二和第五字母对应表中有4个循环圈,长度分别为2,3,9,12; 第三和第六字母对应表中有5个循环圈,长度分别为5,5,5,3,8; 当对所有105456种转子位置和初始方向都编好记录以后,破译ENIGMA生成的密文就比较容易了。首先要取得足够的当日电文来构造字母对应表并且写出字母循环圈;然后根据循环圈的数目和它们的长度从记录表中检索出相对应的转子位置和初始方向:这就是当日的密钥(连接板的情况还未知)。循环圈的个数和长度可以看作是这个密钥的“指纹”——通过建立密钥“指纹”档案,雷杰夫斯基就能及时地把当天的密钥找出来。通过分离转子的状态和连接板的状态,雷杰夫斯基大大简化了破译ENIGMA的工作。建立这样一个档案花了整整一年时间,工作相当艰苦,有时工作人员的手指都被磨出血来。 必须指出的是,上面对雷杰夫斯基的工作的介绍是极其简单化的,只以举例的形式介绍了其中最重要的思路。雷杰夫斯基对于ENIGMA的分析是在密码分析史上最重要的成就之一,整个工作都是严格地数学化了的(求解关于置换矩阵的方程),决非上面所举例子可以包含。比如说,找到当日密钥中转子状态后,还需要找到连接板状态,才能真正译出密文。另外,ENIGMA中转子中的线路并非总是固定不变,雷杰夫斯基的理论允许从密文和密钥倒推出转子内部的连线状态。即便是施密特提供的情报也未明确指出转子内部的连线状态,雷杰夫斯基一项重要工作就是成功地判断出军用型ENIGMA的转子上字母以字母表顺序排列,而不是如商用型那样,字母以键盘上的顺序排列。另外还要指出的是,雷杰夫斯基的同事,尤其是另两位数学家罗佐基和佐加尔斯基在破译工作中也作出了很重要的贡献。佐加尔斯基还设计了用在纸上钻孔的方法来迅速查询对应于某类字母循环圈的转子状态的方法。 在雷杰夫斯基和他的同事的努力下,波兰情报部门在后来的几年里成功地掌握了大量德国方面的情报。据估计,在1933年1月到1939年9月这六年多的时间里,波兰方面一共破译了近十万条德方的消息,其中最重要的有德国在包括苏台德地区兵力重新部署的情报,这对波兰的安全是极大的威胁。对ENIGMA的破解即便在总参二局领导层内部也属最高机密,军官们会收到标有“维奇尔”(Wicher,破译ENIGMA行动的代号)的情报,他们被告知这些情报绝对可靠,但来源绝密。1934年,纳粹德国元帅赫尔曼·戈林访问华沙,他怎么也没有怀疑波兰人已经掌握了他的机密。当他和德国高级官员向位处波兰密码处附近的无名战士墓献花圈时,雷杰夫斯基正透过办公室的窗子望着他们,心中为自己能知道他们最机密的通讯而狂喜不已。 当德国人对ENIGMA转子连线作出一点改动以后,花了一年功夫建立起来的密钥“指纹”档案就变得毫无用处了。但是雷杰夫斯基和罗佐基有了一个更好的主意。他们在ENIGMA的基础上设计了一台能自动验证所有26*26*26=17576个转子方向的机器,为了同时试验三个转子的所有可能位置的排列,就需要6台同样的机器(这样就可以试遍所有的17576*6=105456种转子位置和初始方向)。所有这6台ENIGMA和为使它们协作的其他器材组成了一整个大约一米高的机器,能在两小时内找出当日密钥。罗佐基把它取名为“炸弹”(La Bomba),可能是因为它运转起来震耳欲聋的声响;不过也有人传说,制造这样一台机器的主意是雷杰夫斯基一次在饭店里吃叫做“炸弹”的冰淇淋时想到的。无论如何,“炸弹”实现了密码分析机械化,它是对ENIGMA机械加密的一种很自然的回应手段。 30年代的大部分日子里,雷杰夫斯基和他的同事们不断地从事着寻找密钥的工作,时不时地还要修复出了故障的“炸弹”。他们不知道的是,在密码处处长格维多·兰杰(Gwido Langer)少校的抽屉里,已经有了他们正在绞尽脑汁试图寻找的东西。 事实上,在提供了两份极其重要的关于ENIGMA的情报后,汉斯-提罗·施密特还在继续向法国情报机关提供关于德国通讯的情报。在1931年后的七年中,他和法国情报人员接头二十次,每次都提供若干德国通讯用密码本,上面记载着一个月中每天使用的当日密钥。汉斯-提罗·施密特总共提供了三十八个月的密码。兰杰少校通过法国密码处(“第二处”)负责人居斯塔夫·贝特朗(Guistav Bertrand)上尉得到了这些密码本。如果雷杰夫斯基能够预先知道这些密码,无疑可以节省大量的时间,从而进行其他的同样十分重要的破译工作。 但是兰杰少校觉得雷杰夫斯基的小组应该习惯于单独工作,以便在将来得不到密码本的时候,也能同样破译ENIGMA。我们的确不知道,如果自1931年来没有这样的压力,雷杰夫斯基是否能够有上面所述的重要工作。 波兰密码局的破译能力在1938年的十二月达到了极限,德国人加强了ENIGMA的加密能力。每台ENIGMA机增加了两个可供选择的转子。原来三个转子不同的排列方式有6种,现在从五个转子中选取三个装入机器中的方式达到了5*4*3=60种。这就意味着要达到原来的效率,“炸弹”中必须有60台机器同时运转,而不是原来的6台。建造这样一台“炸弹”的价格是密码处总预算的十五倍!在1939年一月,连接板上的连线又由六根增加到十根,这样就只剩6个字母不会被交换。密钥的总数达到了一万五千九百亿亿个,是原来的一万五千九百倍。 虽然波兰数学家们成功地推断出了第四和第五个转子中的连线状态,雷杰夫斯基也证明了ENIGMA并非象德国人或盟国密码分析专家想象的那样坚不可破,但是他的方法终于也不适用了。这时兰杰少校应该从他的抽屉里拿出施密特提供的密码本来——但是正是德国人增加转子个数的时候,施密特停止了和法国情报部门的接头。七年中施密特不断地提供给波兰人能靠自己的力量破译的密钥,现在波兰人急需这些密钥,他们却再也搞不到了。 这对波兰是一个致命的打击。因为ENIGMA不仅仅是德国秘密通讯的手段,更是希特勒“闪电战”(blitzkrieg)的关键。所谓的“闪电战”是一种大规模快速协同作战,各装甲部队之间,它们和步兵、炮兵之间必须能够快速而保密地进行联系。不仅如此,地面部队的进攻还必须由斯图卡轰炸机群掩护支援,它们之间也必须有可靠的联络手段。闪电战的力量在于:在快速的通讯保证下的快速进攻。 如果波兰不能知道德军的通讯,那么想要抵挡德国的入侵是毫无希望的,现在看来这在几个月里就会发生。1939年4月27日德国撕毁同波兰签订的互不侵犯条约,侵占了苏台德地区;在德国国内,反波兰的声浪不断高涨。在此情况下,兰杰少校决定把直到现在还对盟国保密的关于ENIGMA的破译方法告诉盟国同行,以便在波兰遭到入侵后,拥有更大人力物力财力的盟国还可以继续对雷杰夫斯基的方法进行研究。 6月30日,兰杰少校致电他的英国和法国同行,邀请他们来华沙紧急讨论有关ENIGMA的事项。7月24日英法密码分析专家到达波兰密码处总部,全然不知波兰人葫芦里卖的什么药。具有讽刺意味的是,这次会面中用来交流使用的语言是……德语——这是唯一的在场三方所有人都懂的语言。兰杰少校将他们领到一间房间,在那里有一个被黑布蒙住的东西,当黑布被揭开时,英法的密码分析专家目瞪口呆。出现在他们眼前的是一台雷杰夫斯基的“炸弹”。当听到雷杰夫斯基破译ENIGMA的方法时,他们意识到波兰在密码分析方面比世界上任何国家先进至少十年。法国人尤其吃惊,他们以为他们得到的情报用处不大,所以很慷慨地把它们转给了波兰人,他们却让波兰人一直瞒到现在。英法密码分析专家对波兰同行的感激是无以言表的,直到那时,他们在破译德国密码的方面毫无进展。 兰杰少校给英法密码分析专家的最后惊喜是宣布赠送给他们两台ENIGMA的复制品,以及“炸弹”的图纸,它们由法国密码处的贝特朗(他现在是个少校了)通过外交邮包寄往巴黎。8月19日,在横渡英吉利海峡的渡船上有两位看似平常的旅客:英国作家沙夏·居特里(Sacha Guitry)和他的太太女演员依弗娜·普林坦普斯(Yvonne Printemps)。但是在他们的旅行箱里却藏着当时英国最高的机密:一台波兰制造的ENIGMA。为了避开无所不在的德国间谍的耳目,ENIGMA就这样来到了英国,在那里等待它的将是它的彻底灭亡。 两星期后的1939年9月1日,希特勒发动“闪电战”入侵波兰。9月17日,苏联入侵波兰。9月28日,德军占领华沙,波兰不复存在。 三、灭亡(上) 整整十三年里,英国人和法国人都以为ENIGMA是不可破译的,波兰人的成功重新鼓起了他们的勇气。虽然德国人已经加强了密码机的安全性能,但是波兰人的实践表明,ENIGMA决非坚不可破。波兰密码局的经验也表明,数学家在密码分析中能够起到多么重要的作用。在英国密码局(40局),以往都是由精于文字的语言学家或作家来担负起密码分析的重任,此后40局开始通过局内人际关系向牛津大学和剑桥大学招聘数学家和数学系学生。 英国的政府代码及加密学校(GC&CS, Government Code and Cipher School)是40局新设的机构,它的的总部坐落在白金汉郡的布莱切利公园(Bletchley Park)里,40局新招聘的密码分析专家就在那里学习和工作。布莱切利公园的中心是一座歌特都铎式的城堡,19世纪时由金融家赫伯特·莱昂(Herbert Leon)爵士建造,GC&CS的领导机构就设立在它的图书馆、宽大的餐厅以及装饰得富丽堂皇的舞厅里。从城堡的 底层望出去,外面是宽阔的花园。不过在1939年的秋天,那里的风景可不怎么样,花园里戳满了新建的小木屋,那是密码分析人员的工作场所,各种信息在担负不同任务的小木屋进进出出。比方说,6号木屋是负责破译德军ENIGMA电报的,从那里出来的明文由3号木屋翻译并进行综合情报分析;8号木屋专门负责对付德国海军的ENIGMA,这是一种特别复杂的ENIGMA机,和普通型不同,它有四个转子,在这里破译的情报由4号木屋中的情报人员翻译和分析。一开始在布莱切利公园工作的只有大约二百人,可是到了五年后战争结束时,城堡和小木屋中已经多达七千人! 英国数学家和其他密码分析人员很快就掌握了波兰人进攻ENIGMA的技巧和方法。布莱切利公园拥有比波兰密码处多得多的人员和资金,所以足以对付由于德国人对ENIGMA的改动而增加到原来十倍的破译工作量。和在波兰密码处的情景一样,布莱切利公园的男女们日夜紧张工作,为的就是找到德国人当天的密钥。一到午夜,转子和连线板的设置就会变动,一切又要重新开始。 由此而破译的情报极其珍贵。如果布莱切利公园能够及时得到德军的情报,德国人的计划和行动就会暴露无遗。如果德军计划一次进攻,英军就可以采取相应的增援或撤退措施;更妙的是,如果德国将军在他们的电报中争论己方的弱点,英国军队就可以采取德国人最担心的计划。1940年4月德国入侵丹麦和挪威,布莱切利公园取得了一份详细的军事计划。同样在英伦战役之初,密码分析人员准确预告了德军轰炸的准确时间和地点,并且取得了德国空军(Luftwaff)极为宝贵的情报,比如飞机的损失情况,新飞机的补充数量和速度等。这些情报被送往M16的总部,再由那里转送战争部、空军部和海军部。 布莱切利公园的密码分析专家们有时也有点空余时间,最受欢迎的消遣活动是圆场棒球,球赛就在那座城堡前的草坪上举行。和自自在在的大学生一样,这些肩负着重任的男女也经常为一个有争议的球严肃地争论得面红耳赤。 在掌握了波兰人对付ENIGMA的手段后,英国密码分析专家也开始摸索出自己独特的方法。在正式用“炸弹”开始系统搜索当日密钥以前,他们总要试一遍“投机取巧”的门道。根据德军通讯的规定,每一条电文都要随机选择三个不同的字母组合,但是在激战之时,德军指挥官经常顾不上“随机”,往往在键盘上敲上三个相邻的字母了事,比方说DFG或者VBN,有时甚至重复使用某三个字母的组合来当密钥。英国密码分析专家把这样的密钥叫“西尔丝”(cillies),即三字母组合CIL的读音,大概来源于哪位倒霉德国军官的女友的名字。 “西尔丝”并非ENIGMA本身的弱点,而是ENIGMA使用者的弱点。另一种更为严重的人为使用错误是密钥本编制者对密钥使用过分严格的规定。为了强调密钥的不可预见性,他们规定每天在三个放置转子的位置上,不得有和昨天放在此位置上相同的转子。比如说每台ENIGMA机一共配备编号为1、2、3、4、5的五个转子,而前一天所使用的转子顺序为134,那么第二天可以使用例如215这样的转子顺序,但是214这样的顺序是不允许的,因为和前一天相比较,在第三个位置上都是4号转子。看起来这样交叉使用转子是个好主意,避免了象上面所说的重复使用某个密钥的过失,但是如果过分强调这一点,却会使英国密码分析专家的工作量减小一半,因为在开始分析当日密钥前,他们就可以把所有至少有一个转子处在前一日位置上的那些转子的排列排除在外了。德军密钥编制的另一条规定是,在连接板上不允许把两个相邻的字母连接起来。直觉似乎告诉人们不该使用这样简单的字母交换,但是这样的规则搞得太严格过了头,也就反而会帮对手的忙,对手根本就不用考虑这样的可能性了。 在整个战争过程中,ENIGMA机被不断改善,所以这样的“投机取巧”也变得十分重要,密码分析专家可以通过对密钥的猜测来推断出密码机新的变动,从而相应地改善“炸弹”的设计,使用新的策略。英国人能够在战争其间成功地持续破解ENIGMA密码,和小木屋里各种各样不同寻常的怪才的努力分不开。他们之中有数学家,各类科学家,语言学家,象棋冠军,填字游戏高手……一个难题经常从一只手传到另一只手,直到它最终得到解决;也有可能一个人解决一点,再由另一个人解决另一部分……按照6号木屋的负责人戈尔登·魏齐曼(Gordon Welchman)的话来说,这是“一群想方设法嗅出一条线索的猎犬”。 在布莱切利公园有一大群为破译ENIGMA作出了卓越贡献的人们。但是如果只能选择性地讲述一个人的功绩,那么这个人无论如何应该是阿兰·图灵(Alan Turing)。 图灵1912年6月23日在伦敦出生,他的父亲是当时英国殖民地印度南部的行政官员。他的父母为了使儿子在英国出生,暂时从印度回到了英国。图灵出生后不久他父亲重新回到印度,十五个月后他的母亲也离开英国返回印度,把图灵一个人留在伦敦,由保姆和朋友抚养长大,一直到了图灵上寄宿学校的年纪。 1926年,14岁的图灵进入了雪伯恩(Sherborne)学校就读。上学的第一天恰好碰上罢工,为了不错过就学典礼,图灵从南安普敦到雪伯恩一气骑了一百公里的自行车,为此他上了当地的报纸。在学校里一年下来,他给人的印象是个爱害羞,做事笨手笨脚的男孩,但是在自然科学方面充满才华。雪伯恩学校是培养为大英帝国效力的男子汉的地方,图灵的性格却似乎于此不合拍,所以那几年他的学校生涯不免有些难捱。 在学校里他唯一的朋友是一个名叫克里斯多夫·莫尔贡(ChristopherMorcon)的男孩。他俩都热爱科学,经常在一起谈论最新的科学发现,做各种科学小实验。这段友谊激发了图灵对科学的兴趣,他对莫尔贡的感情似乎也超出了朋友的范围,成为一种依恋。但是莫尔贡永远不会知道这点了,在他们认识的第四年,1930年的2月13日,他死于突发性结核病。这对图灵是一个巨大的打击,他失去了唯一的朋友。似乎是为了让自己代替朋友活着,他学习更加努力。在去世前莫尔贡已经取得了一份剑桥大学的奖学金,图灵决定自己也将进入剑桥大学学习,去完成亡友的未竟事业。 1931年图灵如愿以偿地进入剑桥大学国王学院。当时的数理逻辑学界正热烈地讨论着二十世纪最伟大的数学发现之一——昆特·哥德尔的不完全性定理。在那以前,数学家们总以为,一个数学问题,虽然要找到回答也许很困难,但是理论上总有一个确定的答案。一个数学命题,要么是真的,要么是假的。但是哥德尔的不完全性定理指出,在一个稍微复杂一点的数学公理系统中,总存在那样的命题,我们既不能证明它是真的,也不能证明它是假的。数学家们大吃一惊,发现以往大家认为绝对严明的数学中原来有如此令人不安的不确定性。 每个逻辑学家都在苦苦思索,试图替陷入了危机的数学找到一条出路,他们包括当时在剑桥的贝特朗·罗素(Bertrand Russell)、阿尔弗雷德·怀特海(Alfred Whitehead)、路德维格·维特根斯坦(Ludwig Wittgenstein)这样著名的逻辑学家。在这种环境下,图灵作出了他一生中最重要的科学贡献,在他著名的论文《论可计算数》(On Computable Numbers)中,他提出了日后以他名字命名的虚拟计算机器——图灵机。 三、灭亡(中) 图灵设想的虚拟机器拥有一条无限长的纸带、一个读写头,和一个控制装置。控制装置具有有限个内部状态,它能够根据这些内部状态来控制读写头作出相应的动作,比如说沿着纸带前后移动,在纸带上记录改变或抹去信息,或者读取纸带上的信息并据此改变自己的内部状态。你可以把纸带上的信息看做是指令或者数据,读写头根据这些指令和数据来完成一系列的动作。图灵提出了各种各样这样的机器,有些能做加法(只要在纸带上先写好两个数,然后让图灵机运行,最后机器停止时写在纸条上的那个数就是起先两数的和),有些能做乘法,等等等等。当然有些似乎什么也不做,或者在纸带上乱涂乱画,而另外有一些,好像永远也不停下来。这就是在信息科学史上和“冯·诺依曼机器”齐名的“图灵机”。 图灵机的个数是可数无限个,所以我们可以用自然数把所有的图灵机都标上号。图灵发现了这样一种图灵机,它能够做到任何一台图灵机能办到的事情,只要在纸带上首先标出想要模拟的图灵机的号码,然后给出相应的输入,最后它的输出将是号码被指定的那台图灵机的输出。可以说这是一台“万能”图灵机,当然它只是一种理想的计算模型,或者说是一种理想中的计算机。事实上我们平时使用的计算机就可以被看做是这样一台“万能”图灵机(只是它没有一条无限长的纸带,也就是内存。不过如今内存便宜得这个模样,对于一般的问题来说,差不多可以说有无穷的内存了),纸带上的那些指令就相当于程序和数据,如果程序不同,计算机可以完成的任务也不同。 图灵发现,有些问题是这台“万能”图灵机也不能回答的。比如说著名的“停机问题”:给定一台图灵机的编号,和纸带上的输入,是否总能回答它最终是否会停下来?不能。这是和哥德尔不完全性定理密切相关的,图灵的结果从另一个侧面支持了数学中的“不确定性”。但是和不完全性定理不同的是,图灵的成果给数学家指出了一条具体构造这样一台“万能机器”的途径。虽然那还是在二十世纪的三十年代,当时的技术能力还不能将图灵的设想变为现实,但是他毫不怀疑自己的设想能够实现。这无疑是二十世纪科学理论最重要的发展之一,在计算机被广泛应用,甚至影响到我们每个人的日常生活的今天来看,尤其如此。当年,图灵年仅二十六岁。 这是图灵事业最为辉煌的时期,他在国王学院取得了教职,在剑桥过着平静的学术生活。1938年迪斯尼公司著名的动画片《白雪公主和七个小矮人》上映,图灵兴冲冲地跑去看。在后来的一些日子里,他的同事听见他不停地哼哼电影中巫婆王后泡制毒苹果时的歌:“毒液浸透苹果,如睡之死渗入。” 在布莱切利公园里,每天他花一部分时间和其他人一样在小木屋里进行破译密码的工作,而另一些时间他就呆在被称为“智慧水箱”(Think Tank),原来用来放水果的储藏室里。在那里密码分析专家思考在未来日子里有可能碰到的难题以及它们的解决方法。 直到当时,对ENIGMA的破译都采用雷杰夫斯基的方法,即利用每条密文最开始重复的密钥。如果此电文的密钥为YGB,那么电文开头就是六个由YGBYGB加密而成的字母,德国人以此来预防可能的传送错误。但是这是ENIGMA使用中的一个重大弱点,德国人很可能会发觉这一点并取消这种重复,这样就会使英国密码分析专家的破译手段变得毫无用处。图灵的任务就是要找到另一种不必利用重复密钥的破译方法。 在分析了以前大量德国电文后,图灵发现许多电报有相当固定的格式,他可以根据电文发出的时间、发信人、收信人这些无关于电文内容的信息来推断出一部分电文的内容。比方说,德国人每天的天气预报总在早上六点左右发出,要是在六点零五分截获了一份德国电报,它里面八成有Wetter这个词,也就是德文中的“天气”。根据在此之前德国人天气预报电文的死板格式,图灵甚至能相当准确地知道这个词具体在密文的哪个位置。这就使得图灵想到了用“候选单词”这一方法来破译ENIGMA电文,在英语中,图灵把这些“候选单词”叫做Cribs。 如果在一篇密文中,图灵知道Wetter这个词被加密成了ETJWPX,那么剩下的任务就是要找到将Wetter加密成ETJWPX的初始设置。如果采用一个一个试过去的暴力破解法,那就会碰到1590亿种组合这个大问题。但是雷杰夫斯基的天才思想告诉图灵,必须把转子方向变化造成的问题和连接板交换字母造成的问题分开来考虑。如果他能够象雷杰夫斯基那样发现在Cribs中某些不随连接板上连线方式变化的特性,他就可以最多只用尝试1054560次(60种转子放置方法乘以17576种转子初始方向)便可找到正确的转子设置。 图灵找到了这样的特性。这是一种和雷杰夫斯基发现的循环字母圈类似的东西,只不过这回和重复的密钥没有关系,却是基于候选单词。假设图灵已经正确地猜到wetter被加密成了ETJWPX,这里就存在着一个字母循环圈: 这看起来好像还是让人摸不着头脑,但是图灵想的办法很巧妙,因为在这个字母循环圈里有3个字母,所以他想像如果用3台ENIGMA同时加密这个候选单词,会发生些什么事。三台ENIGMA的初始设置除了转子方向外完全一样,第一台ENIGMA机的转子初始方向被定为原来的S,而第二台ENIGMA机的转子初始方向却是S+1,第三台的转子初始方向是S+3。当然一开始图灵根本就不知道这个S具体是什么(要是知道的话密码也就破译出来了),所以只能一个一个方向地试。大家可能会问,那为什么需要3台ENIGMA呢?只要在第一台上我们发现了一个把wetter加密成ETJWPX的转子方向,不就找到了密码吗? 这就要考虑连接板的问题。上面我们说过,如果只用一台ENIGMA来试所有的密码,我们要试的就不仅仅是所有的转子方向,而且还要考虑所有的连接板上的连线方向,那个数目是1590亿种。图灵的绝妙主意就是用3台ENIGMA把连接板上连线的效应抵消掉!这样他就只要考虑1054560种转子方向就可以了。 图灵把三台ENIGMA的显示器按下图的方式连接起来,也就是说 E←→L1 T←→L2 W←→L3当然这里的L1、L2和L3都还是未知的。 现在假设字母w被输入第一台ENIGMA,它先通过连接板变成了L3,然后通过三个转子经过反射器,再通过三个转子返回连接板;因为我们根据候选单词知道w此时会被加密成E,所以没有经过接线板前它一定是和E对应的L1;L1经过接线板变成E后,直接成了第二台ENIGMA的输入。提醒一下,第二台ENIGMA的转子方向是S+1,所以根据候选单词知道e此时会被加密成T,我们来看看具体是怎么回事。从第一台ENIGMA来的e通过连接板变成了L1,再通过转子和反射器回来变成了连接板上和字母T对应的L2;通过连接板后变成了T,然后这个T又变成第三台ENIGMA机上的输入t。第三台ENIGMA机的转子方向是S+3,这个传送过来的t会被加密成E,具体的情况和上面第一第二台上的类似。我们发现现在三台ENIGMA机的线路组成了一个闭合回路,如果在里面加上一个灯泡,它就会亮起来。这个闭合回路事实上就是那个字母循环圈的形象化。 稍微思考一下就可以看到,无论连接板上的连线实际如何(也就是说无论L1、L2和L3实际上是什么),只要转子方向凑对了,这个闭合回路就会形成(当然如果有闭合回路形成不等于这个方向就一定是正确的,但是这样的情况很少,用手工就可以把正确的方向从中选出)。就这样,连接板上的连线效应被消除了。找到了转子的初始方向S,当然还要找到连接板上的连线,才能最终找到完整的密钥,但是这就相当简单了,这只是一个简单替换密码。如果在一台普通的ENIGMA上不接连线板,调整好找到的转子方向,键入密文ETJWPX,出来的明文成了tewwer,我们马上就知道w和t被交换了。键入密文的其他部分可以猜出其他字母的交换状况。 把候选单词,字母循环圈和用线路连接起来的多台ENIGMA机构成了密码分析的强大武器。而只有图灵,这个数学虚拟机器的发明人,才能有这样的想像力。图灵对ENIGMA的破译方法完全是纯数学和理论性的,他为此写了一篇著名的论文,在http://frode.home.cern.ch/frode/crypto/Turing/你可以读到这篇论文的一部分。但是他的理论研究已经完全可以让工程师来实际造出这样一台机器了。 布莱切利公园得到十万镑的经费来研制这种机器,绰号仍叫“炸弹”(bombes)。每个“炸弹”里都有十二组转子(因为根据上面的分析,显示器,连接板实际上都没必要存在了。而上面的例子里只要三台ENIGMA的原因是字母循环圈的长度是3,十二组转子的目的就是要攻击更长的字母循环圈)。一台这样的“炸弹”高两米长两米宽一米。图灵的研究于1940年初完成,机器由英国塔布拉丁机械厂(British Tabulating Machinery)制造。 图灵的发明赢得了他在布莱切利公园的同事的尊敬,大家把他看做是超群的密码分析专家。他的一位同事彼得·希尔顿(Peter Hilton)回忆道:“图灵毫无疑问是个天才,而且是个极近人情的天才。他总是愿意花费时间和精力来解释他的想法。这不是一个钻在狭窄领域里的专家,他的思想遍布科学的许多领域。” 当然图灵的工作在布莱切利公园之外是绝对机密,就连他的父母都不知道他在干破译密码的工作,因为他是全英国最厉害的密码分析专家。有一次去看他母亲时图灵提到过他正在为军事部门工作,但是没有透露其他风声。他母亲在意的是他儿子剃的头很难看。虽然领导布莱切利公园的是些军人,不过他们也知道在生活细节上不能对这些知识分子严格要求,在这方面都是睁眼闭眼。图灵就经常不刮脸,穿着皱皱巴巴的衣服,指甲又长又黑。但是军队没有过问图灵的同性恋,是因为他们不知情。布莱切利公园的退伍军人杰克·古德(Jack Good)后来说:“幸亏布莱切利公园的负责人不知道图灵是个同性恋,否则的话,我们就会打败这场战争。” 1940年3月14日第一台“炸弹”运抵布莱切利公园。可是它运行得太慢,有时要一个星期才找得到一个密钥。工程师们花了很大的努力来改善“炸弹”的设计,然后开始制造新的“炸弹”,这又花了四个月时间。但是在5月10日,最令英国密码分析专家担心的事情发生了,德国人改变了密码传递规则,他们的密钥不再重复,这使得布莱切利公园破译的电文量急剧下降。幸运的是,改进以后的“炸弹”在8月8日到达,而且这次它运行得很好。在接下来的八个月里,十五台新“炸弹”在布莱切利公园里轰然作响。一般上一台“炸弹”可以在一小时里找到一个密钥。 但是并非有了“炸弹”就万事大吉了。在让它运行之前还有许多困难要克服。比如说使用“炸弹”前先要找到一个候选单词。但是密码分析人员不能保证他猜的词一定在电报的明文中;就算猜对了,要把候选单词所在的位置正确地找出来也不是一件容易的事情,很有可能他猜到了电文中的一整句话,但是把这句话的位置搞错了,那“炸弹”也就白白运行了。密码分析人员找到了一些技巧,比如说,他知道下面“wetterbullsechs”一定在电文明文中,但是具体位置却只知道个大概。于是他猜想密文和明文的对应是: 候选单词: wetterbullsechs 密文:IPRENLWKMJJSXCPLEJWQ在介绍ENIGMA的构造时我们知道,由于反射器的作用,一个字母从来也不会被加密成它本身。所以上面的候选单词所对应的位置一定是不对的,因为第二个字母e被对应到E上了。解决方法可以是慢慢地移动候选单词,看看是否每个字母都对应一个和自己不同的字母。比如把上面例子中的候选单词向左移动一位,变成 候选单词: wetterbullsechs 密文:IPRENLWKMJJSXCPLEJWQ现在就符合要求了,所以此时才可以让“炸弹”去试试它的威力。 英国领导高层当然非常注重密码分析工作,温斯顿·丘吉尔亲自访问了布莱切利公园,他把这帮具有稀奇古怪才能的密码分析专家称为“从不呱呱叫的下金蛋的鹅”。在图灵和他的同事的努力和丘吉尔的亲自过问下,布莱切利公园解决了经费和人员缺乏的困难。到1942年底,密码局拥有49台“炸弹”,密码分析人员的队伍也在不断扩大。事实证明玩填字游戏的高手往往会成为密码分析的高手,英国情报部门甚至在报纸上登出填字游戏来招聘新的密码分析人员。 三、灭亡(下) 在前面的记述中读者似乎会有这样一种感觉,所有的ENIGMA机都是一样的,而密码分析人员在找到破译的方法以后每天按部就班地进行破译工作。但事实上,德军内部有好几个不同的通讯网络,比如说,在北非的德军就有自己的一套通讯网,他们的密码本和在欧洲的德军网络不同,德国空军也有自己的通讯网络。某些通讯网络的保密性要强于其他的,而德国海军通讯网的保密性是最强的,它使用的ENIGMA机是经过强化特制的,它有八个转子可供选择,这样转子的初始位置数就几乎是五个转子情况的六倍,于是布莱切利公园破译它所需要花费的时间也几乎是普通情况的六倍。另外海军用的ENIGMA机的反射器是可以转动的,于是密钥的可能性就是原来的二十六倍。有一些海军型ENIGMA机甚至有四个转子。德国海军为了加强通讯保密性,甚至取消使用固定的信件格式,这样就使图灵的“候选单词”法极难被使用。另外它的每条电文的密钥也以一种不同于平常的方式传送。 德国空军和陆军的ENIGMA密文都能比较顺利地被破译,但是德国海军的这些保密措施使得英国密码分析人员在破译电文时遇到极大的困难。在大西洋海战中这使英国付出了极大的代价。德国海军元帅邓尼茨使用“狼群战术”来对付英国的海上运输线。首先,德军众多的潜艇分散在大西洋广阔的海域中,试图寻找合适的目标;如果其中有一艘潜艇发现目标,它就会通知其它潜艇赶来增援;一旦在此海区中潜艇数量足够,它们就向目标发动进攻。很显然,在这种需要高度协作的战术中,保密和快速的通讯起着决定性的作用,而如果英国方面不能及时破译这些通讯内容,所遭受的打击是毁灭性的。 当时欧洲大陆尽陷纳粹魔掌,英国抗战所必需的食品弹药几乎完全依靠从大西洋上运来的美国援助。如果盟军不能知道德军潜艇在汪洋大海中的位置,那么就不能有效地对付狼群战术,也就不可能有一条安全的运输线。在1940年6月到1941年6月一年间,盟军平均每月损失五十艘船只,而且建造新船只的能力已经几乎不能够跟上损失的步伐;与此相联系的还有巨大的人命损失——在战争中有高达五万名水手葬身大西洋底。英国面临在大西洋海战中失败的危险,而在大西洋海战中失败,也就意味着在整个战争中失败。 即使在破译密码这样的所谓“数学家的战争”中,军事和间谍手段也是必不可少的,汉斯-提罗·史密特的情况已经足够说明问题了。如果布莱切利公园不能用破译的手段来取得密钥,那么间谍、渗透以致于窃取等手段也成为必需。英国皇家空军有时采取一种名叫“播种”的手段来帮助取得布莱切利公园破译密钥所需的“候选单词”。空军在某个特定的海区布撒水雷,迫使在附近的德国舰艇向其他舰艇发送有关雷区的情报,这个情报里必定包含着对此雷区所在方位等的描述,而这是英国人早已知道的,于是从中就可以确定“候选单词”。但是为了避免德国人的疑心,这样的花招不能时时使用,所以还需要许多其他的方式。 当时在英国情报部门工作的扬·弗莱明(Ian Fleming),也就是后来大名鼎鼎的007系列小说的作者,甚至策划了这样一个代号“杀无赦”的计划:在英吉利海峡中让一架被俘的德军轰炸机在一艘德国舰艇附近坠毁,等到德国舰艇赶来救援时,机上假扮成德国飞行员的英国谍报人员趁机混上德国舰艇以窃取密码本。这个几乎是疯狂的计划最后由于种种原因而没有实行。 除了要获得密码本外,了解德国海军特制ENIGMA机尤其是它的转子线路无疑也是破译密码所必需的。1940年2月德国潜艇U-33在苏格兰附近海面被击沉,英国情报部门因此能获得海军用ENIGMA机上的三个转子,使得密码分析人员能对这种特别的ENIGMA机有所了解并对截获的密文作部分的破解;同年4月在挪威,盟军俘获了一条德国拖捞船,从上面取得了几份关于ENIGMA的资料并送交图灵研究。但是在还没有取得任何进展之前,德国人就改换了转子结构,密文重新又变得牢不可破了。1941年3月4日在盟军特种兵对挪威罗弗敦群岛的突袭中缴获了两台海军用ENIGMA机,于是盟国重新能够部分破译德海军情报。幸运的是这一次邓尼茨元帅相信了他的密码专家的夸口,认为ENIGMA不可破译,没有再次改变密码机的设置。 1941年春天,布莱切利公园的一位密码分析人员哈里·辛斯利(Harry Hinsley)意识到,在德军的气象船和补给船和德国海军使用的是同一套ENIGMA系统。问题在于要周密计划俘获这些船只取得密码本而不使德国海军指挥部起疑心。5月7日,在一次高度机密的行动中,英国皇家海军俘获了德国气象船慕尼黑号,取得了六月份的密码本。两天后在一次巧遇中英国驱逐舰迫使德国潜艇U-110浮出水面,由于德国人以为潜艇很快就要沉没,他们没有及时销毁艇上的ENIGMA机和密码本。在六月份英军又俘获了一艘德军气象船劳恩堡号,取得六月和七月的密码本。这些进展使得布莱切利公园对海军型ENIGMA机有了比较充分的了解。虽然直至战争结束,德国人仍不时改进他们的加密系统,但是英国方面一般来说总能用各种方法跟进,包括上面所说的军事和间谍手段,或者提高“炸弹”的数量和威力,密码分析人员的经验也不断增加。虽然如此,这样的变化总会为密码破译带来暂时的困难,从而可能遭遇严重的问题,比如北冰洋航线上PQ17运输轮沉没的严重损失。最大的此类危机发生在1942年2月1日,德军潜艇通讯网开始使用前面提到的四转子ENIGMA,新增加的这个转子使得盟军的损失大量增加。但是由于同时期美国开始参战,德军潜艇在美国东海岸的频频得手避免了德军总部把近期的胜利和增加转子一事联系起来。 无论如何,通过军事、情报当然还有密码分析人员的努力,盟军终于能够了解德国“狼群”的位置,从而为运输船队选择一条安全的航线,不仅如此,英国海军的驱逐舰甚至还能主动出击,寻找德军潜艇并将其击沉。但是这里还是存在着如何恰到好处地使用所得到的情报,以免德军总部怀疑他们的最高机密已被破译的问题。正所谓兵不厌诈。通过对ENIGMA的破译,盟军能够知道德国潜艇的位置,但是击沉所有这些潜艇是愚蠢的,因为突然升高的损失不可避免地会使德国人猜测到他们的通讯并不安全。所以盟军经常放掉一些已经到手的肥肉,只攻击那些被侦查机发现的潜艇,当然盟军也会发出一些假的侦查到潜艇的消息来掩盖随之而来的攻击。有一次布莱切利公园破译了一条电文,其中有九条德国油轮的方位,为了避免德国人起疑心,英国海军总部决定只进攻其中的七条油轮。这七条油轮沉没后,对破译ENIGMA和需要保持秘密一事一无所知的皇家海军舰队“不幸”恰好又碰上了另两条倒霉鬼,于是也将它们送入了海底。在柏林德国人为此事进行了调查,但是他们的疑心集中在这是一次偶然的事件,还是由于英国谍报人员的渗透,没有人怀疑这是英国人破译ENIGMA所取得的胜利。 布莱切利公园所破译的不仅仅是德国的ENIGMA密码,在战争期间他们同样破译了意大利和日本的密码系统,这三方面的情报来源被冠以“Ultra”的代号,意为“绝密”。通过Ultra提供的情报,盟军在战场上取得了明显优势。在北非,Ultra使得盟军能够切断德军的供给线,得到隆美尔将军部队的情报,使第八军团成功抵御了德军的攻击;在德军进攻希腊的战役中,依靠Ultra英军成功撤退避免了大量伤亡;Ultra提供了敌军在地中海地区的详细分布情报,这对盟军1943年在意大利和西西里登陆至关重要。 但是最重要的是,Ultra在盟军诺曼底登陆中起了不可磨灭的作用。在登陆前的几个月里,依靠Ultra,盟军获得了德军在法国沿海的布防的详细情报,从而能够及时地针对敌军的虚实强弱之处改进登陆计划。 但是布莱切利公园的工作人员并不知道诺曼底登陆计划,在预定登陆的前夜,他们举行了一次舞会,这使公园里唯一知道登陆计划的负责人特拉维司(Travis)很不高兴,但他又不能下令取消这次舞会,因为这会走漏风声,使人猜想有什么重要行动即将进行。幸亏由于天气的原因,登陆行动推迟了二十四小时,密码分析专家们于是才有机会把舞跳了个痛快。登陆当天法国抵抗组织成员切断了陆上电话线路,迫使德军使用无线电报联络,密码分析人员因此截获了大量情报。 美军对Ultra的一份评价报告中是这样说的:“在高级指挥官和政治首脑之中,Ultra创造了这样一种改变了决策方式的精神状态。敌人的所做作为都逃不过你的视线,这给予你信心;在你观察敌人思想和反应,他的一举一动时,这种信心不断增强。对敌人有这样程度的了解能够使你的计划大胆而又有保证,坚决而又乐观。” 在二次大战盟军的胜利中,对布莱切利公园是否起了决定性的作用这点,历史学家自然有大量争议,但是毫无疑问的是,布莱切利公园的密码分析专家大大地加快了战争的进程。这在大西洋战役的历史中尤其明显。如果没有Ultra,德军就能在大西洋上保持一支强大的潜艇群和反应能力,相反地盟军必须付出巨大的人命和财力的代价来建造新的船只和保持运输能力。历史学家估计盟军的登陆计划会被推延到次年,而哈里·辛斯利则认为,在此情况下,战争很可能要到1948年,而不是在1945年,才能结束。如果是这样,希特勒将能够更大规模地使用V1和V2飞弹对整个英国南部进行轰炸。 历史学家大卫·凯恩(David Kahn)评价Ultra的作用时说:“这拯救了生命。不仅仅是俄国人和盟军的生命,它也拯救了德国人,意大利人和日本人的生命。对许多在二次大战后幸存下来的人来说,没有这个方案,他们将已不在人世。这就是这个世界欠这些密码破译者的债务:他们的胜利折换成人类生命的价值。” 四、尾声 战争结束后,布莱切利公园的秘密却仍不能被公之于众,英国人想继续利用他们在这一领域的优势。他们把在战争中缴获的数以千计的EBIGMA机分发到英国原殖民地,那里的政府仍旧以为ENIGMA是坚不可破的。 布莱切利公园的密码学校被关闭了,“炸弹”被拆毁,和战时密码分析和破译工作有关的档案资料有的被销毁,其他的都被封存,严密地看护起来。在几千名原来的工作人员中,有一些成员得以继续为军方新的密码分析机构工作,但是大多数人都被遣散,转回了原来的平民身份。他们宣誓对在布莱切利公园的经历保守秘密。 从战场上回来的老战士们可以自豪地谈论他们在二战中的战斗经历,但是在布莱切利公园工作过的人们却不得不隐瞒自己在战争中为国家作出的贡献。一位曾在6号小木屋中工作过的年轻密码分析专家甚至收到了一封他早年所在的中学的老师寄来的信,责骂他在战争中逃避战斗的懦夫行为。 经过长期的沉默后,直到1967年,波兰出版了第一本关于波兰在破译ENIGMA方面的工作的书;1970年一名原德军海军情报人员出版了一本有关书籍;1973年贝特朗上校出版了关于波兰和法国在二战初期破译ENIGMA密码方面的工作的书。最后打破沉默的是英国人。原布莱切利公园负责Ultra情报分配工作的温特伯坦姆(F.W.Winterbotham)上校向英国政府写信,要求将这些秘密公之于众,因为此时世界上已经没有哪一个政府使用ENIGMA加密了,所以也已经完全没有必要再对破译ENIGMA一事保密。在战争中为国家作出贡献的人们的功绩应该受到应有的承认。经过温特伯坦姆的努力,英国政府终于同意了他的请求。1974年夏,温特伯坦姆写的《超级机密》(The Ultra Secret)一书出版,使外界广泛知道了二战中默默工作的密码分析专家的丰功伟绩。原布莱切利公园的工作人员因此知道他们不用再为自己在二战中的经历保守秘密了,他们的贡献也为世人所称赞。 对温特伯坦姆的书最感吃惊的也许就是雷杰夫斯基,这位首先发现ENIGMA弱点的波兰英雄了。1939年9月1日德军入侵波兰后,在法国密码处的贝特朗少校的指挥下,他和另两位为破译ENIGMA作出巨大贡献的波兰数学家罗佐基和佐加尔斯基带着他们的机器逃往罗马尼亚,从那里穿越南斯拉夫和意大利的边界到达法国巴黎。他们成立了Z小组,在法国维希继续进行ENIGMA的破译和“炸弹”的改进工作。在那里他们独立工作了两年之久,破译了九千条以上的德军情报,许多情报导致了德军在南斯拉夫,希腊和苏联的惨败,也有力地支援了盟军开辟北非战场的计划。 1941年下半年,罗佐基穿越地中海到法属阿尔及利亚,为设在那里的一个Z小组的ENIGMA监听站工作。1942年1月9日,罗佐基搭乘Lamoriciere号返回法国,在回程中客船在Balearic岛附近撞上了一个水下不明物体(礁石或水雷),罗佐基和船上的221名乘客一起遇难,同时遇难的包括另两名的密码分析专家。 遭到入侵后的法国变得越来越危险,德国人密切监视着维希,Z小组决定逃离法国。1942年11月9日,就在盟军在北非登陆的次日,两位波兰数学家开始继续他们的流亡。1943年1月29日,他们从比利牛斯山脉穿过法国西班牙边境,不幸被西班牙安全警察逮捕,投入了难民营。在那里他们始终没有向其他人透露过他们的真实身份。五月份他们被释放,前往葡萄牙直布罗陀,在那里乘船,终于到达英国。在那里他们进行另一种德军密码SS码的分析工作。虽然英国人知道他们对破译ENIGMA作出的杰出贡献,却宁可把他们排除在破译ENIGMA的重要工作以外。 佐加尔斯基从此留在了英国,战后在巴特尔西(Battersea)技术学院任教,于1978年在普利茅茨去世。雷杰夫斯基战后回到了波兰,西班牙的难民营使他患上了风湿症。在波兹南大学他担任不重要的行政工作,直到1967年退休。温特伯坦姆的书使他第一次得知,他对ENIGMA的攻击方法是整个二战期间盟军破译德军ENIGMA码的基石。1980年雷杰夫斯基去世,享年75岁。 对于许多人来说,他们没有雷杰夫斯基那样幸运,这本书也许出版得太晚了。邓尼森(Alastair Dennison)是布莱切利公园第一任主任,在他去世后多年,他的女儿收到了他原来的同事的一封信:“你父亲是一个伟大的人,很长的时间里,如果不是永远的话,所有说英语的人都欠着他一份债。只有很少的人知道他做了什么,这真是令人伤感的事情。” 2000年7月17日,波兰政府向雷杰夫斯基、罗佐基和佐加尔斯基追授波兰最高勋章。波兰总理布泽克在仪式上发表讲话指出:“对许多人来说,ENIGMA的破译是对盟军在二战中胜利的最大贡献。” 值得一提的是,即使是在关于ENIGMA的秘密被公之于众后,在非常长的一段时间里,波兰数学家在这方面的重大贡献没有得到应有的承认。大量的书籍和资料(包括温特伯坦姆的书,以及大英百科全书)把破译ENIGMA的功劳完全归于英国密码分析机构,对于波兰人在此事中所起作用不置一词。波兰的密码分析专家从未受到过盟国(美英法)的表彰。长期以来这使波兰对英国耿耿于怀。 具有讽刺意味的是,当2000年好莱坞影片《U-571》上映时,遭到了大量英国舆论的批评。影片描述了美国海军机智勇敢地夺取德国潜艇上ENIGMA机的故事。英国舆论认为,首先从德国潜艇上夺取ENIGMA机的是英国皇家海军,美国人这样做是把他人之功据为己有。 2000年9月英国约克公爵安德鲁王子在访问波兰时,代表英国政府将一台从德国潜艇上缴获的ENIGMA机赠送给波兰,表示对波兰在破译ENIGMA密码中作出的贡献的感谢。在演讲中他说:“如果没有波兰数学家的发现,ENIGMA密码可能不能被破译。”波兰总理布泽克对英国正式承认是由波兰人首先破译ENIGMA的态度表示“非常满意”,同时也希望能够早日改写大英百科全书中的有关条目。在1999、2000和2001年,在布莱切利公园都举行“波兰日”的纪念活动以纪念波兰数学家的贡献。 2001年4月21日,雷杰夫斯基、罗佐基和佐加尔斯基纪念基金在波兰华沙设立,基金会在华沙和伦敦设置了纪念波兰数学家的铭牌。2001年7月,基金会在布莱切利公园安放了一块基石,上面刻着丘吉尔的名言:“在人类历史上,从未有如此多的人对如此少的人欠得如此多。”这当然是为了纪念所有在破译ENIGMA的行动中做出贡献的人们。 阿兰·图灵没有能活到看见自己在破译ENIGMA中作出的巨大贡献为人所知的这一天,没有看到人们为此向他的深深敬意。在他生命的后来的时光,他并没有被看做一个英雄,而是因他的性倾向而饱受骚扰纠缠。1952年因被小偷入室行窃,他向警察报了案,但是不通世事使他忘了向警察掩盖他和另一位男士同居的事实。1952年3月31日图灵被警方逮捕,被以“有伤风化”罪的罪名起诉,并被判为有罪。在整个过程中他不得不忍受报纸对他的案件的公开报道。 他的性倾向被大众所知,私生活被曝于光天化日之下,政府取消了他在情报部门的工作,也不允许他继续进行可编程计算的研究。在入狱和治疗两者之间,图灵选择了注射激素和心理疗法,来治疗所谓的“性欲倒错”。此后图灵开始研究生物学、化学。由于这些“治疗”,他的脾气变得躁怒不安,性格更为阴沉怪僻,生理方面也出现了异常。1954年6月8日,人们在他的寓所发现了他的尸体。当代最伟大的头脑之一,就这样在四十二岁时离开了这个世界。今天,信息科学领域内最重要的奖项被命名为“图灵奖”。 那天当人们发现图灵时,在他的床头有一个咬了几口的苹果。尸体解剖表明是氰化物致死。在1954年6月7日的那个晚上,也许图灵耳边又回响起了二十年前的那首歌:“毒液浸透苹果,如睡之死渗入。” 参考文献编辑本段回目录http://www.oursci.org/ →如果您认为本词条还有待完善,请 编辑词条
词条内容仅供参考,如果您需要解决具体问题 标签: ENIGMA的兴亡
收藏到:
同义词: 暂无同义词 关于本词条的评论 (共0条)发表评论>> |