| License | BSD-style |
|---|---|
| Maintainer | Vincent Hanquez <[email protected]> |
| Stability | experimental |
| Portability | unknown |
| Safe Haskell | None |
| Language | Haskell2010 |
Crypto.Hash.Algorithms
Contents
Description
Definitions of known hash algorithms
- class HashAlgorithm a
- data Blake2s_160 = Blake2s_160
- data Blake2s_224 = Blake2s_224
- data Blake2s_256 = Blake2s_256
- data Blake2sp_224 = Blake2sp_224
- data Blake2sp_256 = Blake2sp_256
- data Blake2b_160 = Blake2b_160
- data Blake2b_224 = Blake2b_224
- data Blake2b_256 = Blake2b_256
- data Blake2b_384 = Blake2b_384
- data Blake2b_512 = Blake2b_512
- data Blake2bp_512 = Blake2bp_512
- data MD2 = MD2
- data MD4 = MD4
- data MD5 = MD5
- data SHA1 = SHA1
- data SHA224 = SHA224
- data SHA256 = SHA256
- data SHA384 = SHA384
- data SHA512 = SHA512
- data SHA512t_224 = SHA512t_224
- data SHA512t_256 = SHA512t_256
- data RIPEMD160 = RIPEMD160
- data Tiger = Tiger
- data Keccak_224 = Keccak_224
- data Keccak_256 = Keccak_256
- data Keccak_384 = Keccak_384
- data Keccak_512 = Keccak_512
- data SHA3_224 = SHA3_224
- data SHA3_256 = SHA3_256
- data SHA3_384 = SHA3_384
- data SHA3_512 = SHA3_512
- data SHAKE128 bitlen = SHAKE128
- data SHAKE256 bitlen = SHAKE256
- data Blake2b bitlen = Blake2b
- data Blake2bp bitlen = Blake2bp
- data Blake2s bitlen = Blake2s
- data Blake2sp bitlen = Blake2sp
- data Skein256_224 = Skein256_224
- data Skein256_256 = Skein256_256
- data Skein512_224 = Skein512_224
- data Skein512_256 = Skein512_256
- data Skein512_384 = Skein512_384
- data Skein512_512 = Skein512_512
- data Whirlpool = Whirlpool
Documentation
class HashAlgorithm a Source #
Class representing hashing algorithms.
The interface presented here is update in place and lowlevel. the Hash module takes care of hidding the mutable interface properly.
Minimal complete definition
hashBlockSize, hashDigestSize, hashInternalContextSize, hashInternalInit, hashInternalUpdate, hashInternalFinalize
Instances
hash algorithms
data Blake2s_160 Source #
Blake2s (160 bits) cryptographic hash algorithm
Constructors
| Blake2s_160 |
Instances
data Blake2s_224 Source #
Blake2s (224 bits) cryptographic hash algorithm
Constructors
| Blake2s_224 |
Instances
data Blake2s_256 Source #
Blake2s (256 bits) cryptographic hash algorithm
Constructors
| Blake2s_256 |
Instances
data Blake2sp_224 Source #
Blake2sp (224 bits) cryptographic hash algorithm
Constructors
| Blake2sp_224 |
Instances
data Blake2sp_256 Source #
Blake2sp (256 bits) cryptographic hash algorithm
Constructors
| Blake2sp_256 |
Instances
data Blake2b_160 Source #
Blake2b (160 bits) cryptographic hash algorithm
Constructors
| Blake2b_160 |
Instances
data Blake2b_224 Source #
Blake2b (224 bits) cryptographic hash algorithm
Constructors
| Blake2b_224 |
Instances
data Blake2b_256 Source #
Blake2b (256 bits) cryptographic hash algorithm
Constructors
| Blake2b_256 |
Instances
data Blake2b_384 Source #
Blake2b (384 bits) cryptographic hash algorithm
Constructors
| Blake2b_384 |
Instances
data Blake2b_512 Source #
Blake2b (512 bits) cryptographic hash algorithm
Constructors
| Blake2b_512 |
Instances
data Blake2bp_512 Source #
Blake2bp (512 bits) cryptographic hash algorithm
Constructors
| Blake2bp_512 |
Instances
MD2 cryptographic hash algorithm
Constructors
| MD2 |
MD4 cryptographic hash algorithm
Constructors
| MD4 |
MD5 cryptographic hash algorithm
Constructors
| MD5 |
SHA1 cryptographic hash algorithm
Constructors
| SHA1 |
SHA224 cryptographic hash algorithm
Constructors
| SHA224 |
SHA256 cryptographic hash algorithm
Constructors
| SHA256 |
SHA384 cryptographic hash algorithm
Constructors
| SHA384 |
SHA512 cryptographic hash algorithm
Constructors
| SHA512 |
RIPEMD160 cryptographic hash algorithm
Constructors
| RIPEMD160 |
Tiger cryptographic hash algorithm
Constructors
| Tiger |
data Keccak_224 Source #
Keccak (224 bits) cryptographic hash algorithm
Constructors
| Keccak_224 |
Instances
data Keccak_256 Source #
Keccak (256 bits) cryptographic hash algorithm
Constructors
| Keccak_256 |
Instances
data Keccak_384 Source #
Keccak (384 bits) cryptographic hash algorithm
Constructors
| Keccak_384 |
Instances
data Keccak_512 Source #
Keccak (512 bits) cryptographic hash algorithm
Constructors
| Keccak_512 |
Instances
SHA3 (224 bits) cryptographic hash algorithm
Constructors
| SHA3_224 |
SHA3 (256 bits) cryptographic hash algorithm
Constructors
| SHA3_256 |
SHA3 (384 bits) cryptographic hash algorithm
Constructors
| SHA3_384 |
SHA3 (512 bits) cryptographic hash algorithm
Constructors
| SHA3_512 |
SHAKE128 (128 bits) extendable output function. Supports an arbitrary
digest size (multiple of 8 bits), to be specified as a type parameter
of kind Nat.
Note: outputs from and SHAKE128 n for the same input are
correlated (one being a prefix of the other). Results are unrelated to
SHAKE128 mSHAKE256 results.
Constructors
| SHAKE128 |
SHAKE256 (256 bits) extendable output function. Supports an arbitrary
digest size (multiple of 8 bits), to be specified as a type parameter
of kind Nat.
Note: outputs from and SHAKE256 n for the same input are
correlated (one being a prefix of the other). Results are unrelated to
SHAKE256 mSHAKE128 results.
Constructors
| SHAKE256 |
Fast cryptographic hash.
It is especially known to target 64bits architectures.
Known supported digest sizes:
- Blake2b 160
- Blake2b 224
- Blake2b 256
- Blake2b 384
- Blake2b 512
Constructors
| Blake2b |
Instances
| Show (Blake2b bitlen) Source # | |
| (IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 512) => HashAlgorithm (Blake2b bitlen) Source # | |
| type HashBlockSize (Blake2b bitlen) Source # | |
| type HashDigestSize (Blake2b bitlen) Source # | |
| type HashInternalContextSize (Blake2b bitlen) Source # | |
Constructors
| Blake2bp |
Instances
| Show (Blake2bp bitlen) Source # | |
| (IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 512) => HashAlgorithm (Blake2bp bitlen) Source # | |
| type HashBlockSize (Blake2bp bitlen) Source # | |
| type HashDigestSize (Blake2bp bitlen) Source # | |
| type HashInternalContextSize (Blake2bp bitlen) Source # | |
Fast and secure alternative to SHA1 and HMAC-SHA1
It is espacially known to target 32bits architectures.
known supported digest sizes:
- Blake2s 160
- Blake2s 224
- Blake2s 256
Constructors
| Blake2s |
Instances
| Show (Blake2s bitlen) Source # | |
| (IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 256) => HashAlgorithm (Blake2s bitlen) Source # | |
| type HashBlockSize (Blake2s bitlen) Source # | |
| type HashDigestSize (Blake2s bitlen) Source # | |
| type HashInternalContextSize (Blake2s bitlen) Source # | |
Constructors
| Blake2sp |
Instances
| Show (Blake2sp bitlen) Source # | |
| (IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 256) => HashAlgorithm (Blake2sp bitlen) Source # | |
| type HashBlockSize (Blake2sp bitlen) Source # | |
| type HashDigestSize (Blake2sp bitlen) Source # | |
| type HashInternalContextSize (Blake2sp bitlen) Source # | |
data Skein256_224 Source #
Skein256 (224 bits) cryptographic hash algorithm
Constructors
| Skein256_224 |
Instances
data Skein256_256 Source #
Skein256 (256 bits) cryptographic hash algorithm
Constructors
| Skein256_256 |
Instances
data Skein512_224 Source #
Skein512 (224 bits) cryptographic hash algorithm
Constructors
| Skein512_224 |
Instances
data Skein512_256 Source #
Skein512 (256 bits) cryptographic hash algorithm
Constructors
| Skein512_256 |
Instances
data Skein512_384 Source #
Skein512 (384 bits) cryptographic hash algorithm
Constructors
| Skein512_384 |
Instances
data Skein512_512 Source #
Skein512 (512 bits) cryptographic hash algorithm
Constructors
| Skein512_512 |
Instances