True to its name, the Enigma machine, and the ciphertext produced by it, posed big challenges to its attackers, ranging from the Polish Cipher Bureau in the 1930s, to the Allied effort to gather military intelligence from Nazi Germany at Bletchley Park, led by Alan Turing, to today, where there are still historically relevant messages left to be broken, while easily accessible online Enigma simulators make newly enciphered messages appear on the Internet every day.
In this work, a precise mathematical model of the Enigma cryptography system, capable of simulating most variants from the Enigma cipher machine family, is described and its properties are investigated. Based on this formal framework and current research, a modern and proven hill climbing local search metaheuristic is laid out in detail, discussing the underlying concepts of scoring functions and neighborhoods, as well as further optimization techniques. From this knowledge, effective computational techniques are derived and efficiently implemented using the C programming language. The resulting command-line program is benchmarked and validated against authentic Enigma messages from WWII that are known to break. Finally, this newly developed tool is deployed against a hard nut, a historically significant Enigma message that is yet to be broken.
The software project “bomm”, developed in this thesis, is released alongside it under an Open Source license.
ISBN: 978-99959-0-939-0 Last update: 4. December 2023