﻿ 恩尼格玛密码机原理解析（Enigma principle ） - 鸿网互联

# 恩尼格玛密码机原理解析（Enigma principle ）

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

### 转子

（rotor 转子；pawl；防倒转爪；ratchet 棘轮；notch 刻痕）

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

### 指示器

The Kriegsmarine used the following abbreviations before enciphering their text:
X = Period
Y = Comma
UD = Question Mark
XX = Colon
YY = Dash/Hyphen/Slant
KK*****KK = Parenthesis
J*****J = Stress Mark
Numbers are written out as words.
The Wehrmacht used other abbreviations:
KLAM = Parenthesis
ZZ = Comma
X = Full stop (end of sentence)
YY = Point or dot
X****X = Inverted commas
Question mark ( Fragezeichen in German) is usually abbreviated to one of the three following forms:
FRAGE, FRAGEZ or FRAQ
Foreign names, places etc. twice delimited by "X", e.g. XPARISXPARISX
The letters CH is written as Q, e.g. ACHT was written as AQT, RICHTUNG as RIQTUNG
It was prohibited to encipher the word "null" several times in succession. For several nulls these
abbreviations are used:
00 = CENTA
000 = MILLE
0000 = MYRIA
Examples: 200 = ZWO CENTA, 00780 = CENTA SIEBEN AQT NULL

“Here is an example of how the German Luftwaffe sent messages that were encrypted using Enigma. The
operators never used the secret daily key to encrypt the message but used this key only to encrypt a
randomly chosen message-key
or 'trigram' that was chosen by the operator. This message-key was used to
encrypt the rest of the message. With this procedure they avoided excessive use of the secret daily key,
and each message on that day was encrypted with another randomly chosen key. During the war, different
systems like this were implemented to use the codebooks. In general, a codebook contained all the
settings, per day, for a whole month.”

31日传送来的密码：

“EHZ”（the trigram）为当日查密码本得的daily Key（转子初始位置）

1.按31日要求，选择转子（Walzen /rotors）并校正 转子内的字母环 （Ringstellung）连接接线板（plugs / 'Stecker' ）

2.将起始位置设置为“EHZ”，

3.键入所收信息的trigram，即TBS，应得到译码XWB，这就是消息的密钥(message-key)

4.设置XWB为转子位置

5.译码其余部分

It's a message from the SS-Totenkopf
Division and is from the campaign against Russia, operation Barbarossa.

3-rotor model
UKW: B (reflector)
Walzenlage: 245
Ringstellung: BUL
Stecker: AV BS CG DL FU HZ IN KM OW RX

RFUGZ及FNJAU是密码本中Kenngruppen项确定密码被使用的，译码时要跳过。

AUFKL.ABTEILUNG.VON.KURTINOWA.KURTINOWA.NORDWESTL.SEBEZ.SEBEZ.UAFFLIEGERSTRASZERIQTUNG.DUBROWKI.DUBROWKI.OPOTSCHKA.OPOTSCHKA.UM.EINSAQTDREINULL.UHRANGETRETEN.ANGRIFF.INF.RGT.DREIGEHTLANGSAMABERSIQERVORWAERTS.EINSSIEBENNULLSEQS.UHR.ROEM.EINS.INFRGT.DREI.AUFFLIEGERSTRASZEMITANFANG.EINSSEQS.KM.KM.OSTW.KAMENEC.KAMENEC.DIV.KDR.

Reconnaissance unit from KURTINOWA north-west of SEBEZ
on the flight corridor in direction DUBROWKI, OPOTSCHKA.
Started to move at 18:30. Attack. Infantry Regiment 3 goes
slowly but surely forwards. Time: 17:06. I (Roman number 1).
Infantry Regiment 3 on the flight corridor starting 16 km
east-west of KAMENEC.
Division Commander.

感兴趣的朋友们，可以到http://enigmaco.de/enigma/enigma.html 试一试哦。

<