crypto-enigma (hackage): The crypto-enigma package is an Enigma machine simulator with rich display and machine state details.  Currently support is only provided for the machine models in most widespread general use during the war years: the I, M3, and M4.  For basic functionality, including some introspection of machine state and the mappings performed, simply  For richer display functionality additionally  (Note that this package assumes support for combining Unicode, without which some output may appear garbled.)
Keywords: bsd3|cryptography|education|library|program|enigma-machine|haskell|simulator