cabal-version: 2.2 name: crypto-classical version: 0.3.0 synopsis: 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!" homepage: https://github.com/fosskers/crypto-classical license: BSD-3-Clause license-file: LICENSE author: Colin Woodbury maintainer: colin@fosskers.ca category: Cryptography build-type: Simple extra-source-files: README.md CHANGELOG.md common commons default-language: Haskell2010 ghc-options: -Wall -Wpartial-fields -Wincomplete-record-updates -Wincomplete-uni-patterns -Widentities build-depends: , base >=4.7 && <4.14 , bytestring library import: commons hs-source-dirs: lib exposed-modules: Crypto.Classical Crypto.Classical.Cipher Crypto.Classical.Cipher.Affine Crypto.Classical.Cipher.Caesar Crypto.Classical.Cipher.Enigma Crypto.Classical.Cipher.Stream Crypto.Classical.Cipher.Substitution Crypto.Classical.Cipher.Vigenere Crypto.Classical.Letter Crypto.Classical.Shuffle Crypto.Classical.Types Crypto.Classical.Util build-depends: , base >=4.7 && <4.14 , 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 test-suite crypto-classical-test import: commons type: exitcode-stdio-1.0 main-is: Test.hs hs-source-dirs: test ghc-options: -threaded -with-rtsopts=-N build-depends: , crypto-classical , QuickCheck >=2.8.1