Distributed computing cracks Enigma code

An open source application has broken an encrypted message from World War II, and wants your help to finish the job

More than 60 years after the end of World War II, a distributed computing project has managed to crack a previously uncracked message that was encrypted using the Enigma machine.

The M4 Project began in early January, as an attempt to break three original Enigma messages that were intercepted in 1942 and are thought never to have been broken by the Allied forces.

These messages were encrypted using a four-rotor Enigma, which were considered by Germany to be completely unbreakable as it could be set up in any one of 2 × 10145 ways, each of which would encrypt a plain text message a different way.

Cryptologists at Bletchley Park in the UK managed to break Enigma through their development of early computers, led by Alan Turing, and also by using intelligence to cut down the number of possible set-ups.

According to the organisers of M4, their open source message-breaking application managed to crack one of the three messages early last week.

The M4 Project's "definitive" translation of this message reads: "Forced to submerge during attack. Depth charges. Last enemy position 0830h AJ 9863, [course] 220 degrees, [speed] 8 knots. [I am] following [the enemy]. [barometer] falls 14 mb, [wind] nor-nor-east, [force] 4, visibility 10 [nautical miles]. Looks."

With two messages still to break, M4 are keen for computer users to download its application and help out.

It uses brute force to test the encrypted message against all possible set-up configurations of the four-rotor Enigma. However, this does not include the machine's plugboard, which allowed the operator to swap two letters around before they were processed by the machine's rotors.

The plugboard added much more complexity to the encryption process than any single rotor. To address this, the M4 Project used a "hill climbing algorithm".

"Hill climbing algorithms try to optimise an object, in this case the plugboard settings, by changing the object step by step. After each change the "goodness" or "fitness" of the new object has to be determined by a scoring function. Changes that lead to a "better" object are retained. Here the changes lie in constantly trying out new wirings of the Enigma plugboard. After each change the scoring function tests a new wiring by deciphering the message and trying to determine how closely the resulting plaintext matches the statistics of the natural language," explained the M4 Project.