crypto-classical: An educational tool for studying classical cryptography schemes.

[ bsd3, cryptography, library ] [ Propose Tags ]

An educational tool for studying classical cryptography schemes. Do not encrypt anything of worth with this library.

Included Ciphers:

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!"

[Skip to Readme]
Versions [faq] 0.0.1, 0.0.2, 0.0.3, 0.1.0, 0.2.0, 0.2.1, 0.3.0
Change log CHANGELOG.md
Dependencies base (>=4.7 && <4.14), bytestring, containers (>=0.5.5.1), crypto-numbers (>=0.2.7), crypto-random, modular-arithmetic (>=1.2.0.0), text (>=1.2.0.4), transformers (>=0.4.2.0) [details]
License BSD-3-Clause
Author Colin Woodbury
Maintainer colin@fosskers.ca
Category Cryptography
Home page https://github.com/fosskers/crypto-classical
Uploaded by fosskers at 2020-04-20T17:32:56Z
Distributions NixOS:0.3.0
Downloads 3082 total (81 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2020-04-20 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for crypto-classical-0.3.0

[back to package description]

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)