Deutsch | » English
by Daniel Palloks
-upd- Universal Enigma (v2.5 EN)|
14 models | custom mode | Uhr; UKW-D
|————— Legacy versions —————|
Universal Enigma (v2.0 EN)|
12 models | custom mode | Enigma-Uhr
|——————— Tools ———————|
|[ Coming soon…]|
The Enigma is probably the most famous electromechanical device (or rather, series of devices) for message encrypting. It was used to a great extent by Germany during World War II. The successful reverse engineering of the machine in Poland and the codebreaking efforts at Bletchley Park (UK) involving thousands of people, among them several ingenious mathematicians, have become legend.
Enigma operates as a rotor machine to achieve polyalphabetic substitution. This means the letter substitution scheme is not fixed but changes with the propagation of Enigma's rotating ciphering wheels and thus, the letter's position in a text. The wheels advance stepwise with every keystroke, thereby triggering, in some positions, the adjacent wheel to the left to perform a step as well, pretty much as in a mechanical counter. Inside a wheel each letter position is biuniquely rendered to another position through a fixed set of wires. By combining and rotating the wheels, however, a very complex substitution code is obtained. Furthermore, the inner wiring as a whole can be rotated against the outer letter ring and, more importantly, against the trigger notches (this is known as "ring setting"). In some models, pairs of letters can be additionally swapped by interconnecting plugs ("stecker") on a plugboard via cables.
Towards the end of WWII, a special rewirable reflector wheel (UKW-D) was introduced, as was an external device called Enigma-Uhr, or Stecker-Uhr. The latter allowed for the stecker connections' in- and outputs to be scrambled in complex, non-reciprocal patterns. The Uhr thus acted on the stecker I/Os very much like a settable, non-rotating cipher wheel.
Enigmas are equipped with a typewriter-like keyboard for input, while output is shown on a lampboard that in its layout resembles the keyboard. With every keystroke, the signal is routed first through the plugboard (if present), then through the fixed entry wheel and the rotor set, arriving at the reflector wheel. From there it is sent back on a different path – but with all rotor positions still the same – through the rotors, the entry wheel and again the plugboard until it reaches the lampboard where it lights the bulb corresponding to the substitute letter. A letter was therefore never encoded to itself, which would prove to be Enigma's most serious weakness. The symmetrized signal path and the resulting symmetric encryption however make it possible to decipher a message using the same machine setting it was encrypted with.
There was a variety of Enigma models available for civilian and military use, as well as for export. Even within a model line there were sometimes variants with altered specifiations. An "Enigma family tree" can be found in the Links section.
The best-known models today are Enigmas I ("Service Enigma"), M3 ("Naval Enigma"), M4 ("Shark") and G ("Abwehr Enigma").
Enigmas I and M3 had three rotor wheels, and fixed entry wheel (ETW) and reflector (RFL / German: UKW). They were used by the German Army including, in the case of the M3, the Navy with the exception of the submarine fleet. The latter used the more advanced M4, with an additional settable (non-rotating) wheel, called Greek wheel, in combination with a thinner reflector – a setup that in default configuration was "backward compatible" to the I/M3. – All models of this "M-line" (comprising among others the Norwegian Enigma N and the "Sonder-Enigma" used by the Military Office) were also equipped with a plugboard.
Aside from the military line, a commercial line of Enigmas was established and successfully marketed to businesses and for export. These models basically had the same design as the M-line, but no plugboard, and were instead equipped with a settable (but non-rotating) reflector. The commercial line originated in the Enigma D (later named Enigma K) and some well-documented models are the "Swiss-K", the Railway Enigma ("Rocket"), the Japanese "Tirpitz" and the special Enigma KD with rewirable UKW-D reflector, which was used by the German Military Office.
In contrast to the other models, the Abwehr Enigma G, a technical gem used mainly by German counter-intelligence, was powered by a cogwheel-gear drive rather than a lever mechanism. Furthermore, it had a rotating reflector/UKW and wheels with multiple notches, but no plugboard. A predecessor of Enigma G was the "Zählwerk-Enigma" (A28), which was a commercial machine.
Last not least, there were also custom-built models, such as a Swedish machine with 28-position rotors, and more exotic ones, like Enigma Z (Z30, "Numbers Enigma"), which had rotors with only ten positions (numbers 0..9) and was used to encrypt numerical messages.
All Enigma models fall into either of two categories with respect to the wheel driving and stepping mechanism: lever-induced stepping, i.e. pawls and ratchets (which leads to a typical stepping anomaly of the middle rotor, known as double-stepping, see Features) – and gear-driven, with regular stepping, like a mechanical counter. The M-line models and most of the commercial Enigmas belong to the first, the Abwehr and Zählwerk machines to the second category. Within each category only minor differences remain, such as rotor wiring, settable/non-settable UKW, or whether a plugboard is included.
Since any serious codebreaker wants to be geared up for what's out there, but creating and maintaining separate simulations for all the different models would be pretty dull, this website offers the "Universal Enigma". It contains every model with 26-position rotors that has sufficiently documented specifications available at this time. Moreover, it is also equipped with a Stecker-Uhr and, as of version 2.5, with the rewirable reflector UKW-D.
There was of course no such Enigma for real, historically! However, bundling everything into a single, uniform entity has the benefit of making all models available at any time and in a compact way, which makes it possible to easily switch between them and compare their features and functionality. (Also, since the release of Universal Enigma this approach has been widely embraced for Enigma simulation.) Each selected model preset will behave like a separate simulation, including possible limitations for wheel selection, reflector type and so on. But in addition to this, a "Custom" mode allows for individual setting of functionality features (including wheel drive mechanism) and free combination of all included components, and thereby for the creation of entirely new Enigma models.
For details and specs, see the Features section.
… and the following additional components:
:I "Services" (Army; Air Force)
M3 (Army; Navy)
M4 "Shark" (U-Boats)
N "Norenigma" (Norway)
S "Sonder-Enigma" (Mil Amt) *
K "Swiss K"
R "Rocket" (Railway)
T "Tirpitz" (Japan)
KD (rewirable UKW-D) *
:A-865 "Zählwerk" (1928)
G-111 (Hungary / Munich)
G-260 (Abwehr in Argentina)
G-312 (Abwehr / Bletchley Park)
[ Changelog ]
Enigma's cryptographic key consists of the following parts:
The first three make up the daily key, laid out in a code book and known to both sender and recipient. The wheels' initial positions were assigned individually to each message, and are called the message key.
Being unknown to the recipient, the message key had to be included in the transmission and therefore, had to be encrypted itself. This was done using the common daily key as follows:
Having received the transmission, the recipient would now follow the same procedure (involution!): set the machine to the daily key, adjust wheel positions according to the first group (WPOS), type in the second group (IPXH), thus obtaining the message key (CODE). This would then be set as starting position for the wheels, so the message could be deciphered.
* * *
Since the wheels only contain letters A to Z, only these can be encrypted. Numbers and other characters have to be either spelled out, omitted, or represented (preferably by rarely used letters or letter combinations). For example, X would often be used for a discriminator (comma, point). The German military also generally substituted the digraph "ch" with "Q" (so "Schiff" [boat] would become "SQIFF").
To make decryption harder (cycle detection), the length of a message had been restricted to 250 characters. After that the message key was to be changed. Longer messages were split up in parts to be coded with different message keys.
Sometimes the message key was altered within a running message part; this would be indicated in the plain text by a pre-arranged code (e.g. "CYDE" for "set leftmost rotor on position 'D' now").
NB: In the simulations one would want to use 'QWERTZU' input mode in such a case, as it allows for re-adjusting the wheel positions with text already input. The new wheel settings affect only subsequent input.
It was important to vary the structure of messages, especially when parts of the content, such as proper names or the message header ("From... To...") were likely to be deduced. Abbreviations had to be varied for the same reason. Or, for example, while X was commonly used to denote a full stop in clear text, it had to be omitted at the very end of a message. Such precautions were not always observed, though, a fact that played greatly into the hands of the codebreakers.
The Enigma I (aka Wehrmacht Enigma or Services Enigma) can bee seen as a predecessor of the M3. Already in use with the Reichswehr in 1930, it remained the most widely-used model until the end of World War II.
Enigmas of type I and M3 are compatible if the following is being considered:
-- Tip: The combined simulations "Enigma I & M3" and "Universal Enigma" have the old reflector UKW A included as well.
Model M3 (and thus, also Enigma I) can be emulated within the M4. For this the reflectors have to be made "compatible" by either of the following settings:
Copyright © 2007-2019 by Daniel Palloks. -- This software and source code may be used, distributed and modified freely as long as (1) my authorship remains acknowledged, (2) any modification is properly indicated, (3) the freeware/ open source status and the conditions for distribution and modification remain unchanged. A copy of this statement must be distributed together with the software. -- This software is provided "as is". The author will not be liable for any damage - direct, indirect or consequential - resulting from the use of this software.
I am not responsible for the contents of external web pages reached via links from this site.
The Enigma logo graphic is in the public domain (source: Wikimedia Commons).
© Daniel Palloks 2009-2019
Last change: Feb 11, 2019
HTML 4.01 Strict