# LANGUAGE CPP #
# LANGUAGE TypeFamilies #

-- |
  Module : Data . Hash . Keccak
  Copyright : Copyright © 2021   <  >
  License : MIT
  Maintainer :   <  >
-- Stability: experimental
--
  | The code in this module uses internal OpenSSL APIs . It may break with new
  versions of OpenSSL . It may also be broken for existing versions of OpenSSL .
-- Portability of the code is unknown.
--
-- ONLY USE THIS CODE AFTER YOU HAVE VERIFIED THAT IT WORKS WITH OUR VERSION OF
  OPENSSL .
--
  For details see the file cbits / keccak.c .
--
module Data.Hash.Keccak
(
-- * Keccak-256
--
  | This is the latest version of Keccak-256 hash function that was submitted to
  the SHA3 competition . It is different from the final NIST SHA3 hash .
--
  The difference between NIST SHA3 - 256 and Keccak-256 is the use of a different
-- padding character for the input message. The former uses '0x06' and the
-- latter uses '0x01'.
--
  This version of Keccak-256 is used by the Ethereum project .

  Keccak256(..)
, Keccak512(..)
, module Data.Hash.Class.Mutable

-- *** Unsafe finalize functions
, finalizeKeccak256Ptr
, finalizeKeccak512Ptr

) where

import Data.Hash.Class.Mutable
import Data.Hash.Internal.OpenSSL


 |
 Stability: experimental

 Portability of the code is unknown.

 ONLY USE THIS CODE AFTER YOU HAVE VERIFIED THAT IT WORKS WITH OUR VERSION OF


 * Keccak-256


 padding character for the input message. The former uses '0x06' and the
 latter uses '0x01'.

 *** Unsafe finalize functions
# LANGUAGE CPP #
# LANGUAGE TypeFamilies #

  Module : Data . Hash . Keccak
  Copyright : Copyright © 2021   <  >
  License : MIT
  Maintainer :   <  >
  | The code in this module uses internal OpenSSL APIs . It may break with new
  versions of OpenSSL . It may also be broken for existing versions of OpenSSL .
  OPENSSL .
  For details see the file cbits / keccak.c .
module Data.Hash.Keccak
(
  | This is the latest version of Keccak-256 hash function that was submitted to
  the SHA3 competition . It is different from the final NIST SHA3 hash .
  The difference between NIST SHA3 - 256 and Keccak-256 is the use of a different
  This version of Keccak-256 is used by the Ethereum project .

  Keccak256(..)
, Keccak512(..)
, module Data.Hash.Class.Mutable

, finalizeKeccak256Ptr
, finalizeKeccak512Ptr

) where

import Data.Hash.Class.Mutable
import Data.Hash.Internal.OpenSSL

