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 Control.Lens
> :set -XOverloadedStrings
> (key <$> prng) >>= \k -> return (encrypt k "What a great day for an attack!" ^. enigma)
"PXQS D KXSGB CFC AYK XJ DEGMON!"
> (key <$> prng) >>= \k -> return (encrypt k "What a great day for an attack!" ^. caesar)
"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, lens (>=4.7), 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 2015-04-23T17:42:02Z
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 2015-10-07 [all 3 reports]