License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Stability | experimental |
Portability | unknown |
Safe Haskell | None |
Language | Haskell2010 |
Crypto.Hash.Algorithms
Contents
Description
Definitions of known hash algorithms
Synopsis
- class HashAlgorithm a
- class HashAlgorithm a => HashAlgorithmPrefix 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 :: Nat) = SHAKE128
- data SHAKE256 (bitlen :: Nat) = SHAKE256
- data Blake2b (bitlen :: Nat) = Blake2b
- data Blake2bp (bitlen :: Nat) = Blake2bp
- data Blake2s (bitlen :: Nat) = Blake2s
- data Blake2sp (bitlen :: Nat) = 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 #
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
class HashAlgorithm a => HashAlgorithmPrefix a #
Hashing algorithms with a constant-time implementation.
Minimal complete definition
hashInternalFinalizePrefix
Hash algorithms
data Blake2s_160 #
Blake2s (160 bits) cryptographic hash algorithm
Constructors
Blake2s_160 |
Instances
data Blake2s_224 #
Blake2s (224 bits) cryptographic hash algorithm
Constructors
Blake2s_224 |
Instances
data Blake2s_256 #
Blake2s (256 bits) cryptographic hash algorithm
Constructors
Blake2s_256 |
Instances
data Blake2sp_224 #
Blake2sp (224 bits) cryptographic hash algorithm
Constructors
Blake2sp_224 |
Instances
data Blake2sp_256 #
Blake2sp (256 bits) cryptographic hash algorithm
Constructors
Blake2sp_256 |
Instances
data Blake2b_160 #
Blake2b (160 bits) cryptographic hash algorithm
Constructors
Blake2b_160 |
Instances
data Blake2b_224 #
Blake2b (224 bits) cryptographic hash algorithm
Constructors
Blake2b_224 |
Instances
data Blake2b_256 #
Blake2b (256 bits) cryptographic hash algorithm
Constructors
Blake2b_256 |
Instances
data Blake2b_384 #
Blake2b (384 bits) cryptographic hash algorithm
Constructors
Blake2b_384 |
Instances
data Blake2b_512 #
Blake2b (512 bits) cryptographic hash algorithm
Constructors
Blake2b_512 |
Instances
data Blake2bp_512 #
Blake2bp (512 bits) cryptographic hash algorithm
Constructors
Blake2bp_512 |
Instances
MD2 cryptographic hash algorithm
Constructors
MD2 |
Instances
Data MD2 # | |
Defined in Crypto.Hash.MD2 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MD2 -> c MD2 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MD2 # dataTypeOf :: MD2 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MD2) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MD2) # gmapT :: (forall b. Data b => b -> b) -> MD2 -> MD2 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MD2 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MD2 -> r # gmapQ :: (forall d. Data d => d -> u) -> MD2 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> MD2 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> MD2 -> m MD2 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MD2 -> m MD2 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MD2 -> m MD2 # | |
Show MD2 # | |
HashAlgorithm MD2 # | |
Defined in Crypto.Hash.MD2 Associated Types type HashBlockSize MD2 :: Nat # type HashDigestSize MD2 :: Nat # type HashInternalContextSize MD2 :: Nat # | |
HashAlgorithmASN1 MD2 # | |
Defined in Crypto.PubKey.RSA.PKCS15 Methods hashDigestASN1 :: ByteArray out => Digest MD2 -> out | |
type HashBlockSize MD2 # | |
Defined in Crypto.Hash.MD2 | |
type HashDigestSize MD2 # | |
Defined in Crypto.Hash.MD2 | |
type HashInternalContextSize MD2 # | |
Defined in Crypto.Hash.MD2 |
MD4 cryptographic hash algorithm
Constructors
MD4 |
Instances
Data MD4 # | |
Defined in Crypto.Hash.MD4 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MD4 -> c MD4 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MD4 # dataTypeOf :: MD4 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MD4) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MD4) # gmapT :: (forall b. Data b => b -> b) -> MD4 -> MD4 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MD4 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MD4 -> r # gmapQ :: (forall d. Data d => d -> u) -> MD4 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> MD4 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> MD4 -> m MD4 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MD4 -> m MD4 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MD4 -> m MD4 # | |
Show MD4 # | |
HashAlgorithm MD4 # | |
Defined in Crypto.Hash.MD4 Associated Types type HashBlockSize MD4 :: Nat # type HashDigestSize MD4 :: Nat # type HashInternalContextSize MD4 :: Nat # | |
type HashBlockSize MD4 # | |
Defined in Crypto.Hash.MD4 | |
type HashDigestSize MD4 # | |
Defined in Crypto.Hash.MD4 | |
type HashInternalContextSize MD4 # | |
Defined in Crypto.Hash.MD4 |
MD5 cryptographic hash algorithm
Constructors
MD5 |
Instances
Data MD5 # | |
Defined in Crypto.Hash.MD5 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MD5 -> c MD5 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MD5 # dataTypeOf :: MD5 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MD5) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MD5) # gmapT :: (forall b. Data b => b -> b) -> MD5 -> MD5 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MD5 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MD5 -> r # gmapQ :: (forall d. Data d => d -> u) -> MD5 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> MD5 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> MD5 -> m MD5 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MD5 -> m MD5 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MD5 -> m MD5 # | |
Show MD5 # | |
HashAlgorithmPrefix MD5 # | |
HashAlgorithm MD5 # | |
Defined in Crypto.Hash.MD5 Associated Types type HashBlockSize MD5 :: Nat # type HashDigestSize MD5 :: Nat # type HashInternalContextSize MD5 :: Nat # | |
HashAlgorithmASN1 MD5 # | |
Defined in Crypto.PubKey.RSA.PKCS15 Methods hashDigestASN1 :: ByteArray out => Digest MD5 -> out | |
type HashBlockSize MD5 # | |
Defined in Crypto.Hash.MD5 | |
type HashDigestSize MD5 # | |
Defined in Crypto.Hash.MD5 | |
type HashInternalContextSize MD5 # | |
Defined in Crypto.Hash.MD5 |
SHA1 cryptographic hash algorithm
Constructors
SHA1 |
Instances
Data SHA1 # | |
Defined in Crypto.Hash.SHA1 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA1 -> c SHA1 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA1 # dataTypeOf :: SHA1 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA1) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA1) # gmapT :: (forall b. Data b => b -> b) -> SHA1 -> SHA1 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA1 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA1 -> r # gmapQ :: (forall d. Data d => d -> u) -> SHA1 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA1 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA1 -> m SHA1 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA1 -> m SHA1 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA1 -> m SHA1 # | |
Show SHA1 # | |
HashAlgorithmPrefix SHA1 # | |
HashAlgorithm SHA1 # | |
Defined in Crypto.Hash.SHA1 Associated Types type HashBlockSize SHA1 :: Nat # type HashDigestSize SHA1 :: Nat # type HashInternalContextSize SHA1 :: Nat # Methods hashBlockSize :: SHA1 -> Int # hashDigestSize :: SHA1 -> Int # hashInternalContextSize :: SHA1 -> Int # hashInternalInit :: Ptr (Context SHA1) -> IO () # hashInternalUpdate :: Ptr (Context SHA1) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context SHA1) -> Ptr (Digest SHA1) -> IO () # | |
HashAlgorithmASN1 SHA1 # | |
Defined in Crypto.PubKey.RSA.PKCS15 Methods hashDigestASN1 :: ByteArray out => Digest SHA1 -> out | |
type HashBlockSize SHA1 # | |
Defined in Crypto.Hash.SHA1 | |
type HashDigestSize SHA1 # | |
Defined in Crypto.Hash.SHA1 | |
type HashInternalContextSize SHA1 # | |
Defined in Crypto.Hash.SHA1 |
SHA224 cryptographic hash algorithm
Constructors
SHA224 |
Instances
Data SHA224 # | |
Defined in Crypto.Hash.SHA224 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA224 -> c SHA224 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA224 # toConstr :: SHA224 -> Constr # dataTypeOf :: SHA224 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA224) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA224) # gmapT :: (forall b. Data b => b -> b) -> SHA224 -> SHA224 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA224 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA224 -> r # gmapQ :: (forall d. Data d => d -> u) -> SHA224 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA224 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA224 -> m SHA224 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA224 -> m SHA224 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA224 -> m SHA224 # | |
Show SHA224 # | |
HashAlgorithmPrefix SHA224 # | |
HashAlgorithm SHA224 # | |
Defined in Crypto.Hash.SHA224 Associated Types type HashBlockSize SHA224 :: Nat # type HashDigestSize SHA224 :: Nat # type HashInternalContextSize SHA224 :: Nat # Methods hashBlockSize :: SHA224 -> Int # hashDigestSize :: SHA224 -> Int # hashInternalContextSize :: SHA224 -> Int # hashInternalInit :: Ptr (Context SHA224) -> IO () # hashInternalUpdate :: Ptr (Context SHA224) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context SHA224) -> Ptr (Digest SHA224) -> IO () # | |
HashAlgorithmASN1 SHA224 # | |
Defined in Crypto.PubKey.RSA.PKCS15 Methods hashDigestASN1 :: ByteArray out => Digest SHA224 -> out | |
type HashBlockSize SHA224 # | |
Defined in Crypto.Hash.SHA224 | |
type HashDigestSize SHA224 # | |
Defined in Crypto.Hash.SHA224 | |
type HashInternalContextSize SHA224 # | |
Defined in Crypto.Hash.SHA224 |
SHA256 cryptographic hash algorithm
Constructors
SHA256 |
Instances
Data SHA256 # | |
Defined in Crypto.Hash.SHA256 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA256 -> c SHA256 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA256 # toConstr :: SHA256 -> Constr # dataTypeOf :: SHA256 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA256) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA256) # gmapT :: (forall b. Data b => b -> b) -> SHA256 -> SHA256 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA256 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA256 -> r # gmapQ :: (forall d. Data d => d -> u) -> SHA256 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA256 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA256 -> m SHA256 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA256 -> m SHA256 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA256 -> m SHA256 # | |
Show SHA256 # | |
HashAlgorithmPrefix SHA256 # | |
HashAlgorithm SHA256 # | |
Defined in Crypto.Hash.SHA256 Associated Types type HashBlockSize SHA256 :: Nat # type HashDigestSize SHA256 :: Nat # type HashInternalContextSize SHA256 :: Nat # Methods hashBlockSize :: SHA256 -> Int # hashDigestSize :: SHA256 -> Int # hashInternalContextSize :: SHA256 -> Int # hashInternalInit :: Ptr (Context SHA256) -> IO () # hashInternalUpdate :: Ptr (Context SHA256) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context SHA256) -> Ptr (Digest SHA256) -> IO () # | |
HashAlgorithmASN1 SHA256 # | |
Defined in Crypto.PubKey.RSA.PKCS15 Methods hashDigestASN1 :: ByteArray out => Digest SHA256 -> out | |
type HashBlockSize SHA256 # | |
Defined in Crypto.Hash.SHA256 | |
type HashDigestSize SHA256 # | |
Defined in Crypto.Hash.SHA256 | |
type HashInternalContextSize SHA256 # | |
Defined in Crypto.Hash.SHA256 |
SHA384 cryptographic hash algorithm
Constructors
SHA384 |
Instances
Data SHA384 # | |
Defined in Crypto.Hash.SHA384 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA384 -> c SHA384 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA384 # toConstr :: SHA384 -> Constr # dataTypeOf :: SHA384 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA384) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA384) # gmapT :: (forall b. Data b => b -> b) -> SHA384 -> SHA384 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA384 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA384 -> r # gmapQ :: (forall d. Data d => d -> u) -> SHA384 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA384 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA384 -> m SHA384 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA384 -> m SHA384 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA384 -> m SHA384 # | |
Show SHA384 # | |
HashAlgorithmPrefix SHA384 # | |
HashAlgorithm SHA384 # | |
Defined in Crypto.Hash.SHA384 Associated Types type HashBlockSize SHA384 :: Nat # type HashDigestSize SHA384 :: Nat # type HashInternalContextSize SHA384 :: Nat # Methods hashBlockSize :: SHA384 -> Int # hashDigestSize :: SHA384 -> Int # hashInternalContextSize :: SHA384 -> Int # hashInternalInit :: Ptr (Context SHA384) -> IO () # hashInternalUpdate :: Ptr (Context SHA384) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context SHA384) -> Ptr (Digest SHA384) -> IO () # | |
HashAlgorithmASN1 SHA384 # | |
Defined in Crypto.PubKey.RSA.PKCS15 Methods hashDigestASN1 :: ByteArray out => Digest SHA384 -> out | |
type HashBlockSize SHA384 # | |
Defined in Crypto.Hash.SHA384 | |
type HashDigestSize SHA384 # | |
Defined in Crypto.Hash.SHA384 | |
type HashInternalContextSize SHA384 # | |
Defined in Crypto.Hash.SHA384 |
SHA512 cryptographic hash algorithm
Constructors
SHA512 |
Instances
Data SHA512 # | |
Defined in Crypto.Hash.SHA512 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA512 -> c SHA512 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA512 # toConstr :: SHA512 -> Constr # dataTypeOf :: SHA512 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA512) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA512) # gmapT :: (forall b. Data b => b -> b) -> SHA512 -> SHA512 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA512 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA512 -> r # gmapQ :: (forall d. Data d => d -> u) -> SHA512 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA512 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA512 -> m SHA512 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA512 -> m SHA512 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA512 -> m SHA512 # | |
Show SHA512 # | |
HashAlgorithmPrefix SHA512 # | |
HashAlgorithm SHA512 # | |
Defined in Crypto.Hash.SHA512 Associated Types type HashBlockSize SHA512 :: Nat # type HashDigestSize SHA512 :: Nat # type HashInternalContextSize SHA512 :: Nat # Methods hashBlockSize :: SHA512 -> Int # hashDigestSize :: SHA512 -> Int # hashInternalContextSize :: SHA512 -> Int # hashInternalInit :: Ptr (Context SHA512) -> IO () # hashInternalUpdate :: Ptr (Context SHA512) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context SHA512) -> Ptr (Digest SHA512) -> IO () # | |
HashAlgorithmASN1 SHA512 # | |
Defined in Crypto.PubKey.RSA.PKCS15 Methods hashDigestASN1 :: ByteArray out => Digest SHA512 -> out | |
type HashBlockSize SHA512 # | |
Defined in Crypto.Hash.SHA512 | |
type HashDigestSize SHA512 # | |
Defined in Crypto.Hash.SHA512 | |
type HashInternalContextSize SHA512 # | |
Defined in Crypto.Hash.SHA512 |
data SHA512t_224 #
SHA512t (224 bits) cryptographic hash algorithm
Constructors
SHA512t_224 |
Instances
data SHA512t_256 #
SHA512t (256 bits) cryptographic hash algorithm
Constructors
SHA512t_256 |
Instances
RIPEMD160 cryptographic hash algorithm
Constructors
RIPEMD160 |
Instances
Tiger cryptographic hash algorithm
Constructors
Tiger |
Instances
Data Tiger # | |
Defined in Crypto.Hash.Tiger Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Tiger -> c Tiger # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Tiger # dataTypeOf :: Tiger -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Tiger) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tiger) # gmapT :: (forall b. Data b => b -> b) -> Tiger -> Tiger # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tiger -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tiger -> r # gmapQ :: (forall d. Data d => d -> u) -> Tiger -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Tiger -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Tiger -> m Tiger # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Tiger -> m Tiger # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Tiger -> m Tiger # | |
Show Tiger # | |
HashAlgorithm Tiger # | |
Defined in Crypto.Hash.Tiger Associated Types type HashBlockSize Tiger :: Nat # type HashDigestSize Tiger :: Nat # type HashInternalContextSize Tiger :: Nat # Methods hashBlockSize :: Tiger -> Int # hashDigestSize :: Tiger -> Int # hashInternalContextSize :: Tiger -> Int # hashInternalInit :: Ptr (Context Tiger) -> IO () # hashInternalUpdate :: Ptr (Context Tiger) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context Tiger) -> Ptr (Digest Tiger) -> IO () # | |
type HashBlockSize Tiger # | |
Defined in Crypto.Hash.Tiger | |
type HashDigestSize Tiger # | |
Defined in Crypto.Hash.Tiger | |
type HashInternalContextSize Tiger # | |
Defined in Crypto.Hash.Tiger |
data Keccak_224 #
Keccak (224 bits) cryptographic hash algorithm
Constructors
Keccak_224 |
Instances
data Keccak_256 #
Keccak (256 bits) cryptographic hash algorithm
Constructors
Keccak_256 |
Instances
data Keccak_384 #
Keccak (384 bits) cryptographic hash algorithm
Constructors
Keccak_384 |
Instances
data Keccak_512 #
Keccak (512 bits) cryptographic hash algorithm
Constructors
Keccak_512 |
Instances
SHA3 (224 bits) cryptographic hash algorithm
Constructors
SHA3_224 |
Instances
Data SHA3_224 # | |
Defined in Crypto.Hash.SHA3 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA3_224 -> c SHA3_224 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA3_224 # toConstr :: SHA3_224 -> Constr # dataTypeOf :: SHA3_224 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA3_224) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA3_224) # gmapT :: (forall b. Data b => b -> b) -> SHA3_224 -> SHA3_224 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_224 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_224 -> r # gmapQ :: (forall d. Data d => d -> u) -> SHA3_224 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA3_224 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA3_224 -> m SHA3_224 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_224 -> m SHA3_224 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_224 -> m SHA3_224 # | |
Show SHA3_224 # | |
HashAlgorithm SHA3_224 # | |
Defined in Crypto.Hash.SHA3 Associated Types type HashBlockSize SHA3_224 :: Nat # type HashDigestSize SHA3_224 :: Nat # type HashInternalContextSize SHA3_224 :: Nat # Methods hashBlockSize :: SHA3_224 -> Int # hashDigestSize :: SHA3_224 -> Int # hashInternalContextSize :: SHA3_224 -> Int # hashInternalInit :: Ptr (Context SHA3_224) -> IO () # hashInternalUpdate :: Ptr (Context SHA3_224) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context SHA3_224) -> Ptr (Digest SHA3_224) -> IO () # | |
type HashBlockSize SHA3_224 # | |
Defined in Crypto.Hash.SHA3 | |
type HashDigestSize SHA3_224 # | |
Defined in Crypto.Hash.SHA3 | |
type HashInternalContextSize SHA3_224 # | |
Defined in Crypto.Hash.SHA3 |
SHA3 (256 bits) cryptographic hash algorithm
Constructors
SHA3_256 |
Instances
Data SHA3_256 # | |
Defined in Crypto.Hash.SHA3 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA3_256 -> c SHA3_256 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA3_256 # toConstr :: SHA3_256 -> Constr # dataTypeOf :: SHA3_256 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA3_256) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA3_256) # gmapT :: (forall b. Data b => b -> b) -> SHA3_256 -> SHA3_256 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_256 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_256 -> r # gmapQ :: (forall d. Data d => d -> u) -> SHA3_256 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA3_256 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA3_256 -> m SHA3_256 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_256 -> m SHA3_256 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_256 -> m SHA3_256 # | |
Show SHA3_256 # | |
HashAlgorithm SHA3_256 # | |
Defined in Crypto.Hash.SHA3 Associated Types type HashBlockSize SHA3_256 :: Nat # type HashDigestSize SHA3_256 :: Nat # type HashInternalContextSize SHA3_256 :: Nat # Methods hashBlockSize :: SHA3_256 -> Int # hashDigestSize :: SHA3_256 -> Int # hashInternalContextSize :: SHA3_256 -> Int # hashInternalInit :: Ptr (Context SHA3_256) -> IO () # hashInternalUpdate :: Ptr (Context SHA3_256) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context SHA3_256) -> Ptr (Digest SHA3_256) -> IO () # | |
type HashBlockSize SHA3_256 # | |
Defined in Crypto.Hash.SHA3 | |
type HashDigestSize SHA3_256 # | |
Defined in Crypto.Hash.SHA3 | |
type HashInternalContextSize SHA3_256 # | |
Defined in Crypto.Hash.SHA3 |
SHA3 (384 bits) cryptographic hash algorithm
Constructors
SHA3_384 |
Instances
Data SHA3_384 # | |
Defined in Crypto.Hash.SHA3 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA3_384 -> c SHA3_384 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA3_384 # toConstr :: SHA3_384 -> Constr # dataTypeOf :: SHA3_384 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA3_384) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA3_384) # gmapT :: (forall b. Data b => b -> b) -> SHA3_384 -> SHA3_384 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_384 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_384 -> r # gmapQ :: (forall d. Data d => d -> u) -> SHA3_384 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA3_384 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA3_384 -> m SHA3_384 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_384 -> m SHA3_384 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_384 -> m SHA3_384 # | |
Show SHA3_384 # | |
HashAlgorithm SHA3_384 # | |
Defined in Crypto.Hash.SHA3 Associated Types type HashBlockSize SHA3_384 :: Nat # type HashDigestSize SHA3_384 :: Nat # type HashInternalContextSize SHA3_384 :: Nat # Methods hashBlockSize :: SHA3_384 -> Int # hashDigestSize :: SHA3_384 -> Int # hashInternalContextSize :: SHA3_384 -> Int # hashInternalInit :: Ptr (Context SHA3_384) -> IO () # hashInternalUpdate :: Ptr (Context SHA3_384) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context SHA3_384) -> Ptr (Digest SHA3_384) -> IO () # | |
type HashBlockSize SHA3_384 # | |
Defined in Crypto.Hash.SHA3 | |
type HashDigestSize SHA3_384 # | |
Defined in Crypto.Hash.SHA3 | |
type HashInternalContextSize SHA3_384 # | |
Defined in Crypto.Hash.SHA3 |
SHA3 (512 bits) cryptographic hash algorithm
Constructors
SHA3_512 |
Instances
Data SHA3_512 # | |
Defined in Crypto.Hash.SHA3 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA3_512 -> c SHA3_512 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA3_512 # toConstr :: SHA3_512 -> Constr # dataTypeOf :: SHA3_512 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA3_512) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA3_512) # gmapT :: (forall b. Data b => b -> b) -> SHA3_512 -> SHA3_512 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_512 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA3_512 -> r # gmapQ :: (forall d. Data d => d -> u) -> SHA3_512 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA3_512 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA3_512 -> m SHA3_512 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_512 -> m SHA3_512 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA3_512 -> m SHA3_512 # | |
Show SHA3_512 # | |
HashAlgorithm SHA3_512 # | |
Defined in Crypto.Hash.SHA3 Associated Types type HashBlockSize SHA3_512 :: Nat # type HashDigestSize SHA3_512 :: Nat # type HashInternalContextSize SHA3_512 :: Nat # Methods hashBlockSize :: SHA3_512 -> Int # hashDigestSize :: SHA3_512 -> Int # hashInternalContextSize :: SHA3_512 -> Int # hashInternalInit :: Ptr (Context SHA3_512) -> IO () # hashInternalUpdate :: Ptr (Context SHA3_512) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context SHA3_512) -> Ptr (Digest SHA3_512) -> IO () # | |
type HashBlockSize SHA3_512 # | |
Defined in Crypto.Hash.SHA3 | |
type HashDigestSize SHA3_512 # | |
Defined in Crypto.Hash.SHA3 | |
type HashInternalContextSize SHA3_512 # | |
Defined in Crypto.Hash.SHA3 |
data SHAKE128 (bitlen :: Nat) #
SHAKE128 (128 bits) extendable output function. Supports an arbitrary
digest size, 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 |
Instances
KnownNat bitlen => Data (SHAKE128 bitlen) # | |
Defined in Crypto.Hash.SHAKE Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHAKE128 bitlen -> c (SHAKE128 bitlen) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (SHAKE128 bitlen) # toConstr :: SHAKE128 bitlen -> Constr # dataTypeOf :: SHAKE128 bitlen -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (SHAKE128 bitlen)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (SHAKE128 bitlen)) # gmapT :: (forall b. Data b => b -> b) -> SHAKE128 bitlen -> SHAKE128 bitlen # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHAKE128 bitlen -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHAKE128 bitlen -> r # gmapQ :: (forall d. Data d => d -> u) -> SHAKE128 bitlen -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SHAKE128 bitlen -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHAKE128 bitlen -> m (SHAKE128 bitlen) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHAKE128 bitlen -> m (SHAKE128 bitlen) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHAKE128 bitlen -> m (SHAKE128 bitlen) # | |
Show (SHAKE128 bitlen) # | |
KnownNat bitlen => HashAlgorithm (SHAKE128 bitlen) # | |
Defined in Crypto.Hash.SHAKE Associated Types type HashBlockSize (SHAKE128 bitlen) :: Nat # type HashDigestSize (SHAKE128 bitlen) :: Nat # type HashInternalContextSize (SHAKE128 bitlen) :: Nat # Methods hashBlockSize :: SHAKE128 bitlen -> Int # hashDigestSize :: SHAKE128 bitlen -> Int # hashInternalContextSize :: SHAKE128 bitlen -> Int # hashInternalInit :: Ptr (Context (SHAKE128 bitlen)) -> IO () # hashInternalUpdate :: Ptr (Context (SHAKE128 bitlen)) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context (SHAKE128 bitlen)) -> Ptr (Digest (SHAKE128 bitlen)) -> IO () # | |
KnownNat bitlen => HashSHAKE (SHAKE128 bitlen) # | |
Defined in Crypto.Hash.SHAKE | |
type HashBlockSize (SHAKE128 bitlen) # | |
Defined in Crypto.Hash.SHAKE | |
type HashDigestSize (SHAKE128 bitlen) # | |
Defined in Crypto.Hash.SHAKE | |
type HashInternalContextSize (SHAKE128 bitlen) # | |
Defined in Crypto.Hash.SHAKE |
data SHAKE256 (bitlen :: Nat) #
SHAKE256 (256 bits) extendable output function. Supports an arbitrary
digest size, 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 |
Instances
KnownNat bitlen => Data (SHAKE256 bitlen) # | |
Defined in Crypto.Hash.SHAKE Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHAKE256 bitlen -> c (SHAKE256 bitlen) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (SHAKE256 bitlen) # toConstr :: SHAKE256 bitlen -> Constr # dataTypeOf :: SHAKE256 bitlen -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (SHAKE256 bitlen)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (SHAKE256 bitlen)) # gmapT :: (forall b. Data b => b -> b) -> SHAKE256 bitlen -> SHAKE256 bitlen # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHAKE256 bitlen -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHAKE256 bitlen -> r # gmapQ :: (forall d. Data d => d -> u) -> SHAKE256 bitlen -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SHAKE256 bitlen -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHAKE256 bitlen -> m (SHAKE256 bitlen) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHAKE256 bitlen -> m (SHAKE256 bitlen) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHAKE256 bitlen -> m (SHAKE256 bitlen) # | |
Show (SHAKE256 bitlen) # | |
KnownNat bitlen => HashAlgorithm (SHAKE256 bitlen) # | |
Defined in Crypto.Hash.SHAKE Associated Types type HashBlockSize (SHAKE256 bitlen) :: Nat # type HashDigestSize (SHAKE256 bitlen) :: Nat # type HashInternalContextSize (SHAKE256 bitlen) :: Nat # Methods hashBlockSize :: SHAKE256 bitlen -> Int # hashDigestSize :: SHAKE256 bitlen -> Int # hashInternalContextSize :: SHAKE256 bitlen -> Int # hashInternalInit :: Ptr (Context (SHAKE256 bitlen)) -> IO () # hashInternalUpdate :: Ptr (Context (SHAKE256 bitlen)) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context (SHAKE256 bitlen)) -> Ptr (Digest (SHAKE256 bitlen)) -> IO () # | |
KnownNat bitlen => HashSHAKE (SHAKE256 bitlen) # | |
Defined in Crypto.Hash.SHAKE | |
type HashBlockSize (SHAKE256 bitlen) # | |
Defined in Crypto.Hash.SHAKE | |
type HashDigestSize (SHAKE256 bitlen) # | |
Defined in Crypto.Hash.SHAKE | |
type HashInternalContextSize (SHAKE256 bitlen) # | |
Defined in Crypto.Hash.SHAKE |
data Blake2b (bitlen :: Nat) #
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
KnownNat bitlen => Data (Blake2b bitlen) # | |
Defined in Crypto.Hash.Blake2 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2b bitlen -> c (Blake2b bitlen) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Blake2b bitlen) # toConstr :: Blake2b bitlen -> Constr # dataTypeOf :: Blake2b bitlen -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Blake2b bitlen)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Blake2b bitlen)) # gmapT :: (forall b. Data b => b -> b) -> Blake2b bitlen -> Blake2b bitlen # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2b bitlen -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2b bitlen -> r # gmapQ :: (forall d. Data d => d -> u) -> Blake2b bitlen -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2b bitlen -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2b bitlen -> m (Blake2b bitlen) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2b bitlen -> m (Blake2b bitlen) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2b bitlen -> m (Blake2b bitlen) # | |
Show (Blake2b bitlen) # | |
(IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 512) => HashAlgorithm (Blake2b bitlen) # | |
Defined in Crypto.Hash.Blake2 Associated Types type HashBlockSize (Blake2b bitlen) :: Nat # type HashDigestSize (Blake2b bitlen) :: Nat # type HashInternalContextSize (Blake2b bitlen) :: Nat # Methods hashBlockSize :: Blake2b bitlen -> Int # hashDigestSize :: Blake2b bitlen -> Int # hashInternalContextSize :: Blake2b bitlen -> Int # hashInternalInit :: Ptr (Context (Blake2b bitlen)) -> IO () # hashInternalUpdate :: Ptr (Context (Blake2b bitlen)) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context (Blake2b bitlen)) -> Ptr (Digest (Blake2b bitlen)) -> IO () # | |
type HashBlockSize (Blake2b bitlen) # | |
Defined in Crypto.Hash.Blake2 | |
type HashDigestSize (Blake2b bitlen) # | |
Defined in Crypto.Hash.Blake2 | |
type HashInternalContextSize (Blake2b bitlen) # | |
Defined in Crypto.Hash.Blake2 |
data Blake2bp (bitlen :: Nat) #
Constructors
Blake2bp |
Instances
KnownNat bitlen => Data (Blake2bp bitlen) # | |
Defined in Crypto.Hash.Blake2 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2bp bitlen -> c (Blake2bp bitlen) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Blake2bp bitlen) # toConstr :: Blake2bp bitlen -> Constr # dataTypeOf :: Blake2bp bitlen -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Blake2bp bitlen)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Blake2bp bitlen)) # gmapT :: (forall b. Data b => b -> b) -> Blake2bp bitlen -> Blake2bp bitlen # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2bp bitlen -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2bp bitlen -> r # gmapQ :: (forall d. Data d => d -> u) -> Blake2bp bitlen -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2bp bitlen -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2bp bitlen -> m (Blake2bp bitlen) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2bp bitlen -> m (Blake2bp bitlen) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2bp bitlen -> m (Blake2bp bitlen) # | |
Show (Blake2bp bitlen) # | |
(IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 512) => HashAlgorithm (Blake2bp bitlen) # | |
Defined in Crypto.Hash.Blake2 Associated Types type HashBlockSize (Blake2bp bitlen) :: Nat # type HashDigestSize (Blake2bp bitlen) :: Nat # type HashInternalContextSize (Blake2bp bitlen) :: Nat # Methods hashBlockSize :: Blake2bp bitlen -> Int # hashDigestSize :: Blake2bp bitlen -> Int # hashInternalContextSize :: Blake2bp bitlen -> Int # hashInternalInit :: Ptr (Context (Blake2bp bitlen)) -> IO () # hashInternalUpdate :: Ptr (Context (Blake2bp bitlen)) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context (Blake2bp bitlen)) -> Ptr (Digest (Blake2bp bitlen)) -> IO () # | |
type HashBlockSize (Blake2bp bitlen) # | |
Defined in Crypto.Hash.Blake2 | |
type HashDigestSize (Blake2bp bitlen) # | |
Defined in Crypto.Hash.Blake2 | |
type HashInternalContextSize (Blake2bp bitlen) # | |
Defined in Crypto.Hash.Blake2 |
data Blake2s (bitlen :: Nat) #
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
KnownNat bitlen => Data (Blake2s bitlen) # | |
Defined in Crypto.Hash.Blake2 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2s bitlen -> c (Blake2s bitlen) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Blake2s bitlen) # toConstr :: Blake2s bitlen -> Constr # dataTypeOf :: Blake2s bitlen -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Blake2s bitlen)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Blake2s bitlen)) # gmapT :: (forall b. Data b => b -> b) -> Blake2s bitlen -> Blake2s bitlen # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2s bitlen -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2s bitlen -> r # gmapQ :: (forall d. Data d => d -> u) -> Blake2s bitlen -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2s bitlen -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2s bitlen -> m (Blake2s bitlen) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2s bitlen -> m (Blake2s bitlen) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2s bitlen -> m (Blake2s bitlen) # | |
Show (Blake2s bitlen) # | |
(IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 256) => HashAlgorithm (Blake2s bitlen) # | |
Defined in Crypto.Hash.Blake2 Associated Types type HashBlockSize (Blake2s bitlen) :: Nat # type HashDigestSize (Blake2s bitlen) :: Nat # type HashInternalContextSize (Blake2s bitlen) :: Nat # Methods hashBlockSize :: Blake2s bitlen -> Int # hashDigestSize :: Blake2s bitlen -> Int # hashInternalContextSize :: Blake2s bitlen -> Int # hashInternalInit :: Ptr (Context (Blake2s bitlen)) -> IO () # hashInternalUpdate :: Ptr (Context (Blake2s bitlen)) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context (Blake2s bitlen)) -> Ptr (Digest (Blake2s bitlen)) -> IO () # | |
type HashBlockSize (Blake2s bitlen) # | |
Defined in Crypto.Hash.Blake2 | |
type HashDigestSize (Blake2s bitlen) # | |
Defined in Crypto.Hash.Blake2 | |
type HashInternalContextSize (Blake2s bitlen) # | |
Defined in Crypto.Hash.Blake2 |
data Blake2sp (bitlen :: Nat) #
Constructors
Blake2sp |
Instances
KnownNat bitlen => Data (Blake2sp bitlen) # | |
Defined in Crypto.Hash.Blake2 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2sp bitlen -> c (Blake2sp bitlen) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Blake2sp bitlen) # toConstr :: Blake2sp bitlen -> Constr # dataTypeOf :: Blake2sp bitlen -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Blake2sp bitlen)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Blake2sp bitlen)) # gmapT :: (forall b. Data b => b -> b) -> Blake2sp bitlen -> Blake2sp bitlen # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2sp bitlen -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2sp bitlen -> r # gmapQ :: (forall d. Data d => d -> u) -> Blake2sp bitlen -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2sp bitlen -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2sp bitlen -> m (Blake2sp bitlen) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2sp bitlen -> m (Blake2sp bitlen) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2sp bitlen -> m (Blake2sp bitlen) # | |
Show (Blake2sp bitlen) # | |
(IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 256) => HashAlgorithm (Blake2sp bitlen) # | |
Defined in Crypto.Hash.Blake2 Associated Types type HashBlockSize (Blake2sp bitlen) :: Nat # type HashDigestSize (Blake2sp bitlen) :: Nat # type HashInternalContextSize (Blake2sp bitlen) :: Nat # Methods hashBlockSize :: Blake2sp bitlen -> Int # hashDigestSize :: Blake2sp bitlen -> Int # hashInternalContextSize :: Blake2sp bitlen -> Int # hashInternalInit :: Ptr (Context (Blake2sp bitlen)) -> IO () # hashInternalUpdate :: Ptr (Context (Blake2sp bitlen)) -> Ptr Word8 -> Word32 -> IO () # hashInternalFinalize :: Ptr (Context (Blake2sp bitlen)) -> Ptr (Digest (Blake2sp bitlen)) -> IO () # | |
type HashBlockSize (Blake2sp bitlen) # | |
Defined in Crypto.Hash.Blake2 | |
type HashDigestSize (Blake2sp bitlen) # | |
Defined in Crypto.Hash.Blake2 | |
type HashInternalContextSize (Blake2sp bitlen) # | |
Defined in Crypto.Hash.Blake2 |
data Skein256_224 #
Skein256 (224 bits) cryptographic hash algorithm
Constructors
Skein256_224 |
Instances
data Skein256_256 #
Skein256 (256 bits) cryptographic hash algorithm
Constructors
Skein256_256 |
Instances
data Skein512_224 #
Skein512 (224 bits) cryptographic hash algorithm
Constructors
Skein512_224 |
Instances
data Skein512_256 #
Skein512 (256 bits) cryptographic hash algorithm
Constructors
Skein512_256 |
Instances
data Skein512_384 #
Skein512 (384 bits) cryptographic hash algorithm
Constructors
Skein512_384 |
Instances
data Skein512_512 #
Skein512 (512 bits) cryptographic hash algorithm
Constructors
Skein512_512 |
Instances
Whirlpool cryptographic hash algorithm
Constructors
Whirlpool |