cryptohash-sha512

Fast, pure and practical SHA-512 implementation https://github.com/hvr/cryptohash-sha512

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed

A practical incremental and one-pass, pure API to the SHA-512 cryptographic hash algorithm according to FIPS 180-4 with performance close to the fastest implementations available in other languages.

The core SHA-512 algorithm is implemented in C and is thus expected to be as fast as the standard sha512sum(1) tool. (If, instead, you require a pure Haskell implementation and performance is secondary, please refer to the SHA package.)

Additionally, this package provides support for

conforming to RFC6234, RFC4231, RFC5869, et al..

Packages in the cryptohash-* family

Relationship to the cryptohash package and its API

This package has been originally a fork of cryptohash-0.11.7 because the cryptohash package had been deprecated and so this package continues to satisfy the need for a lightweight package providing the SHA-512 hash algorithm without any dependencies on packages other than base and bytestring. The API exposed by cryptohash-sha512-0.11.*'s Crypto.Hash.SHA512 module is guaranteed to remain a compatible superset of the API provided by the cryptohash-0.11.7's module of the same name.

Consequently, this package is designed to be used as a drop-in replacement for cryptohash-0.11.7's Crypto.Hash.SHA512 module, though with a clearly smaller footprint by almost 3 orders of magnitude.

Changes

0.11.100.1

  • First public release

0.11.100.0 (unreleased)

  • new hmac and hmaclazy functions providing HMAC-SHA-512 computation conforming to RFC2104 and RFC4231
  • fix unaligned memory-accesses
  • switch to ‘safe’ FFI for calls where overhead becomes neglible
  • removed inline assembly in favour of portable C constructs
  • fix 32bit length overflow bug in hash function
  • fix inaccurate context-size
  • add context-size verification to incremental API operations

0.11.7.1 (unreleased)

  • first version forked off cryptohash-0.11.7 release