Forget all that cryptocurrency, Bitcoin stuff and come play with the real thing. GCHQ – the UK equivalent of the NSA – has released emulators for the Enigma, Bombe and Typex machines so that you can play at WW II code breaking. And even WW II code creation. A proper nerdgasm for those who like this sort of thing. You know, the nerds?
As background here the Enigma was the German coding machine, the breaking of some of its codes being most, most, useful to the Allies. The Bombe was an early computerish type machine that aided in such work and calculations. Typex was an RAF coding machine.
Bletchley Park was where all this work was done, it therefore being secret. So secret that since it stopped being so there’ve been more documentaries about it than there were hot dinners served there*.
What GCHQ has done is, as it celebrates its centenary, release the code to Github of those emulators. As El Reg points out:
UK signals intelligence agency GCHQ, celebrating its centenary, has released emulators for famed World War II-era cipher machines that can be run within its web-based educational encryption app CodeChef. “We’ve brought technology from our past into the present by creating emulators for Enigma, Typex and the Bombe in #CyberChef,” GCHQ said Thursday via Twitter. “We even tested them against the real thing! Try them out for yourself!”
The emulators can be found here.
How to encrypt/decrypt with Enigma
We’ll start with a step-by-step guide to decrypting a known message. You can see the result of these steps in CyberChef here. Let’s say that our message is as follows: XTSYN WAEUG EZALY NRQIM AMLZX MFUOD AWXLY LZCUZ QOQBQ JLCPK NDDRW F And that we’ve been told that a German service Enigma is in use with the following settings: Rotors III, II, and IV, reflector B, ring settings (Ringstellung in German) KNG, plugboard (Steckerbrett)AH CO DE GZ IJ KM LQ NY PS TW, and finally the rotors are set to OPM.
Enigma settings are generally given left-to-right. Therefore, you should ensure the 3-rotor Enigma is selected in the first dropdown menu, and then use the dropdown menus to put rotor III in the 1st rotor slot, II in the 2nd, and IV in the 3rd, and pick B in the reflector slot. In the ring setting and initial value boxes for the 1st rotor, put K and O respectively, N and P in the 2nd, and G and M in the 3rd. Copy the plugboard settings AH CO DE GZ IJ KM LQ NY PS TW into the plugboard box. Finally, paste the message into the input window.
Hmm, yes, this sort of thing makes our brains hurt. Which is why we work as journalists, not good with numbers, see? Or, in fact, good with anything complex. But some of you will differ and have ability so go have fun.
*Might be a spot of hyperbole there. Maybe.