Encryption with Enigma
Encryption with Enigma
The Enigma machine was an encryption device used extensively by the German armed forces during World War II. An ingenious electromechanical device, it used an intricate wiring system to scramble messages. Given the huge number of combinations for encoding, it was thought by the Germans to be unbreakable. However, using group theory, Polish mathematicians were able to identify weaknesses in the machine’s operation that were later refined and exploited by the codebreakers at Bletchley Park to allow the Allies to read many of the Germans’ coded messages in near real time. The intelligence gleaned proved critical in shortening the war and bringing about the defeat of the Nazi regime.
How It Worked
How It Worked
The Enigma machine was a electromechanical device for encrypting plaintext messages into ciphertext, which could only be read by entering the ciphertext back through a machine with the same initial settings. When an operator pressed a key, a circuit was formed through several randomizing elements, which would cause a corresponding letter to light up on a board. This letter was recorded by an assisting operator, and when the message was typed completely, it was ready for transmission. The scrambled letters would be meaningless to an eavesdropper who did not have a corresponding Enigma machine properly configured.
To scramble a message and make it difficult to decode, the Enigma machine relied on two key wiring elements. The first was a series of rotors: disks with 26 contact points on each side, with wires randomly cross-linked between the contacts on the flat sides of the disk. When several rotors—three in early machines and up to five in later versions—were aligned on their contact points, a series of random wired paths through the stack was created. By rotating any one rotor to a new alignment, a different set of paths would be generated. The machine also included a reflector that had 26 contacts on one side, each randomly wired to a different contact on the same side. With the reflector aligned at the end of the stack, a complete circuit would be formed between a contact on the bottom rotor and another random contact on the bottom rotor. The reflector is critical for enabling decryption because it makes the circuit symmetrical. For a given rotor alignment, if an input “T” maps to “F”, then an input of “F” will map to “T”. The receiver only needs to have the rotors aligned correctly to decrypt the ciphertext because of this symmetry.
With a static set of rotors, you get nothing more than an elaborate substitution cipher that may be cracked trivially. The Enigma machine advanced the rotors after each letter was typed, creating a different substitution for each letter of the plaintext. Every time a key was pressed, the bottommost rotor advanced by one. When it returned to its first position, it advanced the second rotor. When that returned to its first position, it advanced the third. The rotors worked like a counter in base 26, where each key press advanced the number by one. With a three-rotor system, 17,576 letters could be entered before repeating.
To increase the number of possible configurations and increase the security of the cipher, the Enigma machine added a second layer to the system: a plugboard that was wired to additionally scramble the input. Wires were connected between pairs of letters, routing the input from one letter to another. These connections did not change while the message was being encoded, but they did make it more difficult to reverse engineer the correct rotor settings for a message. Typically six to 10 wires were used to connect some, but not all, of the letters to each other, leaving some to be self-connected. When a key was pressed, it connected first with the plugboard, to possibly shift the input to a new letter. It was then connected to the rotor system, which scrambled the input to a new letter. The output from the rotor system was then connected back to the plugboard for an additional scramble before it was connected to the light panel. The completed circuit would cause a light on the panel to be illuminated, revealing the encrypted result.