刘声远
1946年春,一个命令下达:摧毁布莱切利园密码破译部及其所有记录。布莱切利园是第二次世界大战期间盟军最机密的行动部门。那么,为什么要摧毁其记录呢?
本文上篇写道:二战期间,德国纳粹利用极其复杂的恩尼格玛机密码发动闪电战。经过波兰和英国布莱切利园译码员共同努力,恩尼格玛机被初步破解。惊人转机
虽然英国数学天才图灵很聪明,作出了准确推断,但没有密码表的话,这种推断也白搭。密码表就在纳粹军舰上。接着,出现了惊人转机。
纳粹海军上校伦普领导的潜艇,曾在二战中击沉第—艘船。1941年4月,他率领U-110潜艇执行了最后一次任务。英国皇家海军军舰“斗牛犬号”上的军官巴姆当时刚满20岁。该艦当时负责保护从英国利物浦前往美洲的商船队。在冰岛以南,“斗牛犬号”发现自己被纳粹潜艇尾随。突然间,两艘商船接连被鱼雷击中,但“斗牛犬号”对纳粹潜艇U-110实施了一次非常精准的攻击。潜艇被迫浮上了水面。图灵和布莱切利园一直在等待这个机会,因为U-110上面有德国海军的密码表。
当时位于潜艇下层的德军发报员霍格尔不知道上面发生了什么,艇长在上面不停地喊:“快出来,快出来!”霍格尔问:“密码表怎么办?”对方回答:“什么都不要了,人出来就是!”霍格尔跳海逃命。就这样,密码表被留在了潜艇上。巴姆带人上U-110搜查。因担心德军留人破坏潜艇,巴姆等人率先登艇,但他们压根儿不知道艇上有什么密码表,也从未听说过布莱切利园。
在伦普上校的艇长舱桌面上,巴姆发现了一只密封信封。巴姆不懂德语,没有贸然打开这只信封,但他感觉里面有重要的东西,于是把信封装进了口袋。巴姆不知道的是,这只信封将改变针对纳粹潜艇的情报战。该信封里包含恩尼格玛机密码表、潜艇导航图及各种命令执行手册。伦普上校在这场战斗中死亡。我们永远不会知道:他当时为什么不下令破坏这艘潜艇,或者损毁密码资料?
这些文件的效果几乎是立竿见影。1941年6月23日,布莱切利园破译了一份纳粹潜艇密电:德军将袭击一艘英国商船。这艘船满载物资正驶向英国,但该密电显示10艘纳粹潜艇将伏击它。根据这一情报,英国海军部重定商船路线,制订了反击策略。在为期5天的战斗中,两艘纳粹潜艇被击沉,商船安全抵达英国。至此,在大西洋战役中,盟军掌握了一种颇具威慑力的新武器——密码破译,但战争远未结束。征服英国的企图失败后,希特勒在失望之下又梦想征服东方。1941年春季,破译的纳粹密电显示德军准备入侵苏联。随后,布莱切利园又破译了其他更惊人的信息。“配点牌张”
德军入侵苏联后,纳粹党卫军和纳粹警察发出密电,报告对苏联犹太人的大规模屠杀情况。虽然当时无人预料到纳粹屠杀犹太人的巨大规模,但现己知道,纳粹对苏联犹太人的残杀拉开了二战期间纳粹对犹太人实施大屠杀的序幕。
英国首相丘吉尔看到被破译的纳粹密电及其他证据后,发表揭露纳粹大屠杀、鼓舞国民斗志的讲话,但此举却间接暗示纳粹密电已被破译。事实上,纳粹警方头目随后就对发送有关大屠杀情况的密电进行新的限制。但对布莱切利园来说幸运的是,纳粹总部从未失去对恩尼格玛机的信心。不过,为避免泄密,布莱切利园的安保被强化,所有源自布莱切利园的情报都被定为最高机密。
到了1941年夏季,布莱切利园已经能在不到两天时间里破译一份纳粹海军密电,这一方面是因为被截获的纳粹海军文件,另一方面也是由于他们学会了利用恩尼格玛机的一个重要缺点:当发报员在恩尼格玛机上输入电文时,机器会把每一个字母替换成另一个字母,不会有任何字母被替换成与它相同的字母。这个简单事实对于破译密电来说很重要。随着译码员研判更多被截获的密电,还有一点变得很清楚:德国人在电文中持续重复一些固定短语。很快,译码员就可能根据电文中所包含一个特定短语来预测电文内容。布莱切利园把这种短语称为“配点牌张”。
随着纳粹军队内部官僚作风日益严重,德国人经常会在每天相同时间发送同样的信息。事实上,一些电文非常押韵,可以说是顺口溜。译码员据此判断,值夜班的德军有时候会很无聊,因此有时候会两三次发顺口溜解闷。这些电文本身没有什么意义,却为布莱切利园破译纳粹密码提供了线索。
当译码员怀疑电文中存在一个固定短语时,他们就会寻找这个短语。要想找到该短语的正确位置,取决于恩尼格玛机的一个短板。译码员把“配点牌张”放在加密电文上滑动。因为他们知道恩尼格玛机永远不会原样复制一个字母,所以一旦出现字母对相同的情况,就说明固定短语的位置不正确。一旦滑动到没有任何字母相同的地方,就可能是这个短语的位置。如果成功,译码员就可能在接下来的24小时里破解恩尼格玛机的设置。
逐渐地,译码员在这方面变得如此熟练,以至于他们能创建自己的“配点牌张”。他们会让英国皇家空军在某个特定海域投放炸弹,德军会立即发密电给出英军投弹海域的坐标。译码员知道这个坐标会出现在德军密电中,他们就用这个坐标短语作为“配点牌张”,来寻找恩尼格玛机的密钥。到了这时,译码员已经不只是在弄懂恩尼格玛机,而且是在了解战争通信的整个系统。新情报能否影响整个军事战略呢?这一测试在北非沙漠出现了。
情报较量
纳粹将领隆美尔因为对英军之战大胜而在纳粹内部声名大噪。他在非洲很幸运,一点伤都没有受,只是有一块英军弹片击中了他的皮带,但没进入他体内。整个1941年,沙漠之战在利比亚境内展开,德国企图占领北非。由于那里只有无线电通信,所以隆美尔的北非战略需要依赖恩尼格玛机。
隆美尔也坚信恩尼格玛机无法被破解,但隆美尔的战略有个主要弱点:他完全依赖意大利人提供物资。隆美尔的物资供给线自然沦为了英军攻击目标。因为布莱切利园能够破译纳粹空军和意大利军队的恩尼格玛机密码,所以英国空军能袭击穿越地中海、驶向北非的意大利供应船。
布莱切利园不仅能读懂敌军油船的方位,而且能知道船上有多少油。但为防止最高机密泄密,必须要看上去是英国人通过其他渠道得到了有关油船的情报。当时有一条严格规定:在派遣侦察机前往油船附近区域之前,不得使用最高机密。也就是说,要让德晕怀疑是一个意大利内奸出卖了情报,而不是恩尼格玛机密码被破译。事实上,隆美尔直到死都以为是意大利高层内部出了问题。
说到情报战,盟军也是有得有失。虽然纳粹情报局从未破解过盟军的加密机,但隆美尔的确从一名间谍那里得到了这方面的重要情报。这次事件发生在194t年初。当时,一组美国译码员访问布莱切利园。那时候美国还没有正式参战,因此英美双方的情报机构都对相互合作感到忐忑。尽管英国担忧美国方面的保密疏漏,却还是开始与美国分享恩尼格玛机情报和有关战事的外交情报。英国人的担忧不是没有道理,因为英美之间的这些交流很快就让隆美尔在情报方面取得突破。
有关英国北非战略的情报,通过美国在埃及的一名军事参赞,定期传到美国首都华盛顿。德国人截获了这些密电,却无法破解外交密码。1941年9月,意大利特工潜入美国驻意大利罗马的使馆,盗走用于加密美国所有外交情报的密码本。这些特工在复制了密码本之后,又在无人知道的情况下把它放回原处。这样一来,隆美尔就掌握了英国战略,在利比亚对英军发动猛烈进攻,逼迫英军在17天里倒退了500千米。至此,英国需要自己的情报攻略来逆转败局。未解之谜
在布莱切利园,译码员加紧破解恩尼格玛机每天的转子设置,一些情报在6~12小时里就被破解。但只有密码破解进程再加速,才能挽救更多生命。天才译码员图灵一直想建造一部机器,让译码过程自动化。二战之前,波兰人曾经建造过这样一个装置。图灵希望在此基础上进行改进,让译码机能算出德国发报员怎样设置当天的恩尼格玛机。
使用“配点牌张”推断恩尼格玛机转子设置,是整个译码过程中最耗时的部分。图灵的大突破,是在于看出了从“配点牌张”寻找转子设置这项工作可以由机器来完成。这是一个伟大的起点,它引领我们进入了现代。图灵设计的译码机比波兰人的早期装置强大了许多。布莱切利园称这种译码机为“炸弹”,这可能是因为它在運作时的滴答声太吵人。图灵译码机运行一次平均需要15分钟。它实际上是模拟恩尼格玛机转子的一系列机电鼓。这些鼓一个一个地点击字母环上的字母,测试上万种(每秒20种)可能的恩尼格玛机设置,直到找到正确的设置。图灵译码机大大加速了译码进程。到二战结束时,英国已经部署了200台图灵译码机,这让布莱切利园每个月破译的纳粹密电超过9万份。
1942年8月,丘吉尔前往北非,决心逆转盟军命运。他的第一个举动是给第8军领导层注入新鲜血液。他指派蒙哥马利挑战隆美尔的非洲军团。丘吉尔从最高机密——被破译的纳粹密电得知,隆美尔准备在埃及某地发动攻击。攻击地究竟是在哪里呢?蒙哥马利预测是在阿拉姆哈勒法岭。几天后,布莱切利园破译的电文显示,隆美尔将于9月30日在阿拉姆哈勒法岭发动进攻。
蒙哥马利还有另一个优势——情报。盟军最终意识到,德国人正在解读美国使馆对英国战略的报告,于是美国使馆改变了外交密码。隆美尔不再能了解敌方意图,而蒙哥马利继续接收来自布莱切利园的情报。很快,德军就承受了巨大压力。布莱切利园一些译码员开始对蒙哥马利感到不耐烦,他们觉得蒙哥马利好像并不相信他们提供给他的那么珍贵的情报。
1942年10月23日,英国军队在埃及北部的阿拉曼村发起进攻。丘吉尔要求英军摧毁北非的纳粹轴心,消灭隆美尔及其残余。那场战斗期间,英国情报拦截站每天都截获超过300份纳粹密电。布莱切利园知道隆美尔的计划、他的部队和他的损失。军队在提前掌握敌人情况的条件下参战,这在战争史上算得上奇迹。布莱切利园告知蒙哥马利:隆美尔的部队严重缺少燃油和坦克。11月2日晚,隆美尔向希特勒申请撤退。希特勒次日回复:不管胜败,绝不退缩。蒙哥马利在这份密电发出后几小时内就读到了它。在阿拉曼村之战中,蒙哥马利的军队重创了隆美尔的德军,但他决定不追杀撤退的德军。
尽管蒙哥马利完全有能力将当地德军斩草除根,他却没有这么干。纳粹军队那么邪恶,他为什么要饶恕他们?这个疑问至今无解。布莱切利园3号房向蒙哥马利提供情报,他置之不理。这些情报包括隆美尔部队的悲哀状况、可运作坦克数量等重要信息。那么,蒙哥马利为什么会漠视这么重要的情报?这个问题也没有答案。英美联手
阿拉曼村战役发生之时,美国与德国交战已近一年。甚至在珍珠港事件之前,英国海军就一直在把破译的纳粹潜艇情报传递给美国海军。丘吉尔和时任美国总统罗斯福都很清楚,大西洋战场很重要,破译的情报对于反制纳粹潜艇来说是一大优势。
1942年2月,英国海军部接到一个灾难性消息:纳粹潜艇密码突然改变,让布莱切利园不再能解读纳粹潜艇的电报信号。同样严重的是,纳粹潜艇的战术也突然改变。这些潜艇从大西洋北部转向美国东海岸海域。在那里,纳粹潜艇要么不发出无线电信号,要么发出的信号无法被解码。在整个大西洋,盟军难以应对日益增加的海上损失。随着危机深化,布莱切利园的海军恩尼格玛机译码团队通宵达旦工作,目的是破解纳粹海军新密码。由于原有译码攻略全部失效,因此很明显的是,邓尼茨剧烈改变了恩尼格玛机。对于大西洋两侧的盟军来说,这都是一个严重打击。
在这次打击之前,英国海军部的潜艇跟踪室一直能借助邓尼茨和其下属之间电传的导航位置,来确定纳粹潜艇的方位。而现在,这种定位的精度低多了。到了1942年末,盟军被击沉舰船数量是这次密码破译失败之前的4倍。布莱切利园最终还是想明白了邓尼茨究竟对恩尼格玛机干了什么。
虽然依旧相信盟军不可能破解恩尼格玛机,邓尼茨却担心内部保密不严,并且下令给恩尼格玛机添加第四个转子。转动的转子,再加上它们经常被变换的迷宫式电线连接,正是恩尼格玛机的核心秘密。引入第四个转子,无疑极大地增加了潜在的设置数量。现在,译码员不得不建造一种新型机器来模拟四转子恩尼格玛机,并且由此来安抚越来越没有耐心的美国人。事实上,到了1942年中期,美国宣布无论怎样,他们都会自己行事,包括应对纳粹潜艇的威胁和应对纳粹密码体系。至于美英双方是否继续合作,则成为一个敏感话题。
当英方向一位造访布莱切利园的美国情报官员隐瞒机密之后,双方合作的紧张态势升级。该官员写了一份怒气冲冲的报告给美国有关方面。为化解危机,布莱切利园的第二掌门人前往华盛顿,与美国海军官员会晤。双方签署协议,决定消除有关保密的担忧,并且要在破译纳粹海军恩尼格玛机密码方面全面合作。作为合作内容的一部分,美国译码员将被派到布莱切利园。美英双方译码员将共同应对第四个转子的挑战。
再度破解纳粹海军恩尼格玛机谜题的第一个机会,是在一套刚缴获不久的纳粹潜艇密码表到达布莱切利园之时。这些密码表,让译码员们发现了四转子系统的一个重要弱项。主要用于纳粹潜艇上的四转子恩尼格玛机,不得不与使用三转子恩尼格玛机的其他海军站通信。为解决这个问题,第四个转子必须被设定在一个特殊位置,从而让四转子恩尼格玛机模拟三转子恩尼格玛机。借助被缴获的密码表,译码员算出纳粹海军恩尼格玛机的前三个转子设置与以前是一样的。接下来,只需对第四个转子上的26个字母位置进行一一测试,就找到了正确设置。很快,恩尼格玛机的每天设置就在被破译后,被立即发给英国海军部和美国方面。在被冷落了10个月之后,布莱切利园又恢复了生气。
就这样,布莱切利园再一次能够帮助商船队避开纳粹“狼群”。空中雷达干¨经过改进的护航,帮助确保了盟军在大西洋战役中获胜。到了1943年春,布莱切利园每天能破譯数十份纳粹密电,美英合作也上升到新高度。_二战后,美军译码部变成了美国国家安全局。二战时期的美军译码部位于美国弗吉尼亚州北部,首批与布莱切利园译码员合作的美国译码员就是从这里被选拔的。更大挑战
英国译码员告诉美国译码员,一个更大的译码难题是,除了恩尼格玛机之外,德国人有时候还使用另一类完全不同的密码机。英国早在1940年就开始截获这种密电。当时,英格兰南部海岸警察监听德国间谍在英国境内的无线电通信。本不应该有这样的通信,因为所有在英国的德国间谍都己被抓获。尽管如此,这些警察还是仔细聆听,结果听到了这些奇怪信号。但英国人长时间来对这种密码机一无所知。
现在,这种密码机发出的密电信号被送到了布莱切利园。首先,译码员困惑的是这些奇怪信号的来源。希特勒要求给纳粹总部配备速度比恩尼格玛机快、保密性比恩尼格玛机好的密码机。为此,德国专家设计了一种基于电传打字电报机的加密系统。电传打字电报机的运作,是基于今天广为人知、简单明了和普遍使用的二进制代码。德国人把电传打字电报机与一台机器连接,该机器能巧妙地利用电传打字电报机的语言产生一种复杂密码。这种纳粹加密机被称为洛伦茨。为了加密信息,洛伦茨使用的转子数量是12个,而不是恩尼格玛机的3个或4个转子。另外,洛伦茨加密电文是一次对一连串字母加密,而不是对单个字母或字母对加密。因此,洛伦茨加密机发出的密电破译难度极大。
洛伦茨依赖的数学体系叫作“模加法”。它能让被添加到电文的一连串毫无意义的字母,在接收端通过一种类似的数学算法被移除。具体而言,发报员先在其电传打字电报机上按下一个键,产生一个电信号。接着,洛伦茨给这个电信号添加一种模糊性,其结果被传输出去。在接收端,另一台相同架构的洛伦茨再产生相同的模糊性,并把它添加给收到的加密电文,模加法让这两个模糊性相互抵消,从而给出清晰的电文。
简言之,洛伦茨的保密性在于:洛伦茨通过添加一连串随机字母,来隐藏真实信息。但因为洛伦茨依然是一种机器,所以它并不能产生完全随机的一组字母。布莱切利园把洛伦茨密码称为“鱼”。他们算出“鱼”是基于电传打字电报机的语言。怎样剥离模糊密码?起初只能靠猜测。在1941年8月30日这天,一个懒惰的德国发报员把洛伦茨的秘密暴露了。
当他来到洛伦茨面前,键入一份包含近4000个字母的电文后,接收端发回的信息是“没收到,再发一遍”。接着,接收双方就像白痴一样,都把自己的洛伦茨设置回同样的起始位置。然后,发报员开始再次键入长电文。当他这么做时,他变得不耐烦了,干脆省略掉了一部分电文内容。这样造成的轻微改变,就让译码员能剥离掉遮盖真实信息的随机字母串。