Cabal revisions of cryptonite-cd-0.29.1
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-Name: cryptonite-cd-version: 0.29.1-Synopsis: Cryptography Primitives sink-Description:- A repository of cryptographic primitives.- .- * Symmetric ciphers: AES, DES, 3DES, CAST5, Blowfish, Twofish, Camellia, RC4, Salsa, XSalsa, ChaCha.- .- * Hash: SHA1, SHA2, SHA3, SHAKE, MD2, MD4, MD5, Keccak, Skein, Ripemd, Tiger, Whirlpool, Blake2- .- * MAC: HMAC, KMAC, Poly1305- .- * Asymmetric crypto: DSA, RSA, DH, ECDH, ECDSA, ECC, Curve25519, Curve448, Ed25519, Ed448- .- * Key Derivation Function: PBKDF2, Scrypt, HKDF, Argon2, BCrypt, BCryptPBKDF- .- * 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 strives to be a- cryptographic kitchen sink that provides cryptography for everyone.- .- Evaluate the security related to your requirements before using.- .- Read "Crypto.Tutorial" for a quick start guide.-License: BSD3-License-file: LICENSE-Copyright: Vincent Hanquez <vincent@snarc.org>-Author: Vincent Hanquez <vincent@snarc.org>-Maintainer: vincent@snarc.org-Category: Cryptography-Stability: experimental-Build-Type: Simple-Homepage: https://github.com/cdornan/cryptonite-cd-Bug-reports: https://github.com/cdornan/cryptonite-cd/issues-Cabal-Version: 1.18-tested-with: GHC==8.8.2, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==9.2.1-extra-doc-files: README.md CHANGELOG.md-extra-source-files: cbits/*.h- cbits/aes/*.h- cbits/ed25519/*.h- cbits/decaf/include/*.h- cbits/decaf/include/decaf/*.h- cbits/decaf/include/arch_32/*.h- cbits/decaf/include/arch_ref64/*.h- cbits/decaf/p448/arch_32/*.h- cbits/decaf/p448/arch_ref64/*.h- cbits/decaf/p448/*.h- cbits/decaf/ed448goldilocks/decaf_tables.c- cbits/decaf/ed448goldilocks/decaf.c- cbits/include32/p256/*.h- cbits/include64/p256/*.h- cbits/blake2/ref/*.h- cbits/blake2/sse/*.h- cbits/argon2/*.h- cbits/argon2/*.c- cbits/aes/x86ni_impl.c- cbits/cryptonite_hash_prefix.c- tests/*.hs--source-repository head- type: git- location: https://github.com/cdornan/cryptonite-cd--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 RDRAND 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 support_sse- Description: Use SSE optimized version of (BLAKE2, ARGON2)- 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--Flag old_toolchain_inliner- Description: use -fgnu89-inline to workaround an old compiler / linker / glibc issue.- Default: False- Manual: True--Flag check_alignment- Description: extra check on alignment in C layers, which cause lowlevel assert errors. for debugging only.- Default: False- Manual: True--Flag use_target_attributes- Description: use GCC / clang function attributes instead of global target options.- Default: True- Manual: True--Library- Exposed-modules: Crypto.Cipher.AES- Crypto.Cipher.AESGCMSIV- Crypto.Cipher.Blowfish- Crypto.Cipher.CAST5- Crypto.Cipher.Camellia- Crypto.Cipher.ChaCha- Crypto.Cipher.ChaChaPoly1305- Crypto.Cipher.DES- Crypto.Cipher.RC4- Crypto.Cipher.Salsa- Crypto.Cipher.TripleDES- Crypto.Cipher.Twofish- Crypto.Cipher.Types- Crypto.Cipher.Utils- Crypto.Cipher.XSalsa- Crypto.ConstructHash.MiyaguchiPreneel- Crypto.Data.AFIS- Crypto.Data.Padding- Crypto.ECC- Crypto.ECC.Edwards25519- Crypto.Error- Crypto.MAC.CMAC- Crypto.MAC.Poly1305- Crypto.MAC.HMAC- Crypto.MAC.KMAC- Crypto.Number.Basic- Crypto.Number.F2m- Crypto.Number.Generate- Crypto.Number.ModArithmetic- Crypto.Number.Nat- Crypto.Number.Prime- Crypto.Number.Serialize- Crypto.Number.Serialize.LE- Crypto.Number.Serialize.Internal- Crypto.Number.Serialize.Internal.LE- Crypto.KDF.Argon2- Crypto.KDF.PBKDF2- Crypto.KDF.Scrypt- Crypto.KDF.BCrypt- Crypto.KDF.BCryptPBKDF- Crypto.KDF.HKDF- Crypto.Hash- Crypto.Hash.IO- Crypto.Hash.Algorithms- Crypto.OTP- Crypto.PubKey.Curve25519- Crypto.PubKey.Curve448- 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.ECDSA- Crypto.PubKey.ECIES- Crypto.PubKey.Ed25519- Crypto.PubKey.Ed448- Crypto.PubKey.EdDSA- Crypto.PubKey.RSA- Crypto.PubKey.RSA.PKCS15- Crypto.PubKey.RSA.Prim- Crypto.PubKey.RSA.PSS- Crypto.PubKey.RSA.OAEP- Crypto.PubKey.RSA.Types- Crypto.PubKey.Rabin.OAEP- Crypto.PubKey.Rabin.Basic- Crypto.PubKey.Rabin.Modified- Crypto.PubKey.Rabin.RW- Crypto.PubKey.Rabin.Types- Crypto.Random- Crypto.Random.Types- Crypto.Random.Entropy- Crypto.Random.EntropyPool- Crypto.Random.Entropy.Unsafe- Crypto.System.CPU- Crypto.Tutorial- Other-modules: Crypto.Cipher.AES.Primitive- Crypto.Cipher.Blowfish.Box- Crypto.Cipher.Blowfish.Primitive- Crypto.Cipher.CAST5.Primitive- Crypto.Cipher.Camellia.Primitive- Crypto.Cipher.DES.Primitive- Crypto.Cipher.Twofish.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.Blake2- Crypto.Hash.Blake2s- Crypto.Hash.Blake2sp- Crypto.Hash.Blake2b- Crypto.Hash.Blake2bp- Crypto.Hash.SHA1- Crypto.Hash.SHA224- Crypto.Hash.SHA256- Crypto.Hash.SHA384- Crypto.Hash.SHA512- Crypto.Hash.SHA512t- Crypto.Hash.SHA3- Crypto.Hash.SHAKE- Crypto.Hash.Keccak- 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.Random.SystemDRG- Crypto.Random.Probabilistic- Crypto.PubKey.Internal- Crypto.PubKey.ElGamal- Crypto.ECC.Simple.Types- Crypto.ECC.Simple.Prim- Crypto.Internal.Builder- Crypto.Internal.ByteArray- Crypto.Internal.Compat- Crypto.Internal.CompatPrim- Crypto.Internal.DeepSeq- Crypto.Internal.Imports- Crypto.Internal.Nat- Crypto.Internal.Words- Crypto.Internal.WordArray- if impl(ghc < 8.0)- Buildable: False- else- Build-depends: base-- Build-depends: bytestring- , memory-cd- , basement-cd- , ghc-prim- ghc-options: -Wall -fwarn-tabs -optc-O3- if os(linux)- extra-libraries: pthread- default-language: Haskell2010- cc-options: -std=gnu99- if flag(old_toolchain_inliner)- cc-options: -fgnu89-inline- C-sources: cbits/cryptonite_chacha.c- , cbits/cryptonite_salsa.c- , cbits/cryptonite_xsalsa.c- , cbits/cryptonite_rc4.c- , cbits/cryptonite_cpu.c- , cbits/p256/p256.c- , cbits/p256/p256_ec.c- , cbits/cryptonite_blake2s.c- , cbits/cryptonite_blake2sp.c- , cbits/cryptonite_blake2b.c- , cbits/cryptonite_blake2bp.c- , cbits/cryptonite_poly1305.c- , cbits/cryptonite_sha1.c- , cbits/cryptonite_sha256.c- , cbits/cryptonite_sha512.c- , cbits/cryptonite_sha3.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- , cbits/cryptonite_pbkdf2.c- , cbits/ed25519/ed25519.c- include-dirs: cbits- , cbits/ed25519- , cbits/decaf/include- , cbits/decaf/p448-- if arch(x86_64) || arch(aarch64)- include-dirs: cbits/include64- else- include-dirs: cbits/include32-- if arch(x86_64) || arch(aarch64)- C-sources: cbits/decaf/p448/arch_ref64/f_impl.c- , cbits/decaf/p448/f_generic.c- , cbits/decaf/p448/f_arithmetic.c- , cbits/decaf/utils.c- , cbits/decaf/ed448goldilocks/scalar.c- , cbits/decaf/ed448goldilocks/decaf_all.c- , cbits/decaf/ed448goldilocks/eddsa.c-- include-dirs: cbits/decaf/include/arch_ref64- , cbits/decaf/p448/arch_ref64- else- C-sources: cbits/decaf/p448/arch_32/f_impl.c- , cbits/decaf/p448/f_generic.c- , cbits/decaf/p448/f_arithmetic.c- , cbits/decaf/utils.c- , cbits/decaf/ed448goldilocks/scalar.c- , cbits/decaf/ed448goldilocks/decaf_all.c- , cbits/decaf/ed448goldilocks/eddsa.c-- include-dirs: cbits/decaf/include/arch_32- , cbits/decaf/p448/arch_32-- if arch(x86_64) || arch(aarch64)- C-sources: cbits/curve25519/curve25519-donna-c64.c- else- C-sources: cbits/curve25519/curve25519-donna.c-- -- 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) || arch(ARM))- CPP-options: -DARCH_IS_LITTLE_ENDIAN-- if arch(i386)- CPP-options: -DARCH_X86-- if arch(x86_64)- CPP-options: -DARCH_X86_64-- if flag(support_rdrand) && (arch(i386) || arch(x86_64)) && !os(windows)- 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: -DWITH_AESNI- if !flag(use_target_attributes)- CC-options: -mssse3 -maes- if flag(support_pclmuldq)- CC-options: -DWITH_PCLMUL- if !flag(use_target_attributes)- CC-options: -msse4.1 -mpclmul- C-sources: cbits/aes/x86ni.c- , cbits/aes/generic.c- , cbits/aes/gf.c- , cbits/cryptonite_aes.c- else- C-sources: cbits/aes/generic.c- , cbits/aes/gf.c- , cbits/cryptonite_aes.c-- if arch(x86_64) || flag(support_sse)- C-sources: cbits/blake2/sse/blake2s.c- , cbits/blake2/sse/blake2sp.c- , cbits/blake2/sse/blake2b.c- , cbits/blake2/sse/blake2bp.c- include-dirs: cbits/blake2/sse- else- C-sources: cbits/blake2/ref/blake2s-ref.c- , cbits/blake2/ref/blake2sp-ref.c- , cbits/blake2/ref/blake2b-ref.c- , cbits/blake2/ref/blake2bp-ref.c- include-dirs: cbits/blake2/ref-- if arch(x86_64) || flag(support_sse)- CPP-options: -DSUPPORT_SSE- if arch(i386)- CC-options: -msse2-- C-sources: cbits/argon2/argon2.c- include-dirs: cbits/argon2-- 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-- if flag(support_deepseq)- CPP-options: -DWITH_DEEPSEQ_SUPPORT- Build-depends: deepseq- if flag(check_alignment)- cc-options: -DWITH_ASSERT_ALIGNMENT- if flag(use_target_attributes)- cc-options: -DWITH_TARGET_ATTRIBUTES--Test-Suite test-cryptonite- type: exitcode-stdio-1.0- hs-source-dirs: tests- Main-is: Tests.hs- Other-modules: BlockCipher- ChaCha- BCrypt- BCryptPBKDF- ECC- ECC.Edwards25519- ECDSA- Hash- Imports- KAT_AES.KATCBC- KAT_AES.KATECB- KAT_AES.KATGCM- KAT_AES.KATCCM- KAT_AES.KATOCB3- KAT_AES.KATXTS- KAT_AES- KAT_AESGCMSIV- KAT_AFIS- KAT_Argon2- KAT_Blowfish- KAT_CAST5- KAT_Camellia- KAT_Curve25519- KAT_Curve448- KAT_DES- KAT_Ed25519- KAT_Ed448- KAT_EdDSA- KAT_CMAC- KAT_HKDF- KAT_HMAC- KAT_KMAC- KAT_MiyaguchiPreneel- KAT_PBKDF2- KAT_OTP- KAT_PubKey.DSA- KAT_PubKey.ECC- KAT_PubKey.ECDSA- KAT_PubKey.OAEP- KAT_PubKey.PSS- KAT_PubKey.P256- KAT_PubKey.RSA- KAT_PubKey.Rabin- KAT_PubKey- KAT_RC4- KAT_Scrypt- KAT_TripleDES- KAT_Twofish- ChaChaPoly1305- Number- Number.F2m- Padding- Poly1305- Salsa- Utils- XSalsa- Build-Depends: base >= 0 && < 10- , bytestring- , memory-cd- , tasty- , tasty-quickcheck- , tasty-hunit- , tasty-kat- , cryptonite-cd- ghc-options: -Wall -fno-warn-orphans -fno-warn-missing-signatures -rtsopts- default-language: Haskell2010--Benchmark bench-cryptonite- type: exitcode-stdio-1.0- hs-source-dirs: benchs- Main-is: Bench.hs- Other-modules: Number.F2m- Build-Depends: base- , bytestring- , deepseq- , memory-cd- , gauge- , random- , cryptonite-cd- ghc-options: -Wall -fno-warn-missing-signatures- default-language: Haskell2010+Name: cryptonite-cd +version: 0.29.1 +x-revision: 1 +Synopsis: Cryptography Primitives sink +Description: + A repository of cryptographic primitives. + . + * Symmetric ciphers: AES, DES, 3DES, CAST5, Blowfish, Twofish, Camellia, RC4, Salsa, XSalsa, ChaCha. + . + * Hash: SHA1, SHA2, SHA3, SHAKE, MD2, MD4, MD5, Keccak, Skein, Ripemd, Tiger, Whirlpool, Blake2 + . + * MAC: HMAC, KMAC, Poly1305 + . + * Asymmetric crypto: DSA, RSA, DH, ECDH, ECDSA, ECC, Curve25519, Curve448, Ed25519, Ed448 + . + * Key Derivation Function: PBKDF2, Scrypt, HKDF, Argon2, BCrypt, BCryptPBKDF + . + * 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 strives to be a + cryptographic kitchen sink that provides cryptography for everyone. + . + Evaluate the security related to your requirements before using. + . + Read "Crypto.Tutorial" for a quick start guide. +License: BSD3 +License-file: LICENSE +Copyright: Vincent Hanquez <vincent@snarc.org> +Author: Vincent Hanquez <vincent@snarc.org> +Maintainer: chris@chrisdornan.com +Category: Cryptography +Stability: experimental +Build-Type: Simple +Homepage: https://github.com/cdornan/cryptonite-cd +Bug-reports: https://github.com/cdornan/cryptonite-cd/issues +Cabal-Version: 1.18 +tested-with: GHC==8.8.2, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==9.2.1 +extra-doc-files: README.md CHANGELOG.md +extra-source-files: cbits/*.h + cbits/aes/*.h + cbits/ed25519/*.h + cbits/decaf/include/*.h + cbits/decaf/include/decaf/*.h + cbits/decaf/include/arch_32/*.h + cbits/decaf/include/arch_ref64/*.h + cbits/decaf/p448/arch_32/*.h + cbits/decaf/p448/arch_ref64/*.h + cbits/decaf/p448/*.h + cbits/decaf/ed448goldilocks/decaf_tables.c + cbits/decaf/ed448goldilocks/decaf.c + cbits/include32/p256/*.h + cbits/include64/p256/*.h + cbits/blake2/ref/*.h + cbits/blake2/sse/*.h + cbits/argon2/*.h + cbits/argon2/*.c + cbits/aes/x86ni_impl.c + cbits/cryptonite_hash_prefix.c + tests/*.hs + +source-repository head + type: git + location: https://github.com/cdornan/cryptonite-cd + +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 RDRAND 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 support_sse + Description: Use SSE optimized version of (BLAKE2, ARGON2) + 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 + +Flag old_toolchain_inliner + Description: use -fgnu89-inline to workaround an old compiler / linker / glibc issue. + Default: False + Manual: True + +Flag check_alignment + Description: extra check on alignment in C layers, which cause lowlevel assert errors. for debugging only. + Default: False + Manual: True + +Flag use_target_attributes + Description: use GCC / clang function attributes instead of global target options. + Default: True + Manual: True + +Library + Exposed-modules: Crypto.Cipher.AES + Crypto.Cipher.AESGCMSIV + Crypto.Cipher.Blowfish + Crypto.Cipher.CAST5 + Crypto.Cipher.Camellia + Crypto.Cipher.ChaCha + Crypto.Cipher.ChaChaPoly1305 + Crypto.Cipher.DES + Crypto.Cipher.RC4 + Crypto.Cipher.Salsa + Crypto.Cipher.TripleDES + Crypto.Cipher.Twofish + Crypto.Cipher.Types + Crypto.Cipher.Utils + Crypto.Cipher.XSalsa + Crypto.ConstructHash.MiyaguchiPreneel + Crypto.Data.AFIS + Crypto.Data.Padding + Crypto.ECC + Crypto.ECC.Edwards25519 + Crypto.Error + Crypto.MAC.CMAC + Crypto.MAC.Poly1305 + Crypto.MAC.HMAC + Crypto.MAC.KMAC + Crypto.Number.Basic + Crypto.Number.F2m + Crypto.Number.Generate + Crypto.Number.ModArithmetic + Crypto.Number.Nat + Crypto.Number.Prime + Crypto.Number.Serialize + Crypto.Number.Serialize.LE + Crypto.Number.Serialize.Internal + Crypto.Number.Serialize.Internal.LE + Crypto.KDF.Argon2 + Crypto.KDF.PBKDF2 + Crypto.KDF.Scrypt + Crypto.KDF.BCrypt + Crypto.KDF.BCryptPBKDF + Crypto.KDF.HKDF + Crypto.Hash + Crypto.Hash.IO + Crypto.Hash.Algorithms + Crypto.OTP + Crypto.PubKey.Curve25519 + Crypto.PubKey.Curve448 + 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.ECDSA + Crypto.PubKey.ECIES + Crypto.PubKey.Ed25519 + Crypto.PubKey.Ed448 + Crypto.PubKey.EdDSA + Crypto.PubKey.RSA + Crypto.PubKey.RSA.PKCS15 + Crypto.PubKey.RSA.Prim + Crypto.PubKey.RSA.PSS + Crypto.PubKey.RSA.OAEP + Crypto.PubKey.RSA.Types + Crypto.PubKey.Rabin.OAEP + Crypto.PubKey.Rabin.Basic + Crypto.PubKey.Rabin.Modified + Crypto.PubKey.Rabin.RW + Crypto.PubKey.Rabin.Types + Crypto.Random + Crypto.Random.Types + Crypto.Random.Entropy + Crypto.Random.EntropyPool + Crypto.Random.Entropy.Unsafe + Crypto.System.CPU + Crypto.Tutorial + Other-modules: Crypto.Cipher.AES.Primitive + Crypto.Cipher.Blowfish.Box + Crypto.Cipher.Blowfish.Primitive + Crypto.Cipher.CAST5.Primitive + Crypto.Cipher.Camellia.Primitive + Crypto.Cipher.DES.Primitive + Crypto.Cipher.Twofish.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.Blake2 + Crypto.Hash.Blake2s + Crypto.Hash.Blake2sp + Crypto.Hash.Blake2b + Crypto.Hash.Blake2bp + Crypto.Hash.SHA1 + Crypto.Hash.SHA224 + Crypto.Hash.SHA256 + Crypto.Hash.SHA384 + Crypto.Hash.SHA512 + Crypto.Hash.SHA512t + Crypto.Hash.SHA3 + Crypto.Hash.SHAKE + Crypto.Hash.Keccak + 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.Random.SystemDRG + Crypto.Random.Probabilistic + Crypto.PubKey.Internal + Crypto.PubKey.ElGamal + Crypto.ECC.Simple.Types + Crypto.ECC.Simple.Prim + Crypto.Internal.Builder + Crypto.Internal.ByteArray + Crypto.Internal.Compat + Crypto.Internal.CompatPrim + Crypto.Internal.DeepSeq + Crypto.Internal.Imports + Crypto.Internal.Nat + Crypto.Internal.Words + Crypto.Internal.WordArray + if impl(ghc < 8.0) + Buildable: False + else + Build-depends: base + + Build-depends: bytestring + , memory-cd + , basement-cd + , ghc-prim + ghc-options: -Wall -fwarn-tabs -optc-O3 + if os(linux) + extra-libraries: pthread + default-language: Haskell2010 + cc-options: -std=gnu99 + if flag(old_toolchain_inliner) + cc-options: -fgnu89-inline + C-sources: cbits/cryptonite_chacha.c + , cbits/cryptonite_salsa.c + , cbits/cryptonite_xsalsa.c + , cbits/cryptonite_rc4.c + , cbits/cryptonite_cpu.c + , cbits/p256/p256.c + , cbits/p256/p256_ec.c + , cbits/cryptonite_blake2s.c + , cbits/cryptonite_blake2sp.c + , cbits/cryptonite_blake2b.c + , cbits/cryptonite_blake2bp.c + , cbits/cryptonite_poly1305.c + , cbits/cryptonite_sha1.c + , cbits/cryptonite_sha256.c + , cbits/cryptonite_sha512.c + , cbits/cryptonite_sha3.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 + , cbits/cryptonite_pbkdf2.c + , cbits/ed25519/ed25519.c + include-dirs: cbits + , cbits/ed25519 + , cbits/decaf/include + , cbits/decaf/p448 + + if arch(x86_64) || arch(aarch64) + include-dirs: cbits/include64 + else + include-dirs: cbits/include32 + + if arch(x86_64) || arch(aarch64) + C-sources: cbits/decaf/p448/arch_ref64/f_impl.c + , cbits/decaf/p448/f_generic.c + , cbits/decaf/p448/f_arithmetic.c + , cbits/decaf/utils.c + , cbits/decaf/ed448goldilocks/scalar.c + , cbits/decaf/ed448goldilocks/decaf_all.c + , cbits/decaf/ed448goldilocks/eddsa.c + + include-dirs: cbits/decaf/include/arch_ref64 + , cbits/decaf/p448/arch_ref64 + else + C-sources: cbits/decaf/p448/arch_32/f_impl.c + , cbits/decaf/p448/f_generic.c + , cbits/decaf/p448/f_arithmetic.c + , cbits/decaf/utils.c + , cbits/decaf/ed448goldilocks/scalar.c + , cbits/decaf/ed448goldilocks/decaf_all.c + , cbits/decaf/ed448goldilocks/eddsa.c + + include-dirs: cbits/decaf/include/arch_32 + , cbits/decaf/p448/arch_32 + + if arch(x86_64) || arch(aarch64) + C-sources: cbits/curve25519/curve25519-donna-c64.c + else + C-sources: cbits/curve25519/curve25519-donna.c + + -- 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) || arch(ARM)) + CPP-options: -DARCH_IS_LITTLE_ENDIAN + + if arch(i386) + CPP-options: -DARCH_X86 + + if arch(x86_64) + CPP-options: -DARCH_X86_64 + + if flag(support_rdrand) && (arch(i386) || arch(x86_64)) && !os(windows) + 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: -DWITH_AESNI + if !flag(use_target_attributes) + CC-options: -mssse3 -maes + if flag(support_pclmuldq) + CC-options: -DWITH_PCLMUL + if !flag(use_target_attributes) + CC-options: -msse4.1 -mpclmul + C-sources: cbits/aes/x86ni.c + , cbits/aes/generic.c + , cbits/aes/gf.c + , cbits/cryptonite_aes.c + else + C-sources: cbits/aes/generic.c + , cbits/aes/gf.c + , cbits/cryptonite_aes.c + + if arch(x86_64) || flag(support_sse) + C-sources: cbits/blake2/sse/blake2s.c + , cbits/blake2/sse/blake2sp.c + , cbits/blake2/sse/blake2b.c + , cbits/blake2/sse/blake2bp.c + include-dirs: cbits/blake2/sse + else + C-sources: cbits/blake2/ref/blake2s-ref.c + , cbits/blake2/ref/blake2sp-ref.c + , cbits/blake2/ref/blake2b-ref.c + , cbits/blake2/ref/blake2bp-ref.c + include-dirs: cbits/blake2/ref + + if arch(x86_64) || flag(support_sse) + CPP-options: -DSUPPORT_SSE + if arch(i386) + CC-options: -msse2 + + C-sources: cbits/argon2/argon2.c + include-dirs: cbits/argon2 + + 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 + + if flag(support_deepseq) + CPP-options: -DWITH_DEEPSEQ_SUPPORT + Build-depends: deepseq + if flag(check_alignment) + cc-options: -DWITH_ASSERT_ALIGNMENT + if flag(use_target_attributes) + cc-options: -DWITH_TARGET_ATTRIBUTES + +Test-Suite test-cryptonite + type: exitcode-stdio-1.0 + hs-source-dirs: tests + Main-is: Tests.hs + Other-modules: BlockCipher + ChaCha + BCrypt + BCryptPBKDF + ECC + ECC.Edwards25519 + ECDSA + Hash + Imports + KAT_AES.KATCBC + KAT_AES.KATECB + KAT_AES.KATGCM + KAT_AES.KATCCM + KAT_AES.KATOCB3 + KAT_AES.KATXTS + KAT_AES + KAT_AESGCMSIV + KAT_AFIS + KAT_Argon2 + KAT_Blowfish + KAT_CAST5 + KAT_Camellia + KAT_Curve25519 + KAT_Curve448 + KAT_DES + KAT_Ed25519 + KAT_Ed448 + KAT_EdDSA + KAT_CMAC + KAT_HKDF + KAT_HMAC + KAT_KMAC + KAT_MiyaguchiPreneel + KAT_PBKDF2 + KAT_OTP + KAT_PubKey.DSA + KAT_PubKey.ECC + KAT_PubKey.ECDSA + KAT_PubKey.OAEP + KAT_PubKey.PSS + KAT_PubKey.P256 + KAT_PubKey.RSA + KAT_PubKey.Rabin + KAT_PubKey + KAT_RC4 + KAT_Scrypt + KAT_TripleDES + KAT_Twofish + ChaChaPoly1305 + Number + Number.F2m + Padding + Poly1305 + Salsa + Utils + XSalsa + Build-Depends: base >= 0 && < 10 + , bytestring + , memory-cd + , tasty + , tasty-quickcheck + , tasty-hunit + , tasty-kat + , cryptonite-cd + ghc-options: -Wall -fno-warn-orphans -fno-warn-missing-signatures -rtsopts + default-language: Haskell2010 + +Benchmark bench-cryptonite + type: exitcode-stdio-1.0 + hs-source-dirs: benchs + Main-is: Bench.hs + Other-modules: Number.F2m + Build-Depends: base + , bytestring + , deepseq + , memory-cd + , gauge + , random + , cryptonite-cd + ghc-options: -Wall -fno-warn-missing-signatures + default-language: Haskell2010
revision 2
Name: cryptonite-cd version: 0.29.1 -x-revision: 1 +x-revision: 2 Synopsis: Cryptography Primitives sink Description: A repository of cryptographic primitives. source-repository head type: git - location: https://github.com/cdornan/cryptonite-cd + location: https://github.com/haskell-cryptography/cryptonite-cd Flag support_aesni Description: allow compilation with AESNI on system and architecture that supports it
revision 3
Name: cryptonite-cd version: 0.29.1 -x-revision: 2 +x-revision: 3 Synopsis: Cryptography Primitives sink Description: A repository of cryptographic primitives. Category: Cryptography Stability: experimental Build-Type: Simple -Homepage: https://github.com/cdornan/cryptonite-cd -Bug-reports: https://github.com/cdornan/cryptonite-cd/issues +Homepage: https://github.com/haskell-cryptography/cryptonite-cd +Bug-reports: https://github.com/haskell-cryptography/cryptonite-cd/issues Cabal-Version: 1.18 tested-with: GHC==8.8.2, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==9.2.1 extra-doc-files: README.md CHANGELOG.md