【简介】在密码学史中,恩尼格玛密码机(德语:Enigma,又译哑谜机,或谜)是一种用于加密与解密文件的密码机。确切地说,恩尼格玛是一系列相似的转子机械的统称,它包括了一系列不同的型号。
恩尼格玛在1920年代早期开始被用于商业,也被一些国家的军队与政府采用过,在这些国家中,最著名的是第二次世界大战时的纳粹德国。
德国使用的军用版德国防卫军恩尼格玛机是最常被人们提到的版本。由于盟军的密码学家能够破译大量由这种机器加密的信息,恩尼格玛机的名声也就变得不怎么好了。1932年,波兰密码学家马里安•雷耶夫斯基,杰尔兹•罗佐基和亨里克•佐加尔斯基破译了这种机器的密码。1939年中期,英国和法国得到了破译此密码的方法。盟军的情报部门将破译出来的密码称为ULTRA,这极大地帮助了盟军。ULTRA到底有多大贡献,现在还在争论中,但是对它的一个典型评价就是盟军对德胜利,只因为盟军破译了德国的密码而提前了两年。
尽管恩尼格玛机在加密方面具有不足之处,但是实际上,盟军能够破译它的密码,完全是因为德国犯了一些大错误(如加密员的失误,使用步骤错误、机器或密码本被缴获等等)。
【发明背景】美国大片《U-571》,告诉人们“恩尼格玛”密码机是战争中,同盟国费尽心机想要获得的尖端秘密,是战胜德国海军潜艇的关键所在。历史也确实如此,对于潜艇作战,尤其是德国海军的“狼群”战术来说,无线电通讯是潜艇在海上活动,获取信息通报情况的最重要的手段,而“恩尼格玛”密码机则是关乎整个无线电通讯安全的设备,其重要性可想而知。
自从无线电和摩尔斯电码问世后,军事通讯进入了一个崭新的时代,但是无线电通讯完全是一个开放的系统,在己方接受电文的同时,对方也可“一览无遗”,因此人类历史上伴随战争出现的密码,也就立即与无线电结合,出现了无线电密码。直到第一次世界大战结束,所有无线电密码都是使用手工编码。毫无疑问,手工编码效率极其低下,同时由于受到手工编码与解码效率的限制,使得许多复杂的保密性强的加密方法无法在实际中应用,而简单的加密方法又很容易被破译,因此在军事通讯领域,急需一种安全可靠,而又简便有效的方法。
【发明】1918年德国发明家亚瑟•谢尔比乌斯(Arthur Scherbius)和理查德•里特(Richard Ritter)创办了一家新技术应用公司,曾经学习过电气应用的谢尔比乌斯,想利用现代化的电气技术,来取代手工编码加密方法,发明一种能够自动编码的机器。 谢尔比乌斯给自己所发明的电气编码机械取名“恩尼格玛”(ENIGMA,意为哑谜),乍看是个放满了复杂而精致的元件的盒子,粗看和打字机有几分相似。可以将其简单分为三个部分:键盘、转子和显示器。
【加密原理】键盘一共有26个键,键盘排列和现在广为使用的计算机键盘基本一样,只不过为了使通讯尽量地短和难以破译,空格、数字和标点符号都被取消,而只有字母键。键盘上方就是显示器,这可不是现在意义上的屏幕显示器,只不过是标示了同样字母的26个小灯泡,当键盘上的某个键被按下时,和这个字母被加密后的密文字母所对应的小灯泡就亮了起来,就是这样一种近乎原始的“显示”。在显示器的上方是三个直径6厘米的转子,它们的主要部分隐藏在面板下,转子才是“恩尼格玛”密码机最核心关键的部分。如果转子的作用仅仅是把一个字母换成另一个字母,那就是密码学中所说的“简单替换密码”,而在公元九世纪,阿拉伯的密码破译专家就已经能够娴熟地运用统计字母出现频率的方法来破译简单替换密码,柯南•道尔在他著名的福尔摩斯探案《跳舞的小人》里就非常详细地叙述了福尔摩斯使用频率统计法破译跳舞人形密码(也就是简单替换密码)的过程。——之所以叫“转子”,因为它会转!这就是关键!当按下键盘上的一个字母键,相应加密后的字母在显示器上通过灯泡闪亮来显示,而转子就自动地转动一个字母的位置。举例来说,当第一次键入A,灯泡B亮,转子转动一格,各字母所对应的密码就改变了。第二次再键入A时,它所对应的字母就可能变成了C;同样地,第三次键入A时,又可能是灯泡D亮了。——这就是“恩尼格玛”难以被破译的关键所在,这不是一种简单替换密码。同一个字母在明文的不同位置时,可以被不同的字母替换,而密文中不同位置的同一个字母,又可以代表明文中的不同字母,字母频率分析法在这里丝毫无用武之地了。这种加密方式在密码学上被称为“复式替换密码”。
但是如果连续键入26个字母,转子就会整整转一圈,回到原始的方向上,这时编码就和最初重复了。而在加密过程中,重复的现象就很是最大的破绽,因为这可以使破译密码的人从中发现规律。于是“恩尼格玛”又增加了一个转子,当第一个转子转动整整一圈以后,它上面有一个齿轮拨动第二个转子,使得它的方向转动一个字母的位置。假设第一个转子已经整整转了一圈,按A键时显示器上D灯泡亮;当放开A键时第一个转子上的齿轮也带动第二个转子同时转动一格,于是第二次键入A时,加密的字母可能为E;再次放开键A时,就只有第一个转子转动了,于是第三次键入A时,与之相对应的就是字母就可能是F了。
因此只有在26x26=676个字母后才会重复原来的编码。而事实上“恩尼格玛”有三个转子(二战后期德国海军使用的“恩尼格玛”甚至有四个转子!),那么重复的概率就达到26x26x26=17576个字母之后。在此基础上谢尔比乌斯十分巧妙地在三个转子的一端加上了一个反射器,把键盘和显示器中的相同字母用电线连在一起。反射器和转子一样,把某一个字母连在另一个字母上,但是它并不转动。乍一看这么一个固定的反射器好像没什么用处,它并不增加可以使用的编码数目,但是把它和解码联系起来就会看出这种设计的别具匠心了。当一个键被按下时,信号不是直接从键盘传到显示器,而是首先通过三个转子连成的一条线路,然后经过反射器再回到三个转子,通过另一条线路再到达显示器上,比如说上图中A键被按下时,亮的是D灯泡。如果这时按的不是A键而是D键,那么信号恰好按照上面A键被按下时的相反方向通行,最后到达A灯泡。换句话说,在这种设计下,反射器虽然没有象转子那样增加不重复的方向,但是它可以使解码过程完全重现编码过程。
使用“恩尼格玛”通讯时,发信人首先要调节三个转子的方向(而这个转子的初始方向就是密匙,是收发双方必须预先约定好的),然后依次键入明文,并把显示器上灯泡闪亮的字母依次记下来,最后把记录下的闪亮字母按照顺序用正常的电报方式发送出去。收信方收到电文后,只要也使用一台“恩尼格玛”,按照原来的约定,把转子的方向调整到和发信方相同的初始方向上,然后依次键入收到的密文,显示器上自动闪亮的字母就是明文了。加密和解密的过程完全一样,这就是反射器的作用,同时反射器的一个副作用就是一个字母永远也不会被加密成它自己,因为反射器中一个字母总是被连接到另一个不同的字母。
“恩尼格玛”加密的关键就在于转子的初始方向。当然如果敌人收到了完整的密文,还是可以通过不断试验转动转子方向来找到这个密匙,特别是如果破译者同时使用许多台机器同时进行这项工作,那么所需要的时间就会大大缩短。对付这样“暴力破译法”(即一个一个尝试所有可能性的方法),可以通过增加转子的数量来对付,因为只要每增加一个转子,就能使试验的数量乘上26倍!不过由于增加转子就会增加机器的体积和成本,而密码机又是需要能够便于携带的,而不是一个带有几十个甚至上百个转子的庞然大物。那么方法也很简单,“恩尼格玛”密码机的三个转子是可以拆卸下来并互相交换位置,这样一来初始方向的可能性一下就增加了六倍。假设三个转子的编号为1、2、3,那么它们可以被放成123-132-213-231-312-321这六种不同位置,当然现在收发密文的双方除了要约定转子自身的初始方向,还要约好这六种排列中的一种。
而除了转子方向和排列位置,“恩尼格玛”还有一道保障安全的关卡,在键盘和第一个转子之间有块连接板。通过这块连接板可以用一根连线把某个字母和另一个字母连接起来,这样这个字母的信号在进入转子之前就会转变为另一个字母的信号。这种连线最多可以有六根(后期的“恩尼格玛”甚至达到十根连线),这样就可以使6对字母的信号两两互换,其他没有插上连线的字母则保持不变。——当然连接板上的连线状况也是收发双方预先约定好的。
就这样转子的初始方向、转子之间的相互位置以及连接板的连线状况就组成了“恩尼格玛”三道牢不可破的保密防线,其中连接板是一个简单替换密码系统,而不停转动的转子,虽然数量不多,但却是点睛之笔,使整个系统变成了复式替换系统。连接板虽然只是简单替换却能使可能性数目大大增加,在转子的复式作用下进一步加强了保密性。让我们来算一算经过这样处理,要想通过“暴力破译法”还原明文,需要试验多少种可能性:
三个转子不同的方向组成了26x26x26=17576种可能性;
三个转子间不同的相对位置为6种可能性;
连接板上两两交换6对字母的可能性则是异常庞大,有100391791500种;
于是一共有17576x6x100391791500,其结果大约为10000000000000000!即一亿亿种可能性!这样庞大的可能性,换言之,即便能动员大量的人力物力,要想靠“暴力破译法”来逐一试验可能性,那几乎是不可能的。而收发双方,则只要按照约定的转子方向、位置和连接板连线状况,就可以非常轻松简单地进行通讯了。这就是“恩尼格玛”密码机的保密原理。
【成为军事装备】1918年谢尔比乌斯为“恩尼格玛”密码机申请了专利,并于1920年开发出了商用的基本型和带打印机的豪华型,但是高昂的价格(折算成今天的货币,约相当于3万美元)却使“恩尼格玛”密码机少人问津。就在谢尔比乌斯研制“恩尼格玛”密码机的同时,还有三个人也有了类似的发明。1919年荷兰人亚历山大•科赫(Alexander Koch)也注册了相似的发明专利“秘密写作机器”,但最终因无法商业化而于1927年转让了这个专利(因此也有说法称谢尔比乌斯是根据科赫的专利研制出了“恩尼格玛”密码机)。瑞典人阿维德•达姆(Arvid Damm)也获得了一个同样原理的专利,但是直到1927年他去世时还只是停留在纸面上。第三个人是美国人爱德华•赫本(Edward Hebern),而他的遭遇最为悲惨,他发明“狮身人面”密码机,并集资三十八万美元开办工厂进行生产销售,结果却只卖出十来台,收入还不到两千美元,1926年遭到股东起诉,被判有罪而入狱。
在1923年国际邮政协会大会上,公开亮相的“恩尼格玛”密码机仍旧是购者寥寥。眼看“恩尼格玛”也要无疾而终,却突然柳暗花明——1923年英国政府公布了一战的官方报告,谈到了一战期间英国通过破译德国无线电密码而取得了决定性的优势,这引起了德国的高度重视。随即德国开始大力加强无线电通讯安全性工作,并对“恩尼格玛”密码机进行了严格的安全性和可靠性试验,认为德国军队必须装备这种密码机来保证通讯安全——接到德国政府和军队的定单,谢尔比乌斯的工厂得以从1925年开始批量生产“恩尼格玛”,1926年德军海军开始正式装备,两年后德国陆军也开始装备。当然这些军用型“恩尼格玛”与原来已经卖出的少量商用型在最核心的转子结构上有所不同,因此即使拥有商用型也并不能知道军用型的具体情况。纳粹党掌握德国政权后也对“恩尼格玛”密码机的使用进行了评估,认为该密码机便于携带,使用简便,更重要的是安全性极高。对于敌方而言,即使拥有了密码机,如果不能同时掌握三道防线所组成的密钥,一样无法破译。德国最高统帅部通信总长埃里希•弗尔吉贝尔上校认为“恩尼格玛”将是为德国国防军闪击战服务的最完美的通信装置。因此上至德军统帅部,下至陆海空三军,都把“恩尼格玛”作为标准的制式密码机广为使用。——德国人完全有理由认为,他们已经掌握了当时世界最先进最安全的通讯加密系统,那是无法破译的密码系统。然而如此愚蠢地寄信心于机器,最终只会饱尝机器所带来的苦果。
而“恩尼格玛”之父谢尔比乌斯却未能看到“恩尼格玛”被广泛使用,并对第二次世界大战所产生的重大影响,他于1929年5月因骑马时发生意外,伤重而死。
免责声明:本站文字信息和图片素材来源于互联网,仅用于学习参考,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)