恩尼格玛密码机

恩尼格玛密码机（Enigma，又译恩尼格密码机、哑谜机、奇谜机或谜式密码机）是一种用于加密与解密文件的密码机。确切地说，恩尼格玛是对二战时期纳粹德国使用的一系列相似的转子机械加解密机器的统称，它包括了许多不同的型号，为密码学对称加密算法的流加密。

20世纪20年代早期，恩尼格玛密码机开始应用于商业，一些国家的军队与政府也使用过该密码机，密码机的主要使用者包括第二次世界大战时的纳粹德国。

在恩尼格玛密码机的所有版本中，最著名的是德国使用的军用版本。尽管此机器的安全性较高，但盟军的密码学家们还是成功地破译了大量由这种机器加密的信息。1932年，波兰密码学家马里安·雷耶夫斯基、杰尔兹·罗佐基和亨里克·佐加尔斯基根据恩尼格玛机的原理破译了它。早在1939年中期，波兰政府就将此破译方法告知了英国和法国，但直到1941年英国海军捕获德国U-110潜艇，从中得到密码机和密码本后才成功破解。对于恩尼格玛的破解使得纳粹海军对英美商船补给船的大量攻击失效。盟军的情报部门将破译出来的密码称为ULTRA，ULTRA极大地帮助了西欧的盟军部队。关于ULTRA到底对战争有多大贡献尚存争论，但普遍认为盟军在西欧的胜利能够提前两年，完全是恩尼格玛密码机被成功破译的缘故。

尽管恩尼格玛密码机在加密方面有不足之处，但是经其加密的文件依然很难破解。盟军能够破译恩尼格玛是因为德国军队犯了一些大的错误，如没有像海军一样每月更新密码、使用步骤错误、机器或密码本被缴获等等，但这在1944年后英国开发出原始电脑后，即使每月更新也无济于事。

## 描述

<image>

<image>

与其它转子机械相同的是，恩尼格玛密码机也结合了机械系统与电子系统。机械系统包括了一个包含字母与数字的键盘、依次排列在一个轴上的一系列名为“转子”的旋转圆盘，还有一个在每次按键后就使一个或几个转子旋转的装置。各种恩尼格玛密码机上的机械系统各不相同，它们之间最大的共同点是，每次按键后最右边的转子都会旋转，并且有时候会带动与它相邻的转子旋转。转子的旋转会造成每次按键后得到的加密字母都与上一次按同一个按键得到的结果不一样。

机械系统这样运行的原因，是要产生不同的电流通路，字母的加密由机器自动完成。当一个键被按下后，电流会流过通路，最终点亮其中一个灯，这个灯显示的就是加密后的字母。举例来说，如果想要发送一条以ANX开头的信息，操作员会先按下A键，这时如果Z灯被点亮，那么Z就是加密后的信息的第一个字母。操作员之后会按同样的步骤继续输入信息。

为了解释恩尼格玛密码机的工作原理，我们用左侧的图表进行说明。为了使读者更容易理解，在此只显示按键、显示灯等元件各4个。实际上，恩尼格玛密码机拥有显示灯、按键、插孔和线路各26个。电流首先从电池①流到双向开关②，再流到接线板③。接线板的作用是将键盘②与固定接口④连接起来。接下来，电流会流到固定接口④，然后流经3个（德国防卫军版）或4个（德国海军M4版和德国国防军情报局版）转子⑤，之后进入反射器⑥。反射器将电流从另一条线路向反方向导出，电流会再一次通过转子⑤和固定接口④，之后到达插孔S，又通过一条电线⑧流到插孔D，最后通过另一个双向开关⑨点亮显示灯。

转子的转动造成的电流路径的持续变化使恩尼格玛密码机（在当时）具有了高度的保密性。

### 转子

一个恩尼格玛密码机转子的左侧，此图显示了平整的金属触点。一个V型刻痕位于左侧。

转子组成了恩尼格玛密码机的核心部分。每个转子的直径大约为10厘米，形状为圆盘形，由硬质橡胶或电木制成，一系列由弹簧承载的黄铜管脚呈环形排列于其中一面，而另一面相对应的则是圆形的金属触点。管脚与触点代表的是字母表上的全部字母，典型的排列就是A-Z（以下的介绍全部假设转子为这种排列方式）。当两个转子的位置相邻时，其中一个的管脚就会接触另外一个的金属触点，这就形成了一个通路。在转子内部，有26条金属线将一面的管脚与另一面的触点连接起来，这些金属线的排列方式在每个转子内都有所不同。

<image>

单一的一个转子的加密方式是很简单的，它只使用了一种初级的替换式密码。比如说，E键对应的管脚可能会连到同一个转子另一面的T触点。使恩尼格玛密码机的加密变得复杂的是多个转子的同时使用，一般在一台恩尼格玛密码机内有3个或4个转子，在输入信息的同时转子还会转动，这就产生了一种安全得多的加密方式。

当被放进恩尼格玛密码机后，一个转子可以有26种排列方法。它可以通过操作员来转动，如图2所示。为了使操作员知道转子的转动情况，每个转子在转盘外部都有一个刻着字母或数字的环；其中一个字母可以通过一个小窗看见，这样操作员可以看到转子的转动情况。在恩尼格玛的早期型号中，该字母环固定于转子上，但在后来的型号中，操作员可以通过调整字母环的位置而调整转子内的线路。

每个转子上都有一个V形刻痕（有时有多个），这些刻痕用来控制转子的转动。在军用恩尼格玛密码机中，这些刻痕位于字母环上。

恩尼格玛密码机转子的结构｜相邻排列的三个转子

<image>

｜# 具有V形刻痕的外环 # 显示触点A位置的一个标记 # 字母环 # 金属触点 # 连接触点与管脚的线路 # 管脚 # 调节器 # 轴 # 方便操作员转动的外环 # 棘轮（防止倒转）｜

<image>

陆军和空军的恩尼格玛密码机在一开始只拥有3个转子，1938年12月15日开始使用5个转子。这些转子使用罗马数字来辨识：I、II、III、IV、V，每个转子都有一个V形刻痕，这些刻痕在每个转子上的字母环中的位置都有所不同。这本来是一种安全措施，但最终它成为了波兰时钟解码法和英国Banburismus解码法的突破口。

德国海军使用的恩尼格玛密码机比其它军种的拥有更多转子（调节器）：一开始为6个，后来变成7个，最终增加到8个。这三个新加的转子被命名为VI、VII和VIII，内部线路互不相同，并且具有两个V形刻痕，它们分别位于N触点与A触点，这使转子的转动更为频繁。

四个转子的海军版恩尼格玛密码机为转子预留的空间与三个转子版的一样。为了放入第4个转子，原来三个转子版的反射器需要被换成一个较薄的反射器，而且第4个转子也是一个特殊的转子。这第4个转子有两种型号，即Beta型和Gamma型。这个转子是不会旋转的，但是它可以被手动调到26个位置中的任意一个。

### 转动

<image>

为了避免产生简单（并且容易破译）的加密信息，有些转子在操作员连续按下同一个键时也会转动。这就保证了每次按键得到的结果都不一样，也就会产生很难破译的复式密码。

为了达到这个效果，最常见的布局就是使用一个防倒转齿和防倒转爪系统。每个转子都有26个防倒转齿，一组防倒转爪与这些齿相接。这些爪在每次按键后都会向前推，如果防倒转爪与防倒转齿相接的话，转子就会旋转一点。

在德国防卫军的恩尼格玛密码机中，每个转子都有一个可调节的带缺口的外环。5个最基本的转子（I-V）各有一个缺口，而附加的转子VI、VII和VIII各有两个缺口。在转子转动到某一点时，第二个转子的防倒转爪正好位于它的缺口之内，这就使第二个转子在下一次按键后也会转动。当防倒转爪位于缺口之外时，它就只会沿着另一个转子外环的光滑边缘滑动。在所有转子都只有一个缺口的系统中，第一个转子每转26次就会使第二个转子转动一次，同样的，第二个转子每转动26次就会使第三个转子转动一次。第三个转子转动的同时第二个转子也会转动。

这种两个转子同时转动的现象使它与计程器区别开来。这个现象出现于下述情况：第一个转子转动完之后带动了第二个转子转动一点，如果这时第三个转子的防倒转爪正好落入第二个转子外环的缺口内，那么在下一次按键时，第三个转子就会转动一点，同时它的防倒转爪也会推动第二个转子的外环，这样就使第二个转子连续两次转动。

当拥有三个转子，并且第一和第二个转子的外环各有一个缺口时，一台恩尼格玛密码机就会拥有26×25×26 = 16,900个组合（不是26 X 26 X 26，因为第二个转子会与第三个转子一起转动，参看参考资料中的一个PDF文件，它解释了这个现象）。在历史上，每条信息的长度都被限制在几百个字母以内，所以在同一条信息中输入同样的字母产生同样的密码的几率是很小的。

为了给1942年启用的海军用第四个转子腾出空间，反射器经过了改造变得非常薄，多出来的空间就可以放入第四个特殊的转子。转子系统的其余部分不做改变。因为整个系统中只有三个防倒转爪，所以第四个转子从来都不会自动转动，但是它的位置可以手动调节。

当按下一个键后，转子会在电路接通之前转动。

<image>

### 固定接口

固定接口，又称作定子，是将插销或键盘与显示灯连接起来的装置。尽管固定接口中的线路分布对于密码的安全性影响很小，但是这还是阻碍了波兰密码学家马里安·雷耶夫斯基对恩尼格玛密码机密码的破译过程。商业恩尼格玛密码机的键盘上，Q键代表A，W键代表B，E键代表C，依此类推，而军用恩尼格玛密码机的键对应的就是键上的字母。

### 反射器

除了早期的A型和B型之外，恩尼格玛密码机的最后一个转子之后都有一个反射器，反射器是恩尼格玛密码机与当时其它转子机械之间最显著的区别。它将最后一个转子的其中两个触点连接起来，并将电流沿一个不同的路线导回。这就使加密过程与解密过程变得一致。但是，反射器也使恩尼格玛密码机具有了如下性质：加密后得到的字母与输入的字母永远不会相同。这在概念上和密码学上都是一个严重的错误，这个错误最终被盟军解码人员利用。

在商业用恩尼格玛密码机（C型）中，反射器可以有两种不同的安装方式。在D型中它可以有26种方式。而在军用恩尼格玛密码机中，反射器可以像转子一样转动。

在德国陆军和空军版恩尼格玛密码机中，反射器是固定的，并且不会旋转；他们用的恩尼格玛密码机一共有4个版本。最初的版本被标记为A型，1937年11月1日它被B型取代。第三种型号，C型，在1940年被短暂地使用过，它最终被木屋6号破解。D型拥有一个可以重新接线的反射器，首次测试于1944年1月2日，这个版本允许操作员来调整接线方式。

### 接线板

<image>

接线板允许操作员设置各种不同的线路。它首先在1930年被用于德国陆军，很快地，德国海军也开始使用它。193连接线板极大地增强了恩尼格玛密码机的保密性，它的使用相当于多增加了不止一两个转子。没有接线板插口之间的恩尼格玛密码机可以被很容易地用人工方法破解，但是加上连接线板后，盟军的密码专家就需使用特殊的机器了。

接线板上的每条线都会连接一对字母。这些线的作用就是在电流进入转子前改变它的方向。为了解释它的原理，我们把E插口和Q插口连接起来。当操作员按下E键时，电流就会先流到Q插口（相当于按下Q键）再流经转子。接线板上最多可以同时接13条线。

电流会从键盘流经接线板，之后进入转子。接线板上的每个插口内都有两个插孔，当将插头插入时，上插孔（连到键盘）与下插孔（连到转子）之间的连接就会被断开。另外一个插口内的上插孔会与此插口内的下插孔连接起来，而下插孔会与此插口内的上插孔连接起来，这样就完成了两个插口之间的连接。

<image>

### 附件

<image>

M4版恩尼格玛密码机配备的一个很有用的附件就是Schreibmax，这是一台小型打印机，它可以将字母打在一张纸条上。这就使德军不用再使用第二个操作员来记下显示板上的字母了。Schreibmax位于恩尼格玛密码机的顶部并与显示板连接。为了安装Schreibmax，显示板的盖子与里面的所有灯泡都需要被拆下。Schreibmax除了使用方便之外还可以提高保密性，因为它可以放置在离恩尼格玛密码机很远的地方，这样就不会有第三者看见未加密的原文了。

另外一个附件就是独立式显示板。如果恩尼格玛密码机配备了一个附加的显示板，那么装它的木盒就会更宽。安装独立式显示板也要求将显示板的盖子与里面的灯泡拆下。

1944年德国空军启用了Uhr（钟）系统。这是一个包含了一个旋钮的盒子，这个旋钮有40种位置。这个盒子的功能相当于接线板。

### 数学描述

恩尼格玛对每个字母的加密过程可以以数学的角度看作为一个组合过程。假设一台德国陆军/空军版3转子恩尼格玛密码机，P表示接线板的连线（plugboard），U表示反射器，L、M、R表示左（left）、中（middle）、右（right）转子。那么加密后的信息$E$就可以表示成

$$E = PRMLUL^{-1}M^{-1}R^{-1}P^{-1}E_0$$

## 操作步骤

<image>

德军的各支部队使用一些不同的通讯线路，每条线路中的恩尼格玛密码机都有不同的设置。为了使一条信息能够正确地被加密及解密，发送信息与接收信息的恩尼格玛密码机的设置必须相同；转子必须一模一样，而且它们的排列顺序，起始位置和接线板的连线也必须相同。所有这些设置都需要在使用之前确定下来，并且会被记录在密码本中。

恩尼格玛密码机的设置包含了以下几个方面：

- 转子：转子的结构及顺序。
- 起始位置：由操作员决定，发送每条消息时都不一样。
- 字母环：字母环与转子线路的相对位置。
- 接线板：接线板的连线。
- 在末期版本中还包括了反射器的线路。

恩尼格玛密码机被设计成即使在转子的线路设置被敌人知道时仍然会很安全，尽管在实际使用中德军尽了全力来防止线路设置被泄露出去。如果线路设置为未知，那么最多需要尝试10114种情况才可能推算出恩尼格玛密码机的密码；当线路和其它一些设置已知时，也最多需要尝试1023次。恩尼格玛密码机的使用者对它的保密性很有信心，因为敌人不可能使用穷举法来找出密码。

### 指示器

恩尼格玛密码机的大部分设置都会在一段时间（一般为一天）以后被更换。但是，转子的起始位置却是每发送一条信息就要更换的，因为如果一定数量的文件都按照相同的加密设置来加密的话，密码学家就会从中得到一些信息，并且有可能利用频率分析来破解这个密码。为了防止这种事情发生，转子的起始位置在每次发送信息之前都会被改变。这个方法被称作“指示器步骤”。

<image>

最早期的指示器步骤成为了波兰密码学家破译恩尼格玛密码机密码的突破口。在这个步骤中，操作员会先按照密码本中的记录来设置机器，我们假设这时的转子位置为AOH，之后他会随意打三个字母，假设为EIN，接着为了保险起见，他会将这三个字母重新打一遍。这六个字母会被转换成其它六个字母，这里假设为XHTLOA。最后，操作员会将转子重新设置为EIN，即他一开始打的三个字母，之后输入密电原文。

在接收方将信息解密时，他会使用相反的步骤。首先，他也会将转子按照密码本中的记录设置好，然后他就会打入密文中的头六个字母，即XHTLOA，如果发送方操作正确的话，显示板上就会显示EINEIN。这时接收方就会将转子设置为EIN，之后他就可将密电打入而得到原文了。

这个步骤的保密性差主要有两个原因。首先，操作员将转子的设置打到了密电中，这就使第三方能够得知转子设置。第二，这个步骤中出现了重复输入，而这是一个严重的错误。这个弱点使波兰密码局早在1932年就破解了二战之前的德军恩尼格玛系统。但是从1940年开始，德国改变了这个步骤，它的安全性也就提高了。

这个步骤只被用于德国陆军和空军。德国海军发送信息的步骤要复杂的多。在被恩尼格玛密码机发送之前，信息会先被Kurzsignalheft密码本进行加密。这个密码本将一个句子替换为了四个字母。它转化的句子包括了补给、位置、港湾名称、国家、武器、天气、敌人位置、日期和时间等内容。

### 缩写与指导

德国陆军的恩尼格玛密码机的键盘上只有26个字母，标点符号由字母组合来代替，X相当于空格。在各军种的恩尼格玛密码机中，X都相当于句号。有一些标点符号在不同军种的密码系统中被不同的字母组合代替。陆军的系统使用ZZ来表示逗号，FRAGE或FRAQ则表示问号。但是德国海军用来表示逗号及问号的则分别为Y和UD。Acht（意为“八”）和Richtung（意为“方向”）中的字母组合CH则由Q来代替。CENTA、MILLE和MYRIA分别表示两个、三个和四个零。

德国陆军和空军将每条信息都翻译成5个字母的代码。使用四转子恩尼格玛密码机的德国海军则将信息翻译成4字母代码。经常用到的词语代码与原词语的差别越大越好。Minensuchboot（意为“扫雷艇”）这样的词语可以被表示为MINENSUCHBOOT、MINBOOT、MMMBOOT或MMM354。比较长的信息会被分成几个部分来发送。

## 恩尼格玛的破译

<image>

1931年11月8日，法国情报人员与德军通讯部门长官鲁道夫·施密特（就是他下令德军使用恩尼格玛密码机的）的弟弟——汉斯-提罗·施密特，在比利时接头。在德国密码处工作的施密特很厌恶纳粹政权，于是他就向法国情报人员提供了两份有关恩尼格玛密码机的操作和转子内部线路的资料。但是法国还是无法破译它的密码，因为恩尼格玛密码机的设计要求之一就是要在机器被缴获后仍具有高度的保密性。当时的法军认为，由于凡尔赛条约限制了德军的发展，所以即使无法破译德军的密码，将来如果在战场上相见也不会吃多大亏，于是在得出德军密码“无法破译”的结论之后，就再也没有用心地研究它了。

与法国不同，第一次世界大战中新独立的波兰的处境却很危险，西边的德国根据凡尔赛条约割让给了波兰大片领土，德国人对此怀恨在心，而东边的苏联也在垂涎着波兰的领土。所以波兰需要时刻了解这两个国家的内部信息。这种险峻的形势造就了波兰一大批优秀的密码学家。他们很容易就监控住了德军内部的通讯系统，但是1926年被德军启用的恩尼格玛密码机却给他们造成了很大困难。

1921年，波兰与法国签订了一个军事合作协议。在波兰的坚持之下，法国把从施密特那里得来的情报交给了波兰人。恩尼格玛的指示器步骤存在严重缺陷，波兰人正是以这个缺点为突破口破解了商业用恩尼格玛密码机。

<image>

1940年由“超级机密”破解的德军情报表示，德国人会在11月14日进行大规模空袭，地点包括伦敦、考文垂在内的三个可能地点。最终英国人也未能确认地点，未能阻止考文垂大轰炸的发生。Q5424088的书中说丘吉尔已确认了空袭地点，但出于隐匿“超级机密”的考虑未采取预防措施，这一说法广泛流传乃至电视剧《神探夏洛克》也有所引用。Q367200，爵士，Q29426385和Q1364666对此进行了全面的反驳，指当时丘吉尔正在前往迪奇利公园的路上，被告知伦敦将会被空袭，于是折回唐宁街十号准备在空防部顶楼亲眼观看空袭。

但1941年英国海军在舰长的斗牛犬号军舰捕获德国潜艇U-110才真正拿到德国海军用的密码机和密码本，并将此事保密只告诉美国罗斯福总统，英国国王乔治六世称赞此事件是整个二次大战海战中最重要的事件。这让原本连数学天才图灵也破解不出的德军密码机得到破解，盟军设计的专门用来破译恩尼格玛密码的“炸弹”机也大大提高了布莱切利园的工作效率。

在战争结束以后，英国人并没有对破解恩尼格玛一事大加宣扬，因为他们想让英国的殖民地用上这种机器。1967年，波兰出版了第一本有关恩尼格玛破译的书，1974年，曾在布莱切利园工作过的英国人威廉·温特博特姆写的《超级机密》（The Ultra Secret）一书出版，这使外界广泛地了解到了第二次世界大战中盟军密码学家的辛勤工作。但是书中的丘吉尔为保守秘密而不通知考文垂将被轰炸一段被认为是小说家言，并非史实。

2001年4月21日，以为破译恩尼格玛而做出了重大贡献的三位杰出的波兰密码学家马里安·雷耶夫斯基、杰尔兹·罗佐基和亨里克·佐加尔斯基命名的雷耶夫斯基、罗佐基和佐加尔斯基纪念基金在华沙设立，它在华沙和伦敦设置了这些波兰密码学家的纪念铭牌。2001年7月，基金会在布莱切利园安放了一块基石，上面刻着丘吉尔的名言“人类冲突史上从未有如此之少数，于如此短暂之时，挽救如此多众生。”

## 恩尼格玛密码机的历史与发展

恩尼格玛密码机系列中包含了许多型号。最初的恩尼格玛密码机是1920年代早期启用的商业用型号。1920年代中期，德国军方的各支部队也开始使用恩尼格玛密码机，他们进行了一些改进以提高它的保密性。一些其它国家也使用了恩尼格玛密码机或它的仿制品。

<image>

### 商业用恩尼格玛密码机

<image>

1918年2月23日，德国工程师Q58816申请了他设计的一种使用转子的密码机的专利，并和Q27528601组建了谢尔比乌斯和里特公司。他们向德国海军和外交部推销这种密码机，但是没有人对它感兴趣。他们随后将专利权移交给了Gewerkschaft Securitas，他在1923年7月9日组建了Chiffriermaschinen Aktien-Gesellschaft（意为“密码机股份公司”）；谢尔比乌斯和里特任董事。

<image>

该公司随后开始推销他们的“恩尼格玛A型”转子机，它从1923年到1924年都在万国邮政联盟大会展出。这台机器很笨重，它包含了一台打字机。它的体积为65×45×35立方厘米。重量大约为50公斤。之后，B型恩尼格玛密码机也被生产了出来，它在结构上与A型相似。尽管名字为“恩尼格玛”，但A和B两种型号和后来的型号之间有很大的差别，这两种型号在大小和形状上有所不同，并且没有反射器。

反射器这个主意是由谢尔比乌斯的同事Q23063395想出来的，1926年的“恩尼格玛C型”首先安装了反射器。反射器是恩尼格玛密码机的一个显著特征。

<image>

C型比前几种型号更小且更易于携带。它没有配备打字机，而是由操作员来记下显示板上的信息，所以它又有了“亮着灯的恩尼格玛密码机”这样一个外号。恩尼格玛C型很快就被恩尼格玛D型（1927年开始生产）取代。D型得到了广泛的应用，它的样品被送到过瑞典、荷兰、英国、日本、意大利、西班牙、美国和波兰。

### 军用恩尼格玛密码机

德国海军是德国第一支使用恩尼格玛密码机的部队。海军型号从1925年开始生产，于1926年开始使用。键盘和显示板包含了29个字母，即A-Z、Ä、Ö和Ü，它们在键盘上按顺序排列，而不是按一般的QWERTY式。每个转子有28个触点，字母X的线路不经过转子，也不被加密。操作员可以从一套5个转子之中选择三个，而反射器可以有四种安装位置，代号分别为α、β、γ和δ。1933年7月这种型号又经过了一些小改进。

到了1928年7月15日，德国陆军已经有了他们自己的恩尼格玛密码机，即“恩尼格玛G型”，它在1930年6月经过改进成为了“恩尼格玛I型”。恩尼格玛I型于二战之前与进行的时候在德国军方和其它一些政府组织那里得到了广泛的应用。恩尼格玛I型与商业用恩尼格玛密码机最显著的不同就是I型有一个接线板，这极大地提高了它的保密性。其余的一些不同点包括了固定的反射器，并且I型转子的V形刻痕移到了字母环上。这台机器体积为28×34×15立方厘米，重量约为12公斤。

1930年，德国陆军建议海军采用他们的恩尼格玛密码机，他们说（有接线板的）陆军版安全性更高，并且各军种之间的通信也会变得简单。海军最终同意了陆军的提议，并且在1934年启用了陆军用恩尼格玛密码机的海军改型，代号为“M3”。当陆军仍然在使用3转子恩尼格玛密码机时，海军为了提高安全性可能要开始使用5个转子了。

1938年12月，陆军又为每台恩尼格玛密码机配备了两个转子，这样操作员就可以从一套5个转子中随意选择三个使用。同样在1938年，德国海军也加了两个转子，1939年又加了一个，所以操作员可以从一套8个转子中选择三个使用。1935年8月，德国空军也开始使用恩尼格玛密码机。1942年2月1日，海军为U型潜艇配备了一种四转子恩尼格玛密码机，代号为“M4”（它的通信网络叫做“蝾螈”，而盟军叫它“鲨鱼”）。

曾经还有一种大型八转子可打印型恩尼格玛密码机，叫做“恩尼格玛II型”。1933年，波兰密码学家发现它被用于德军高层之间的通讯，但是德军很快就弃用了它，因为它不可靠，并且经常出故障。

<image>

德国防卫军用的是“恩尼格玛G型”。这种型号有四个转子，没有接线板，并且在转子上有多个V形刻痕。这种恩尼格玛密码机还有一台会记录按键次数的计数器。

其它国家也使用了恩尼格玛密码机。意大利海军使用了商业用恩尼格玛密码机来作为“海军密码机D型”。西班牙也在内战中使用了商业用恩尼格玛密码机。英国密码学家成功地破解了它的密码，因为它没有接线板。瑞士使用了一种叫做“K型”或“瑞士K型”（军方与外交机构使用）的密码机，它与商业用恩尼格玛密码机D型非常相似。许多国家都破解了它的密码，这些国家包括了波兰、法国、英国和美国。日军使用了“恩尼格玛T型”。

恩尼格玛密码机并不是完美的，尤其是在盟军了解了它的原理之后。这就使盟军能够破译德军的通讯，而这在大西洋海战中是具有关键作用的。

人们估计一共有100,000台恩尼格玛密码机被制造出来。在二战结束以后，盟军认为这些机器仍然很安全，于是将他们缴获的恩尼格玛密码机卖给了一些发展中国家。

## 保存下来的恩尼格玛密码机

<image>

盟军破解恩尼格玛密码机的过程直到1970年才公开。从那以后，人们对恩尼格玛密码机产生了越来越多的兴趣，美国与欧洲的一些博物馆也开始展出了一些恩尼格玛密码机。慕尼黑的德国博物馆有一台3转子和一台4转子恩尼格玛密码机，还有几台商业用恩尼格玛密码机。美国国家安全局的国家密码学博物馆有一台恩尼格玛密码机，来参观的客人可以用它来加密及解密信息。美国的计算机历史博物馆、英国的布莱切利园、澳大利亚堪培拉的澳大利亚战争纪念馆和德国、美国和英国一些地方也展出着恩尼格玛密码机。现在已经关闭了的圣地亚哥计算机博物馆的展品中有一台恩尼格玛密码机，它在博物馆关闭后被送给了圣迭戈州立大学图书馆。一些恩尼格玛密码机也成为了私人收藏品。

恩尼格玛密码机有时也会被拍卖，20,000美元的竞拍价并不稀奇。

恩尼格玛密码机的复制品包括了一台德国海军M4型的复制品，一台电子系统经过了改进的恩尼格玛密码机（恩尼格玛E型），各种计算机模拟软件和纸制模型。

一台罕见的序号为G312的德国情报局版恩尼格玛密码机于2000年4月1日从布莱切利园被偷走。9月，一个自称“老大”的人放出消息说他要得到25,000英镑，否则就会将那台恩尼格玛密码机毁掉。2000年10月，布莱切利园的官员宣布他们会支付这笔钱，但是在钱付完之后敲诈者却没有回信。就在此后不久，它被匿名地送到了BBC的记者杰里米·帕克斯曼那里，但是三个转子却不见了。2000年11月，一个叫做丹尼斯·叶茨的古董交易家在给星期日泰晤士报打电话要交还那些遗失的转子后被拘捕。事后那台恩尼格玛密码机被送回了布莱切利园。2001年10月，叶茨在承认他就是偷了那台恩尼格玛密码机并对被布莱切利园董事基丝丁·拉吉（Christine Large）进行了敲诈的人后，被判了10个月的有期徒刑，但他坚持说自己只是为第三者服务的一个中间人。他在入狱三个月后被释放。

### 恩尼格玛密码机的变种

恩尼格玛密码机对密码机的设计是非常有影响的，有一些其它的转子机械就起源于它。英国的Typex机就起源于恩尼格玛密码机的专利设计，它甚至包含了真实的恩尼格玛密码机中并未应用的专利设计。为了保密，英国政府没有为应用这些专利设计付版税。日本使用了一种被美国密码学家称作GREEN的恩尼格玛密码机复制品。在这台并没有被大量使用到的机器中，四个转子是垂直排列的。美国密码学家Q969082设计了M-325，这是一台与恩尼格玛密码机具有相似原理的机器，但它从没有被造出来过。

2002年，荷兰的塔吉雅娜·凡·瓦克（Tatjana van Vark）制造了一台独特的转子机器。这台机器也是起源于恩尼格玛密码机，但是它的转子有40个金属触点及管脚，这就使操作员可以输入字母、数字和一些标点；这台机器包含了509个部件。

日本的GREEN机。-->｜

<image>

## 相关改编

Q5933057创作的戏剧“破译密码”的内容为艾伦·图灵的生活，艾伦·图灵是在二战中帮助英国破解恩尼格玛密码机的密码的最大功臣。

英国作家罗伯特·哈里斯于1996年出版的小说“恩尼格玛”讲述的是布莱切利园的密码学家们破解恩尼格玛的过程。2001年这本小说被拍成了电影“恩尼格玛”。

由乔纳森·莫斯托拍摄并于2000年上映的电影U-571讲的是一群美国潜艇兵为缴获一台恩尼格玛密码机而抢了一艘德国潜艇后的故事。电影中的恩尼格玛密码机是一个收藏家手里的真品。这部电影的情节并没有严格地按照历史发展，英国皇家海军在1941年击败德军潜艇U-110号最早获得德国海军密码机，也是猎杀U-571电影的真实版本，美国只是在1944年诺曼底登陆之前缴获了一艘U型潜艇。

2014年上映的电影《模仿游戏》讲述了艾伦·图灵等英国的数学家、逻辑学家协助军方破解恩尼格玛密码机的过程。

2019年网易推出的非对称对抗悬疑手游《第五人格》中求生者阵营需要破译五台密码机让大门开启，逃生所需破译的五台密码机就是恩尼格玛密码机。

## 相关

- 密码学
- 恩尼格玛的破译
- （美国）
- （英国）
- （德国，其盟军代号为“金枪鱼”）
- （德国，其盟军代号为“鲟鱼”）
- 紫密码机（日本主要的密码机，パープル暗号）
- M-209
- Enigma@Home （一个旨在通过分布式计算破译Enigma密码的BOINC项目）

## 参考资料

- Bauer, 2000, p. 108, Bauer, 2000, p. 112 .
- Hamer, David H.; Sullivan, Geoff; Weierud, Frode; Enigma Variations: an Extended Family of Machines; Cryptologia 22（3）, July 1998. Online version (PDF). archive.today
- Ulbricht, Heinz; Die Chiffriermaschine Enigma—Trügerische Sicherheit: Ein Beitrag zur Geschichte der Nachrichtendienste, PhD Thesis, 2005（in German）. Online version (PDF).
- Hinsley and Stripp, Alan;（eds.）; Codebreakers: The Inside Story of Bletchley Park; 1993; pp. 83–88. Section by Alan; Stripp The Enigma Machine: Its Mechanism and Use
- Kahn, David; Seizing the Enigma: The Race to Break the German U-Boats Codes, 1939-194;（1991）
- Kruh, Louis; Deavours,Cipher; The Commercial Enigma: Beginnings of Machine Cryptography; Cryptologia, 26（1）, pp. 1–16, 2002. Online version (PDF). archive.today
- Kozaczuk, Wladyslaw; The origins of the Enigma/ULTRA archive.today
- Marks, Philip; Weierud Frode; Recovering the Wiring of Enigma's Umkehrwalz A; Cryptologia 24（1）, January 2000, pp55–66.
- Smith, Michael Station X; 4 books (macmillan) 1998; Paperback 2000; ISBN 978-0-7522-7148-4
- ENIGMA的兴亡 (二) archive.today
- ENIGMA的兴亡 (三上) archive.today

## 延伸阅读

- Christine Large, Hijacking Enigma, 2003, ISBN 978-0-470-86347-3.
- Philip Marks, "Umkehrwalze D: Enigma's Rewirable Reflector—Part I", Cryptologia 25（2）, April 2001, pp. 101–141.
- Philip Marks, "Umkehrwalze D: Enigma's Rewirable Reflector—Part II", Cryptologia 25（3）, July 2001, pp. 177–212.
- Philip Marks, "Umkehrwalze D: Enigma's Rewirable Reflector—Part III", Cryptologia 25（4）, October 2001, pp. 296–310.
- Tom Perera, The Story of the ENIGMA: History, Technology and Deciphering, 2nd Edition, CD-ROM, 2004, Artifax Books, ISBN 978-1-890024-06-2 .
- Arturo Quirantes, "Model Z: A Numbers-Only Enigma Version", Cryptologia 28（2）, April 2004.
- Heinz Ulbricht, Enigma Uhr, Cryptologia, 23（3）, April 1999, pp. 194–205

照片

- 一些恩尼格玛密码机的照片
- 各种恩尼格玛密码机及其部件的照片
- 一台海军四转子恩尼格玛密码机的照片

描述

- 恩尼格玛密码机，作者为Tony Sale
- 恩尼格玛密码机—密码学里的一个著名故事，作者为Martin Oberzalek
- 恩尼格玛/ULTRA的起源 archive.today，作者为Dr. Wladyslaw Kozaczuk

模拟软件和复制品

- 教你做M4恩尼格玛密码机的复制品
- 恩尼格玛E型 —自己制作一台恩尼格玛密码机
- 模拟软件 archive.today（Adobe Flash）
- 德国三军恩尼格玛密码机的模拟软件 （Microsoft Windows软件）
- 德国三军恩尼格玛密码机的模拟软件 archive.today（Windows 98/XP/Vista）
- 德国三军恩尼格玛密码机的模拟软件 archive.today（Windows 98/XP/Vista）
- 模拟软件 （Swing应用，JAR格式）
- 模拟软件 archive.today（Java applet）
- enigma模拟软件 （Java applet）
- 模拟软件 (纸模型) archive.today
- 模拟软件 （WinZip格式）
- 恩尼格玛密码机转子与配线
- 恩尼格玛密码机转子

杂项

- David Hamer关于恩尼格玛密码机的网页 archive.today，包括了一些仍然在世上的恩尼格玛密码机的名单和价格
- 恩尼格玛密码机的展出地点清单
- 德国军用手册档案，包括了恩尼格玛密码机和密码系统的秘密手册
- 恩尼格玛解密教程，解密10条信息
- 截获并破解恩尼格玛信息