An educational tool for studying classical cryptography
schemes. Do not encrypt anything of worth with this
library.
Included Ciphers:
Caesar
Affine (Linear)
Substitution
Stream
Vigenere
Enigma (Wehrmacht Enigma I)
Thanks to polymorphism, we can generate keys and encrypt
ByteStrings without worrying much about types: