Name: cryptonite Version: 0.0 Synopsis: Crypto stuff Description: cryptography 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/vincenthz/cryptonite Bug-reports: https://github.com/vincenthz/cryptonite/issues Cabal-Version: >=1.10 extra-doc-files: README.md extra-source-files: cbits/*.h cbits/aes/*.h cbits/ed25519/*.h cbits/p256/*.h cbits/aes/x86ni_impl.c tests/*.hs source-repository head type: git location: https://github.com/vincenthz/cryptonite Flag support_aesni 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 builtin_memory Description: Build with a local snapshot of the memory package Default: True Manual: True Flag integer-gmp Description: Whether or not to use GMP for some functions Default: True Manual: True Library Exposed-modules: Crypto.Cipher.AES Crypto.Cipher.Blowfish Crypto.Cipher.Camellia Crypto.Cipher.ChaCha Crypto.Cipher.DES Crypto.Cipher.RC4 Crypto.Cipher.Salsa Crypto.Cipher.TripleDES Crypto.Cipher.Types Crypto.Data.AFIS 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.KDF.PBKDF2 Crypto.KDF.Scrypt Crypto.Hash Crypto.Hash.IO Crypto.Hash.Algorithms Crypto.PubKey.Curve25519 Crypto.PubKey.HashDescr 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.Kekkak Crypto.Hash.MD2 Crypto.Hash.MD4 Crypto.Hash.MD5 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.PubKey.Internal Crypto.PubKey.ElGamal Crypto.Internal.ByteArray Crypto.Internal.Compat Crypto.Internal.CompatPrim Crypto.Internal.Hex Crypto.Internal.Imports Crypto.Internal.Words Crypto.Internal.WordArray Build-depends: base >= 4.3 && < 5 , bytestring , securemem >= 0.1.7 , byteable , ghc-prim ghc-options: -Wall -fwarn-tabs -optc-O3 default-language: Haskell2010 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_kekkak.c , cbits/cryptonite_md2.c , cbits/cryptonite_md4.c , cbits/cryptonite_md5.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 include-dirs: cbits cbits/ed25519 -- 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(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 flag(builtin_memory) Exposed-modules: Data.Memory.ByteArray Data.Memory.Endian Data.Memory.PtrMethods Data.Memory.ExtendedWords Data.Memory.Encoding.Base16 Other-modules: Data.Memory.Internal.Compat Data.Memory.Internal.CompatPrim Data.Memory.Internal.Imports Data.Memory.ByteArray.Types Data.Memory.ByteArray.Bytes Data.Memory.ByteArray.ScrubbedBytes Data.Memory.ByteArray.Methods Data.Memory.ByteArray.MemView CPP-options: -DWITH_BYTESTRING_SUPPORT else build-depends: memory if impl(ghc) && flag(integer-gmp) Build-depends: integer-gmp Test-Suite test-cryptonite type: exitcode-stdio-1.0 hs-source-dirs: tests Main-is: Tests.hs Build-Depends: base >= 3 && < 5 , bytestring , byteable , tasty , tasty-quickcheck , tasty-hunit , tasty-kat , cryptonite if !flag(builtin_memory) Build-Depends: memory ghc-options: -Wall -fno-warn-orphans -fno-warn-missing-signatures -rtsopts default-language: Haskell2010