Enigma: A Maple Worksheet Implementation

Thumbnail Image



Journal Title

Journal ISSN

Volume Title


University of New Brunswick


The Enigma cipher was utilized by Germany before and during the Second World War. When teaching cryptography, it is best to pick an easily understood example that is representative of actual encryption schemes and display the flaws within it that can be exploited in order to introduce students to the mathematical concepts involved. Enigma is still simple enough that students can trace through the steps by hand, but can also be used to establish a foundation which can ultimately lead to these modern cryptosystems. For this report, two Maple programs have been created: An encryption program and a decryption program. The decryption program utilizes the card catalog to determine the possible rotor positions and then attempts to solve the plugboard wirings by comparing the unencrypted characteristics with their encrypted forms. If this fails, then all rotor positions are iterated through and attempts are made to solve the plugboard for each one through heavy recursion. This recursive method can handle all possible plugboard settings using any number of leads up to the full 13. Student comprehension of the concepts involved is the primary goal of this work. The advantage of the use of Maple worksheets compared to other methods is that it is much simpler to follow and step through the program utilizing Maple’s internal debugger compared to some black box approaches.