时间:2021-06-10 12:37
著 :约翰·基根译 :郭伟猛
图片
(上图)电影《模仿游戏》剧照
“恩尼格玛如果使用得当是无法破解的”,戈尔登·魏齐曼认为。魏齐曼是布莱切利公园密码分析中心的数学家中最有天赋的一个,他在二战爆发之初就从剑桥大学的一个研究所转来布莱切利公园密码分析中心工作。
众所周知,恩尼格玛机使用圆盘转动的方式来实现加密。这台机器有36块圆盘,能绕着一根轴独立转动,每个圆盘的边缘上随机刻着字母表上的字母。发送者通过转动圆盘来生成一条明文(长度当然不能超过36个字母,尽管还可能更少),把此时圆盘组上的另一条信息传送给预定的接收者。接收者在自己的机器上转动圆盘复现这条毫无意义的信息后,再查看此时圆盘组上另外几行字母,其中一行就是发送者编写的明文。
图片
(上图)恩尼格玛机的推广者:亚瑟·谢尔比乌斯
图片
(上图)恩尼格玛机的三个部分:键盘、转子和显示器
这种机器的安全性来自圆盘的排列顺序是可以调整的。圆盘更改的顺序事先只有发送者和接收者知道。密码机操作员打开印发的说明,里面规定了转子的顺序,字母环的设置和插线板的布置,他选择好自己的初始转子设置后打出一个3个字母组成的组合,然后重复一次。这是告知接收者他如何为本次传输设置自己的机器(这就使得破译变得有迹可循了,尤其是对布莱切利公园密码分析中心来说)。然后发报员用左手敲击键盘输入电文,用右手把灯泡亮起的字母写下来。之后他把写下来的信息交给一个无线电操作员,由他发送给接收方。在另一端,接收方把收到的信息在恩尼格玛的键盘上打出来,记录灯泡亮起的字母,就完成了信息的解密。
如果圆盘的顺序不变的话,那么密文很快就能被概率分析法破解;因为它的顺序可变,36个圆盘的排列组合的总数会是一个48位的数字(36×35×34×33……), 在电子计算机未出现的时代是无法对其加密的信息进行破译的。
这种方式能够把可用的加密法乘上一个数量级,大到一个局外人在任何可行的时间维度内来不及破解。数学家需要多长的时间才能用暴力破解法破解恩尼格玛机加密的信息有不同的估计数值,但是德国人自己认为数千个,乃至数百万数学家一生不睡觉都无法解密一条信息。恩尼格玛的设计意图,就是让加密体系的核心,即“密钥”的制作复杂到让人类的智力无法找到破解对策。
一个负责破译恩尼格玛加密过的信息的译电员面临的就是这种局面。如果他有能力“每分钟排查一种恩尼格玛机的设置的话,(他)就需要从宇宙诞生至今的时间来排查完所有设定”。即便他手头有一台恩尼格玛机,可以通过逐一更改转子的初始设置(17576种),再把密文输进去查看是否能得出明文,就算日夜工作,每分钟排除一种也需要两周时间才能排查完。无怪乎谢尔比乌斯在广告中说他的机器能创造“不可破解”的密码,而且德国人也对此深信不疑。
幸运的是,布莱切利公园密码分析中心已经从波兰人那里了解到了“炸弹”机,并开始制作自己的版本。英国版的“炸弹”最初是由另一个和魏齐曼一起被征募的剑桥数学怪才阿兰·图灵设计的。图灵的机器是机电式的,处理速度更快功率更大,虽然魏齐曼提出的另一个方案可以更快地排除恩尼格玛机的设置组合,但在设计上就出错了。“炸弹”当然无法测试恩尼格玛机每一个可能的设置,这需要现今的大型计算机才能完成。
图片
(上图)“炸弹”机的设计者:阿兰·图灵
图片
(上图)“炸弹”机
破译人员拿到手的通常只有加密信息。但是很快他们就意识到开头的3个字母是独立于信息本身的,而第二组3个字母是对第一组进行加密。简而言之,这两组3个字母的组合,是另一个非常大的密钥也就是信息本身的密钥。如果最开始的2组字母能被破解,就会有两个结果:首先可以复制恩尼格玛机的机电转换过程,这是最起码的收获;第二,一些加密信息可以得到破解。
魏齐曼以及图灵和其他人已经意识到很多截获的恩尼格玛电文中,惠安县金凯服装厂一部分内容是固定的和重复的:例如收件人的全名和军衔,或者始发总部的名称。这些可以被猜出来的信息后来被称为“小纸条”(英国公立学校的术语,指的是用于在拉丁语和希腊语翻译考试时作弊的工具)。
不过,如果德国的密码机操作员没有因为粗心、懒惰或失误而暴露线索的话,“小纸条”法就无法奏效。“恩尼格玛如果使用得当是无法破解的”,魏齐曼认为。德国政府及武装力量中的某些部门的操作员会规范地使用恩尼格玛。德国海军的三个恩尼格玛密钥中,由布莱切利命名为“梭鱼”的,用于加密舰队行动高级信息的密钥就从未被破解过;“粉色”,即德国空军使用的高级密钥,被破解时已经使用了一年;“绿色”,即德国陆军总部使用的行政密钥,在战争期间只被破译了13次,期间而且还借助了一些战俘的帮助;“鲨鱼”,即大西洋U 艇部队使用的密钥,在1942年2到12月大西洋战役最关键的时期,被证实无法破解;“盖世太保”密钥,于1939到1945年间被使用,从未被破译过。
破解以上密钥不是无规律的。盖世太保一向小心行事;德国陆军和海军的信号部门设立时间很久,使用的操作员受过良好的训练且经验丰富;最明显的短板是德国空军,一个德国在1935年才成立的军种。它的密码操作员可能更加年轻且缺乏经验。布莱切利公园密码分析中心破解的第一个恩尼格玛密钥就是来自德国空军,此后被截获的德国空军密钥几乎都被破解了,有时候破解时间甚至是在这些密钥被识别出来的当天。
图片
布莱切利公园密码分析中心把德国恩尼格玛操作员所犯的两种错误——都是由懒惰导致的——称为“赫里韦尔窍门”和“西尔斯”。前者是约翰·赫里韦尔在一次头脑风暴时想到的。他猜测恩尼格玛操作员在设置好转子的字母环,放入插槽后会把选中的字母放在最上面。这些字母可能构成了密文的头三个字母,因此暴露了转子的设置,而在战争的头几年,转子的设置是一整天都不变的。按照“赫里韦尔窍门”的思路就能把解密过程极大地简化。
“西尔斯”也是另一种懒惰的表现,指的是恩尼格玛操作员在键盘上粗心的操作。当他需要挑选三个字母作为电文之首的字母组合时,他可能不是随机敲击,而是在德国的QWERTZ式布局键盘上,沿着对角线向下敲键盘,再沿着另一个对角线同样操作打出QAY和WSX。由于这种错误很蠢(silly),布莱切利公园的密码分析员们把这种“小纸条”称为“西尔斯”(sillies 音译)。其他的“西尔斯”是德国女孩名字的简称,可能是恩尼格玛操作员的心上人,如EVA 和KAT。一些最懒的“西尔斯”确实愚蠢,经常使用如ABC或DDD的组合,虽然这些组合很快就会被操作员的上级所剔除,但只要恩尼格玛操作员习惯不改,总会有大量的破绽出现。(编辑:王菁)
本文摘自《战争论:战争中的情报》
图片
在小说或者影视剧中,情报工作往往是一场军事行动胜利与否的关键性因素,真实历史中也是这样吗?《战争情报:从拿破仑时代到基地组织时期之敌知》是当代军事史学家约翰·基根(John Keegan)的杰出作品之一。基根爵士以其敏锐的视角及独有的幽默感深入上述问题的核心,并从拿破仑战争、美国独立战争、克里特岛之战、中途岛海战、大西洋海战等战役中找出丰富的论据,生动地论证了间谍活动和情报解密在过去的一个世纪里对战争面貌的改变,进而提出军事情报只有与武力相结合,才能成为一种有效的工具。