Assuming some large block of text is encrypted with an enigma machine and I only know a small subset of letters before and after encryption, how do I go about figuring out the enigma settings from this point?
1 Answers
According to "Applied Cryptanalysis", the theoretical keyspace of Enigma is approximately $2^{366}$, but due to practical limitations, Enigma as used by the Germans only had a keyspace of approximately $2^{77}$. Given the power of some of the clouds out there (with GPUs and all), I bet you could do a brute-force attack of the 77-bit key space in a reasonable amount of time. Deep Crack could brute-force the 56-bit key space of DES in about 4.5 days. I'd think we could do much better than that today.
If you had a machine 100 times faster than Deep Crack, it would take about 265 years to do the brute force. If you had a thousand of these machines (not unrealistic given cloud computing), you could brute force it in 96 days (10000 machines would make it 9.6 days).
Since you are given a partial plaintext, however, I would think you could even do much better. Cryptanalysts during the war were able to do much better than brute force because of a protocol failure. The people enciphering messages would encrypt a session key with the daily key. They repeated the session key due to transmission errors. This allowed cryptanalysts to do statistical analysis once they had multiple messages captured from the same day. Without additional information from the OP though, it is unclear whether similar protocol weaknesses could be exploited.
- 39,117
- 9
- 118
- 183