All Versions
28
Latest Version
Avg Release Cycle
-
Latest Release
-

Changelog History
Page 1

  • v0.28 Changes

    • βž• Add hash constant time capability
    • Prevent possible overflow during hashing by hashing in 4GB chunks
  • v0.27 Changes

    • Optimise AES GCM and CCM
    • Optimise P256R1 implementation
    • πŸ— Various AES-NI building improvements
    • βž• Add better ECDSA support
    • βž• Add XSalsa derive
    • Implement square roots for ECC binary curve
    • βœ… Various tests and benchmarks
  • v0.26 Changes

    • βž• Add Rabin cryptosystem (and variants)
    • βž• Add bcrypt_pbkdf key derivation function
    • ⚑️ Optimize Blowfish implementation
    • βž• Add KMAC (Keccak Message Authentication Code)
    • βž• Add ECDSA sign/verify digest APIs
    • Hash algorithms with runtime output length
    • ⚑️ Update blake2 to latest upstream version
    • RSA-PSS with arbitrary key size
    • SHAKE with output length not divisible by 8
    • βž• Add Read and Data instances for Digest type
    • πŸ‘Œ Improve P256 scalar primitives
    • πŸ›  Fix hash truncation bug in DSA
    • πŸ›  Fix cost parsing for bcrypt
    • πŸ›  Fix ECC failures on arm64
    • Correction to PKCS#1 v1.5 padding
    • πŸ‘‰ Use powModSecInteger when available
    • ⬇️ Drop GHC 7.8 and GHC 7.10 support, refer to pkg-guidelines
    • Optimise GCM mode
    • βž• Add little endian serialization of integer
  • v0.25 Changes

    • πŸ‘Œ Improve digest binary conversion efficiency
    • πŸ‘ AES CCM support
    • βž• Add MonadFailure instance for CryptoFailable
    • πŸ“š Various misc improvements on documentation
    • πŸ‘ Edwards25519 lowlevel arithmetic support
    • P256 add point negation
    • πŸ‘Œ Improvement in ECC (benchmark, better normalization)
    • Blake2 improvements to context size
    • πŸ‘‰ Use gauge instead of criterion
    • πŸ‘· Use haskell-ci for CI scripts
    • πŸ‘Œ Improve Digest memory representation to be 2 less Ints and one less boxing moving from UArray to Block
  • v0.24 Changes

    • πŸ“š Ed25519: generateSecret & Documentation updates
    • Repair tutorial
    • RSA: Allow signing digest directly
    • IV add: fix overflow behavior
    • P256: validate point when decoding
    • Compilation fix with deepseq disabled
    • πŸ‘Œ Improve Curve448 and use decaf for Ed448
    • πŸ”€ Compilation flag blake2 sse merged in sse support
    • πŸ–¨ Process unaligned data better in hashes and AES, on architecture needing alignment
    • ⬇️ Drop support for ghc 7.6
    • βž• Add ability to create random generator Seed from binary data and loosen constraint on ChaChaDRG seed from ByteArray to ByteArrayAccess.
    • βž• Add 3 associated types with the HashAlgorithm class, to get access to the constant for BlockSize, DigestSize and ContextSize at the type level. the related function that this replaced will be deprecated in later release, and eventually removed.

    API CHANGES:

    • πŸ‘Œ Improve ECDH safety to return failure for bad inputs (e.g. public point in small order subgroup). To go back to previous behavior you can replace ecdh by ecdhRaw. It's recommended to use ecdh and handle the error appropriately.
    • πŸ‘‰ Users defining their own HashAlgorithm needs to define the HashBlockSize, HashDigest, HashInternalContextSize associated types
  • v0.23 Changes

    • πŸ“Œ Digest memory usage improvement by using unpinned memory
    • πŸ›  Fix generateBetween to generate within the right bounds
    • βž• Add pure Twofish implementation
    • πŸ›  Fix memory allocation in P256 when using a temp point
    • Consolidate hash benchmark code
    • βž• Add Nat-length Blake2 support (GHC > 8.0)
    • ⚑️ Update tutorial
  • v0.22 Changes

    • βž• Add Argon2 (Password Hashing Competition winner) hash function
    • ⚑️ Update blake2 to latest upstream version
    • βž• Add extra blake2 hashing size
    • βž• Add faster PBKDF2 functions for SHA1/SHA256/SHA512
    • βž• Add SHAKE128 and SHAKE256
    • βœ… Cleanup prime generation, and add tests
    • βž• Add Time-based One Time Password (TOTP) and HMAC-based One Time Password (HOTP)
    • πŸ“‡ Rename Ed448 module name to Curve448, old module name still valid for now
  • v0.21 Changes

    • ⬇️ Drop automated tests with GHC 7.0, GHC 7.4, GHC 7.6. support dropped, but probably still working.
    • πŸ‘Œ Improve non-aligned support in C sources, ChaCha and SHA3 now probably work on arch without support for unaligned access. not complete or tested.
    • βž• Add another ECC framework that is more flexible, allowing different implementations to work instead of the existing Pure haskell NIST implementation.
    • βž• Add ECIES basic primitives
    • βž• Add XSalsa20 stream cipher
    • πŸ–¨ Process partial buffer correctly with Poly1305
  • v0.20 Changes

    • πŸ›  Fixed hash truncation used in ECDSA signature & verification (Olivier ChΓ©ron)
    • πŸ›  Fix ECDH when scalar and coordinate bit sizes differ (Olivier ChΓ©ron)
    • Speed up ECDSA verification using Shamir's trick (Olivier ChΓ©ron)
    • πŸ›  Fix rdrand on windows
  • v0.19 Changes

    • βž• Add tutorial (Yann Esposito)
    • πŸ–¨ Derive Show instance for better interaction with Show pretty printer (Eric Mertens)