Enigma Machine Logo

ENIGMA I MACHINE

German Army (Wehrmacht) & Air Force (Luftwaffe) Model • 1930-1945

Historical Overview

The Enigma I machine was the primary encryption device used by the German Army (Wehrmacht) and Air Force (Luftwaffe) during World War II. Developed in the 1920s and refined throughout the 1930s, this electro-mechanical cipher machine represented the pinnacle of cryptographic technology for its time.

The machine's security relied on its complex system of three rotating cipher wheels (rotors), a reflector, and a plugboard that could swap up to 13 pairs of letters (though typically 6-10 pairs were used operationally). Each rotor contained unique internal wiring that scrambled the alphabet, and the rotors advanced with each keystroke, creating a polyalphabetic substitution cipher of extraordinary complexity.

How It Worked

When an operator pressed a key, an electrical signal would travel through the plugboard (if that letter was wired), then through all three rotors from right to left, bounce off the reflector, and return through the rotors in reverse. The final letter would illuminate on the lampboard, showing the encrypted result.

Watch this detailed explanation of how the Enigma machine's mechanical and electrical components work together to create its complex encryption.

The Double-Stepping Anomaly

The rightmost rotor advanced with each keystroke, and the other rotors advanced according to their notch positions, creating the machine's famous "double-stepping" anomaly. This was not a design flaw, but rather an inherent mechanical behavior that occurred when the middle rotor was about to trigger the leftmost rotor.

Here's how double-stepping worked: When the middle rotor reached its notch position, it would cause the leftmost rotor to advance on the next keystroke. However, due to the mechanical linkage, the middle rotor would also advance again on that same keystroke - hence "double-stepping." This meant the middle rotor would advance on two consecutive keystrokes when this condition was met.

For example, if the rotors showed positions "ADT" and the middle rotor (D) was at its notch position, the next keystroke would advance all rotors to "BEU" - but then the following keystroke would advance them to "BFV" (notice the middle rotor advanced twice: D→E→F). This anomaly reduced the theoretical key space and was one of the mechanical weaknesses that Allied codebreakers learned to exploit.

This video demonstrates the double-stepping anomaly - a crucial mechanical behavior where the middle rotor can advance twice in succession.

How to Encrypt and Decrypt Messages

Setting Up the Machine: Both sender and receiver must configure their machines identically using the daily key sheet:

  • Rotor Order: Drag rotors to arrange them in the specified sequence (e.g., II-V-III)
  • Rotor Positions: Set each rotor to its starting letter using the increment/decrement buttons
  • Plugboard: Create wire connections between letter pairs as specified (maximum 6 pairs)

Encrypting: Simply type your message on the keyboard. Each letter you press will:

  • Advance the rotors (rightmost rotor steps with each keystroke)
  • Light up the encrypted letter on the lampboard
  • Display the encrypted text in the output window

Decrypting: Set up an identical machine with the same daily settings and type the encrypted message. The Enigma's reciprocal property means the same settings that encrypted a message will decrypt it.

Historical Note:

German operators used 'X' to represent spaces and punctuation, as the Enigma had no space key. Messages were typically sent in 5-letter groups for transmission clarity.

How the Allies Cracked Enigma

Contrary to popular belief, the Allies didn't "break" Enigma by discovering a mathematical flaw in the cipher itself. The machine's cryptographic design was actually quite sound. Instead, Enigma was defeated through a combination of operational weaknesses, human errors, and brilliant analytical work.

1. Operational Mistakes

German operators made critical errors that provided codebreakers with "cribs" (known or guessed plaintext):

  • Reusing common phrases like "Heil Hitler" or "Nothing to report"
  • Following predictable message formats and timing
  • Sometimes repeating entire messages or using weak key selections
  • Weather reports that followed standard meteorological formats

2. Structural Vulnerability

Enigma had one crucial weakness: no letter could ever encrypt to itself. This was due to the reflector mechanism that bounced signals back through the rotors. This constraint eliminated millions of possible solutions and helped codebreakers narrow down the correct settings.

3. Captured Materials

Physical captures were game-changers:

  • Codebooks and key sheets from captured U-boats and weather ships
  • Rotor wiring diagrams that revealed the internal scrambling patterns
  • Daily key settings that provided direct access to encrypted traffic

4. The Bombe Machine

Alan Turing's electro-mechanical "Bombe" didn't use brute force. Instead, it used logical deduction:

  • Started with a suspected crib (known plaintext fragment)
  • Systematically eliminated impossible rotor and plugboard settings
  • Used contradictions to rule out incorrect configurations
  • Could test thousands of settings per hour, far faster than human analysis

Key Insight:

Enigma was not mathematically broken — it was practically defeated through operational weaknesses, pattern recognition, captured intelligence, and mechanical automation. The cipher itself remained cryptographically strong throughout the war.

Using This Simulation

This interactive simulation recreates the exact behavior of a historical Enigma I machine. You can adjust rotor positions, create plugboard connections, and encrypt messages just as German operators did during the war. The machine implements authentic rotor wirings, the double-stepping mechanism, and Reflector B configuration used by the Wehrmacht.

Try experimenting with different settings to see how dramatically they change the encryption. Notice how the same letter produces different encrypted results as the rotors advance, and how no letter ever encrypts to itself — the very weakness that helped the Allies crack this formidable cipher machine.

Rotors

Using Reflector B (UKW-B) - Standard Wehrmacht Configuration

Rotor III

A
A

Rotor II

A
A

Rotor I

A
A

Lampboard

Q
W
E
R
T
Z
U
I
O
A
S
D
F
G
H
J
K
P
Y
X
C
V
B
N
M
L

Keyboard

Plugboard

0 of 13 wires connected
Q
W
E
R
T
Z
U
I
O
A
S
D
F
G
H
J
K
P
Y
X
C
V
B
N
M
L

References & Further Reading

Historical Information

Code Implementations

Note: This simulation is built with Phoenix LiveView and Elixir, implementing historically accurate rotor wirings, ring settings, and the double-stepping mechanism. The source code demonstrates functional programming approaches to cryptographic simulation.