把第一台ENIGMA显示器上的E和第二台ENIGMA显示器上的e连起来,又把第二台上的T和第三台上的t连起来,最后把第三台上的W和第一台上的w连起来(注意ENIGMA上字母没有大小写之分,这里我们只是用大小写来区别密文和明文)。下面的解释听起来稍微有一点复杂,最好对照着上面的图来读。假设连接板上有关的交换字母的连线是下面这样的(三台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英军成功撤退