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 CyberChef.
"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!"
Enigma machines turn text into ciphertext and back again; they were used by the German military, among others, to encrypt and decrypt messages during the Second World War.
The machines were produced shortly after the end of World War I and initially sold as tools for keeping commercial secrets. There were later adopted by the German military, and in 1932 sale of the devices required military approval.
With the approach of World War II, the Enigma machine attracted the attention of code breakers in Poland, where concerns about German belligerence were magnified by the proximity of German forces. In 1939, just before Germany invaded Poland, the British received an Enigma machine from Polish code breakers and soon after resumed a longstanding effort to crack the Enigma at the newly established Bletchley Park.
Building upon previous Polish work, Alan Turing, one of the pioneers of modern computing, and "forgotten genius" Gordon Welchman developed the Bombe, a code breaking device to determine Enigma key settings.
Baroness Trumpington, former Bletchley Park clerk, dies aged 96READ MORE
Typex was a British-made cipher machine used by the Royal Air Force.
The success the Allies had breaking codes in Europe and the Pacific theaters played a crucial role in the outcome of World War II. And now you can play along at home.
In keeping with its interest in codes, both past and present, GCHQ has emulated Enigma, Bombe, and Typex in software, through CyberChef, a web app that debuted in 2016. The surveillance outfit describes CyberChef as "a simple, intuitive web app for analyzing and decoding data without having to deal with complex tools or programming languages."
CyberChef provides a variety of options for exploring the encoding and decoding of data, such as decoding a Base64-encoded string and disassembling shell code. Its source code is available on GitHub.