> ENIGMA MACHINE
The idea in plain English: Imagine a combination lock with three rotating discs. When you press a letter on a keyboard, an electrical signal travels through the discs, bounces off a reflector at the end, comes back through a different path, and lights up a different letter. After each key press, the first disc rotates one position — so pressing the same letter twice produces different outputs. This ever-changing path made Enigma extremely hard to crack. The starting positions of the three discs (the "key") were changed daily.
Why this really exists: The Enigma machine was used by Nazi Germany in WWII. The Allied codebreakers at Bletchley Park, led by Alan Turing, developed the Bombe — an electromechanical computer — to crack Enigma messages. This effort shortened the war by an estimated 2-4 years and saved millions of lives. It's also considered the birth of modern computing. Today, the same rotor principle is used in some high-security mechanical locks.
▸ Concrete Example
Let's trace one letter through the machine. Rotor I starting at position A, we press "H":
2. Rotor I wiring maps 7→4 (E) — the rotor's internal wiring scrambles the letter
3. Rotor II maps 4→10 (K)
4. Rotor III maps 10→21 (V)
5. Reflector B maps V→? (reflector sends it back through a different path)
6. Signal returns through rotors in reverse order
7. Output: some other letter (let's say "Q")
H → Q (this time). Press H again → different output (because rotor rotated!)
The magic property: encrypting and decrypting are the same operation. Type "Q" into a machine with the same settings and you get "H" back. That's the reflector's doing.
▸ How to Solve (Step by Step)
1. Set rotors to the given starting positions
2. For each ciphertext character:
— Advance the rightmost rotor by 1 position (if it wraps, advance the next rotor)
— Pass the signal through each rotor's wiring (accounting for current rotor offset)
— Pass through the reflector
— Pass back through rotors in reverse order
— Record the output character
3. The resulting string is the decoded message (which is also the answer)
rotor_I = "EKMFLGDQVZNTOWYHXUSPAIBRCJ" # A→E, B→K, etc.
rotor_II = "AJDKSIRUXBLHWTMCQGZNPYFVOE"
rotor_III = "BDFHJLCPRTXVZNYEIWGAKMUSQO"
reflector_B = "YRUHQSLDPXNGOKMIEBFZCWVJAT"
# Important: the rotor offset changes the wiring:
# If rotor is at position 3, then input letter A (0)
# actually maps through position (0+3)=3 → D in the rotor table
💡 The standard Enigma I used 3 out of 5 possible rotors, chosen daily. The puzzle tells you which 3 rotors are used and their starting positions.
▸ Real-World Applications
- Modern computing: The Bombe (Enigma-cracking machine) was a direct ancestor of modern computers
- Smart cards: Some high-security chip cards use rotor-like scrambling internally
- History: What Alan Turing and Bletchley Park achieved changed the course of WWII and computing
- Cryptography education: Enigma is the perfect case study in "why good encryption needs keys to be random and frequently changed"