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:

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

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.1, 0.0.2, 0.0.3, 0.1.0, 0.2.0, 0.2.1, 0.3.0
Dependencies base (>=4.7 && <4.9), bytestring, containers (>=0.5.5.1), crypto-numbers (>=0.2.7), crypto-random, microlens (>=0.2.0.0), microlens-th (>=0.2.1.1), modular-arithmetic (>=1.2.0.0), QuickCheck (>=2.8.1), random, random-shuffle (>=0.0.4), text (>=1.2.0.4), transformers (>=0.4.2.0) [details]
License BSD-3-Clause
Author Colin Woodbury
Maintainer colingw@gmail.com
Category Cryptography
Home page https://github.com/fosskers/crypto-classical
Source repo head: git clone git://github.com/fosskers/crypto-classical.git
Uploaded by fosskers at 2016-01-11T18:14:39Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 4013 total (20 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2016-01-11 [all 1 reports]