Breaking Enigma Code In Minutes
Written by Sue Gee   
Wednesday, 27 June 2018

Using AI processes across 2,000 DigitalOcean servers, engineers at Enigma Pattern accomplished in 13 minutes and at a cost of just $7 the feat for which Alan Turing and Gordon Welchman, working on a basis provided by Polish cryptographers, built the Bombe and Colossus machines at Bletchley Park during World War II.

enigmapattern

June 23rd was the anniversary of Alan Turing's birth - 2018 was the 106th - and this news story surfaced as a result. Meanwhile we ran news that the replica Bombe had moved to a new home in its own dedicated gallery in TNMOC, the UK's National Museum of Computing, in the grounds of Bletchley Park, to neighbour the rebuilt Colossus. When you consider that codebreaking at Bletchley Park used 210 Bombes together with up to 10 Colossus machines were used for the daily codebreaking task, you can see that Enigma Pattern used  AI to good effect and that the cost of the computing power required for hugely demanding number crunching has indeed reduced dramatically.

Enigma Pattern is startup that uses AI and Machine Learning to help companies that collect big data put it to use. Since AI is still such a new discipline, and the company is seeking new uses for AI, its  employees spend 20 percent of their time on side projects of their choice that encourage out-of-the-box uses of AI.

Lukasz Kuncewicz, a co-founder of Enigma Pattern and its Head of Data Science, who was keen to retrace Turing's footsteps, decided to apply modern artificial intelligence techniques to break the “unbreakable” Enigma machine used by the Nazis to encrypt messages from its high command to control its operation. He also chose this project to refer to the common history of Brits and Poles using human intelligence to overcome the biggest obstacles of the Second World War. given that the company's third co-founder, Mike Gibbons, is British.

According to Enigma Pattern co-founder, Rafal Janczyk, the project started from the question:

‘What would Alan Turing be able to do nowadays if he had the current computing power and all the development around AI.’” 

Kuncewicz decided to recreate the Nazi navy’s version of the machine, which was the most sophisticated and provided over 15 billion password variants. His team started by recreating the machine, rotors, and plugs in Python. Initially, they tried to teach their AI to decode the Enigma code itself, but it didn’t work. Neither did Lambda functions from Amazon, due to the amount of computations required and AWS limitations regarding execution time. The breakthrough came when Digital Ocean agreed to provide 1,000 ML 1-Click Droplets.

As outlined on GitHub, where you can find the code for the project, as well as the Enigma simulator they needed to train an AI to classify the German language. This was done using Keras on TensorFlow with Grimm's Fairy Tales as a source of simple vocabulary. The rearchers used a two-layered recurrent neural network (first layer: 50 LSTM neurons, second layer: simple sigmoid neuron as the output). They trained the network on 10 letter German words against 10 letter random strings commenting:

Since they are VERY different, even this simple approach proved successful.

In a blog post reporting the project in September 2017, Kuncewicz wrote:

I still remember when we ran the whole project for the first time... After a few minutes, two things became apparent. The good news was, the project was working like a charm; the Enigma simulator was testing the combinations, and the artificial intelligence was classifying the decrypted messages. The bad news was, it would have taken 2 weeks to find the password.

The solution was to spread the computational load across multiple virtual servers - and using Digital Oceans 1,000 droplets reduced the time for to 19 minutes with 13 millions combinations tested per second. Later in 2017, and at the Imperial War Museum in London, the number of droplets was doubled to 2,000, which ran through 41 million combinations per second, and the time taken to break the code was reduced to 13 minutes. The remarkable fact reported by Digital Ocean was that the cost incurred was just $7.

It is today's computational power at affordable prices that means we can expect artificial intelligence and machine learning to solve problems that seemed intractable even in the recent past. 

To give the last word to Enigma Pattern's Janczyk who sees his job as that of finding new uses for AI:

“With AI and ML, there is an unlimited amount of possibility, which is what makes it so exciting."

 enigmapatternsq

Banner


ZLUDA Ports CUDA Applications To AMD GPUs
18/04/2024

ZLUDA is a translation layer that lets you run unmodified CUDA applications with near-native performance on AMD GPUs. But it is walking a fine line with regards to legality.



Java Version 22 Released
04/04/2024

JDK 22 is not a Long Term Support release, but is one of the regular releases that are scheduled to arrive every six months. Still, it has got a lot to show for itself.


More News

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Saturday, 22 September 2018 )