An educational tool for studying classical cryptography schemes. https://github.com/fosskers/crypto-classical
|Latest on Hackage:||0.2.0|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
An educational tool for studying classical cryptography schemes. Do not encrypt anything of worth with this library.
Enigma (Wehrmacht Enigma I)
Thanks to polymorphism, we can generate keys and encrypt ByteStrings without worrying much about types:
> import Crypto.Classical > import Lens.Micro > :set -XOverloadedStrings > (\k -> encrypt k "What a great day for an attack!" ^. enigma) . key <$> prng "PXQS D KXSGB CFC AYK XJ DEGMON!" > (\k -> encrypt k "What a great day for an attack!" ^. caesar) . key <$> prng "RCVO V BMZVO YVT AJM VI VOOVXF!"