Back to the Contents Page
How Enigma was Broken
Enigma should never have been broken - it should have been secure since the allies had no way to break the code by brute force and no way of breaking it in any other way, short of stealing the key codes (due to the difficulty of distributing keys, the Germans used one key per day rather than one per message as they might have liked). However, enigma was broken.
The whole system depended on human error or predictability:
- Each morning, a weather forecast would be sent by the Germans, using enigma. One way to decipher the message was to attempt to fit the word wetter into the message. If it fitted, then the rest of the message became, in relative terms, easy to work out, and the key code would be known for the day.
- Each operator had to input a three-letter code at the start of the message which were his settings of his enigma machine. This was sent twice at the start of the message to make sure the receiver did not make a mistake and would be able to decipher the message. However, the repetition involved allowed the Allies a foothold into deciphering it.
- Another failing, completely human error, is that surprisingly often, the lack of imagination of the operators let them choose the first code as HIT and the second as LER. This was picked up on by the Allies who could decode a few messages that way.
- Sometimes the RAF would mine a German harbour. Soon, enigma-coded messages were sent, and you could be sure they would include a map reference. This could be found in the same way as wetter in the weather forecast, to similar effect.
There were many such techniques to simplify finding the key for the day, and Turing's bombes, which were essentially big programmable calculators, could do the rest of the work of decipherment.
It can be noted that the naval enigma, which was far more strictly run, was never broken in the war - showing that it was not enigma, but rather the humans working it, that caused it to fail. Human error can still be the biggest chance of breaking a code.
Continue