Description
An educational tool for studying classical cryptography schemes.
Description
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:
> import Crypto.Classical
> import Lens.Micro
> :set -XOverloadedStrings
> (\k -> _enigma $ encrypt k "What a great day for an attack!") . key <$> prng
"PXQS D KXSGB CFC AYK XJ DEGMON!"
> (\k -> _caesar $ encrypt k "What a great day for an attack!") . key <$> prng
"RCVO V BMZVO YVT AJM VI VOOVXF!"
README.md
crypto-classical
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)