Name: cryptonite Version: 0.9 x-revision: 1 Synopsis: Cryptography Primitives sink Description: A repository of cryptographic primitives. . * Symmetric ciphers: AES, DES, 3DES, Blowfish, Camellia, RC4, Salsa, ChaCha. . * Hash: SHA1, SHA2, SHA3, MD2, MD4, MD5, Keccak, Skein, Ripemd, Tiger, Whirlpool, Blake2 . * MAC: HMAC, Poly1305 . * Assymmetric crypto: DSA, RSA, DH, ECDH, ECDSA, ECC, Curve25519, Ed25519 . * Key Derivation Function: PBKDF2, Scrypt . * Cryptographic Random generation: System Entropy, Deterministic Random Generator . * Data related: Anti-Forensic Information Splitter (AFIS) . If anything cryptographic related is missing from here, submit a pull request to have it added. This package strive to be a cryptographic kitchen sink that provides cryptography for everyone. . Evaluate the security related to your requirements before using. License: BSD3 License-file: LICENSE Copyright: Vincent Hanquez Author: Vincent Hanquez Maintainer: vincent@snarc.org Category: Cryptography Stability: experimental Build-Type: Simple Homepage: https://github.com/haskell-crypto/cryptonite Bug-reports: https://github.com/haskell-crypto/cryptonite/issues Cabal-Version: >=1.10 extra-doc-files: README.md CHANGELOG.md extra-source-files: cbits/*.h cbits/aes/*.h cbits/ed25519/*.h cbits/p256/*.h cbits/blake2/*.h cbits/blake2/*.c cbits/aes/x86ni_impl.c tests/*.hs source-repository head type: git location: https://github.com/haskell-crypto/cryptonite Flag support_aesni Description: allow compilation with AESNI on system and architecture that supports it Default: True Manual: True Flag support_rdrand Description: allow compilation with AESNI on system and architecture that supports it Default: True Manual: True Flag support_pclmuldq Description: Allow compilation with pclmuldq on architecture that supports it Default: False Manual: True Flag integer-gmp Description: Whether or not to use GMP for some functions Default: True Manual: True Flag support_deepseq Description: add deepseq instances for cryptographic types Default: True Manual: True Library Exposed-modules: Crypto.Cipher.AES Crypto.Cipher.Blowfish Crypto.Cipher.Camellia Crypto.Cipher.ChaCha Crypto.Cipher.ChaChaPoly1305 Crypto.Cipher.DES Crypto.Cipher.RC4 Crypto.Cipher.Salsa Crypto.Cipher.TripleDES Crypto.Cipher.Types Crypto.Data.AFIS Crypto.Data.Padding Crypto.Error Crypto.MAC.Poly1305 Crypto.MAC.HMAC Crypto.Number.Basic Crypto.Number.F2m Crypto.Number.Generate Crypto.Number.ModArithmetic Crypto.Number.Prime Crypto.Number.Serialize Crypto.Number.Serialize.Internal Crypto.KDF.PBKDF2 Crypto.KDF.Scrypt Crypto.KDF.BCrypt Crypto.Hash Crypto.Hash.IO Crypto.Hash.Algorithms Crypto.PubKey.Curve25519 Crypto.PubKey.MaskGenFunction Crypto.PubKey.DH Crypto.PubKey.DSA Crypto.PubKey.ECC.Generate Crypto.PubKey.ECC.Prim Crypto.PubKey.ECC.DH Crypto.PubKey.ECC.ECDSA Crypto.PubKey.ECC.P256 Crypto.PubKey.ECC.Types Crypto.PubKey.Ed25519 Crypto.PubKey.RSA Crypto.PubKey.RSA.PKCS15 Crypto.PubKey.RSA.Prim Crypto.PubKey.RSA.PSS Crypto.PubKey.RSA.OAEP Crypto.PubKey.RSA.Types Crypto.Random Crypto.Random.Types Crypto.Random.Entropy Crypto.Random.EntropyPool Crypto.Random.Entropy.Unsafe Other-modules: Crypto.Cipher.AES.Primitive Crypto.Cipher.Blowfish.Box Crypto.Cipher.Blowfish.Primitive Crypto.Cipher.Camellia.Primitive Crypto.Cipher.DES.Primitive Crypto.Cipher.Types.AEAD Crypto.Cipher.Types.Base Crypto.Cipher.Types.Block Crypto.Cipher.Types.GF Crypto.Cipher.Types.Stream Crypto.Cipher.Types.Utils Crypto.Error.Types Crypto.Number.Compat Crypto.Hash.Types Crypto.Hash.SHA1 Crypto.Hash.SHA224 Crypto.Hash.SHA256 Crypto.Hash.SHA384 Crypto.Hash.SHA512 Crypto.Hash.SHA512t Crypto.Hash.SHA3 Crypto.Hash.Keccak Crypto.Hash.MD2 Crypto.Hash.MD4 Crypto.Hash.MD5 Crypto.Hash.Blake2s Crypto.Hash.Blake2sp Crypto.Hash.Blake2b Crypto.Hash.Blake2bp Crypto.Hash.RIPEMD160 Crypto.Hash.Skein256 Crypto.Hash.Skein512 Crypto.Hash.Tiger Crypto.Hash.Whirlpool Crypto.Random.Entropy.Source Crypto.Random.Entropy.Backend Crypto.Random.ChaChaDRG Crypto.Random.SystemDRG Crypto.Random.Probabilistic Crypto.PubKey.Internal Crypto.PubKey.ElGamal Crypto.Internal.ByteArray Crypto.Internal.Compat Crypto.Internal.CompatPrim Crypto.Internal.DeepSeq Crypto.Internal.Imports Crypto.Internal.Words Crypto.Internal.WordArray Build-depends: base >= 4.3 && < 5 , bytestring , memory >= 0.8 , ghc-prim ghc-options: -Wall -fwarn-tabs -optc-O3 -fno-warn-unused-imports default-language: Haskell2010 cc-options: -std=gnu99 C-sources: cbits/cryptonite_chacha.c , cbits/cryptonite_salsa.c , cbits/cryptonite_rc4.c , cbits/cryptonite_cpu.c , cbits/aes/generic.c , cbits/aes/gf.c , cbits/cryptonite_aes.c , cbits/curve25519/curve25519-donna.c , cbits/ed25519/ed25519.c , cbits/p256/p256.c , cbits/p256/p256_ec.c , cbits/cryptonite_poly1305.c , cbits/cryptonite_sha1.c , cbits/cryptonite_sha256.c , cbits/cryptonite_sha512.c , cbits/cryptonite_sha3.c , cbits/cryptonite_keccak.c , cbits/cryptonite_md2.c , cbits/cryptonite_md4.c , cbits/cryptonite_md5.c , cbits/cryptonite_blake2s.c , cbits/cryptonite_blake2sp.c , cbits/cryptonite_blake2b.c , cbits/cryptonite_blake2bp.c , cbits/cryptonite_ripemd.c , cbits/cryptonite_skein256.c , cbits/cryptonite_skein512.c , cbits/cryptonite_tiger.c , cbits/cryptonite_whirlpool.c , cbits/cryptonite_scrypt.c , cbits/cryptonite_sysrand.c , cbits/blake2/blake2s.c , cbits/blake2/blake2sp.c , cbits/blake2/blake2b.c , cbits/blake2/blake2bp.c include-dirs: cbits cbits/ed25519 cbits/blake2 -- FIXME armel or mispel is also little endian. -- might be a good idea to also add a runtime autodetect mode. -- ARCH_ENDIAN_UNKNOWN if (arch(i386) || arch(x86_64)) CPP-options: -DARCH_IS_LITTLE_ENDIAN if arch(i386) CPP-options: -DARCH_X86 if flag(support_rdrand) && arch(x86_64) CPP-options: -DARCH_X86_64 CPP-options: -DSUPPORT_RDRAND Other-modules: Crypto.Random.Entropy.RDRand c-sources: cbits/cryptonite_rdrand.c if flag(support_aesni) && (os(linux) || os(freebsd) || os(osx)) && (arch(i386) || arch(x86_64)) CC-options: -mssse3 -maes -DWITH_AESNI if flag(support_pclmuldq) CC-options: -msse4.1 -mpclmul -DWITH_PCLMUL C-sources: cbits/aes/x86ni.c if os(windows) cpp-options: -DWINDOWS Build-Depends: Win32 Other-modules: Crypto.Random.Entropy.Windows extra-libraries: advapi32 else Other-modules: Crypto.Random.Entropy.Unix if impl(ghc) && flag(integer-gmp) Build-depends: integer-gmp < 1.1 if flag(support_deepseq) CPP-options: -DWITH_DEEPSEQ_SUPPORT Build-depends: deepseq Test-Suite test-cryptonite type: exitcode-stdio-1.0 hs-source-dirs: tests Main-is: Tests.hs Other-modules: BlockCipher ChaCha BCrypt Hash Imports KAT_AES.KATCBC KAT_AES.KATECB KAT_AES.KATGCM KAT_AES.KATOCB3 KAT_AES.KATXTS KAT_AES KAT_AFIS KAT_Blowfish KAT_Camellia KAT_Curve25519 KAT_DES KAT_Ed25519 KAT_HMAC KAT_PBKDF2 KAT_PubKey.DSA KAT_PubKey.ECC KAT_PubKey.ECDSA KAT_PubKey.OAEP KAT_PubKey.PSS KAT_PubKey.P256 KAT_PubKey KAT_RC4 KAT_Scrypt KAT_TripleDES Poly1305 Salsa Utils Build-Depends: base >= 3 && < 5 , bytestring , memory , byteable , tasty , tasty-quickcheck , tasty-hunit , tasty-kat , cryptonite ghc-options: -Wall -fno-warn-orphans -fno-warn-missing-signatures -fno-warn-unused-imports -rtsopts default-language: Haskell2010