cabal-version: 2.2 name: crypto-classical version: 0.2.1 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 -> 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!" 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 , microlens >=0.2.0.0 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 , microlens-th >=0.2.1.1 , 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