Virtual Enigma machine illustrates how signals traveled through its wiring and rotors

Check out this lovely interactive version of an Enigma machine coded up by Tom MacWright!

You can type in your plaintext message and then watch an animation simulate how the signal would travel through an Enigma, encrypting it. It's quite mesmerizing to observe; I almost want to set one of those up to translate a novel, and run it as a screensaver over several months.

As MacWright notes, the joy of Enigma-style devices is how they span the worlds of both analog gear-turning and electronics:

This notebook simulates an Enigma Machine and visualizes how it works. The Enigma Machine is an especially neat thing to visualize because it was electromechanical. As you used it, it moved. Instead of circuit traces, it had beautiful real wires connecting its pieces.

To understand this model, first consider the design of the machine itself: as someone typed into it, electrical current flowed through rotors, which are essentially 1:1 mappings of one letter, represented as a signal from 0-26. Just one stationary rotor wouldn't give much of a quality encryption, so the rotors also rotated.

The main pieces were three rotors, a reflector – which was basically a rotor that connects to itself, and a plugboard, which swaps letters for each other on the way in & out. In order, a signal would go through the plugboard, each of the three rotors, the reflector, and then back through the rotors, and then back through the plugboard.

Think of this view of the engima as looking 'through the barrel' of the machine: you're seeing wires snaking around the rotors and then looking at the rotors at the end.

CC-licensed shot of the rotor wiring of an Enigma machine, via Wikimedia:

Photo of wiring rotors of enigma machine

BTW, MacWright's project here is live code; with one click you can expose the javascript beneath, and tinker with it.

(Via Four Short Links by @gnat)