cryptonite-0.23: Cryptography Primitives sink

LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell2010

Crypto.Hash.Algorithms

Contents

Description

Definitions of known hash algorithms

Synopsis

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.

Instances

HashAlgorithm Whirlpool # 
HashAlgorithm Tiger # 
HashAlgorithm Skein512_512 # 
HashAlgorithm Skein512_384 # 
HashAlgorithm Skein512_256 # 
HashAlgorithm Skein512_224 # 
HashAlgorithm Skein256_256 # 
HashAlgorithm Skein256_224 # 
HashAlgorithm SHA512t_256 # 
HashAlgorithm SHA512t_224 # 
HashAlgorithm SHA512 # 
HashAlgorithm SHA384 # 
HashAlgorithm SHA3_512 # 
HashAlgorithm SHA3_384 # 
HashAlgorithm SHA3_256 # 
HashAlgorithm SHA3_224 # 
HashAlgorithm SHA256 # 
HashAlgorithm SHA224 # 
HashAlgorithm SHA1 # 
HashAlgorithm RIPEMD160 # 
HashAlgorithm MD5 # 
HashAlgorithm MD4 # 
HashAlgorithm MD2 # 
HashAlgorithm Keccak_512 # 
HashAlgorithm Keccak_384 # 
HashAlgorithm Keccak_256 # 
HashAlgorithm Keccak_224 # 
HashAlgorithm Blake2sp_256 # 
HashAlgorithm Blake2sp_224 # 
HashAlgorithm Blake2s_256 # 
HashAlgorithm Blake2s_224 # 
HashAlgorithm Blake2s_160 # 
HashAlgorithm Blake2bp_512 # 
HashAlgorithm Blake2b_512 # 
HashAlgorithm Blake2b_384 # 
HashAlgorithm Blake2b_256 # 
HashAlgorithm Blake2b_224 # 
HashAlgorithm Blake2b_160 # 
(IsDivisibleBy8 bitLen, KnownNat bitLen) => HashAlgorithm (SHAKE256 bitLen) # 

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 () #

(IsDivisibleBy8 bitLen, KnownNat bitLen) => HashAlgorithm (SHAKE128 bitLen) # 

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 () #

(IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 512) => HashAlgorithm (Blake2bp bitlen) # 

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 () #

(IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 256) => HashAlgorithm (Blake2sp bitlen) # 

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 () #

(IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 512) => HashAlgorithm (Blake2b bitlen) # 

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 () #

(IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 256) => HashAlgorithm (Blake2s bitlen) # 

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 () #

hash algorithms

data Blake2s_160 #

Blake2s (160 bits) cryptographic hash algorithm

Constructors

Blake2s_160 

Instances

Data Blake2s_160 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2s_160 -> c Blake2s_160 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Blake2s_160 #

toConstr :: Blake2s_160 -> Constr #

dataTypeOf :: Blake2s_160 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Blake2s_160) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Blake2s_160) #

gmapT :: (forall b. Data b => b -> b) -> Blake2s_160 -> Blake2s_160 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2s_160 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2s_160 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Blake2s_160 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2s_160 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2s_160 -> m Blake2s_160 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2s_160 -> m Blake2s_160 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2s_160 -> m Blake2s_160 #

Show Blake2s_160 # 
HashAlgorithm Blake2s_160 # 

data Blake2s_224 #

Blake2s (224 bits) cryptographic hash algorithm

Constructors

Blake2s_224 

Instances

Data Blake2s_224 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2s_224 -> c Blake2s_224 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Blake2s_224 #

toConstr :: Blake2s_224 -> Constr #

dataTypeOf :: Blake2s_224 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Blake2s_224) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Blake2s_224) #

gmapT :: (forall b. Data b => b -> b) -> Blake2s_224 -> Blake2s_224 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2s_224 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2s_224 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Blake2s_224 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2s_224 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2s_224 -> m Blake2s_224 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2s_224 -> m Blake2s_224 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2s_224 -> m Blake2s_224 #

Show Blake2s_224 # 
HashAlgorithm Blake2s_224 # 

data Blake2s_256 #

Blake2s (256 bits) cryptographic hash algorithm

Constructors

Blake2s_256 

Instances

Data Blake2s_256 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2s_256 -> c Blake2s_256 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Blake2s_256 #

toConstr :: Blake2s_256 -> Constr #

dataTypeOf :: Blake2s_256 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Blake2s_256) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Blake2s_256) #

gmapT :: (forall b. Data b => b -> b) -> Blake2s_256 -> Blake2s_256 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2s_256 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2s_256 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Blake2s_256 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2s_256 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2s_256 -> m Blake2s_256 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2s_256 -> m Blake2s_256 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2s_256 -> m Blake2s_256 #

Show Blake2s_256 # 
HashAlgorithm Blake2s_256 # 

data Blake2sp_224 #

Blake2sp (224 bits) cryptographic hash algorithm

Constructors

Blake2sp_224 

Instances

Data Blake2sp_224 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2sp_224 -> c Blake2sp_224 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Blake2sp_224 #

toConstr :: Blake2sp_224 -> Constr #

dataTypeOf :: Blake2sp_224 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Blake2sp_224) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Blake2sp_224) #

gmapT :: (forall b. Data b => b -> b) -> Blake2sp_224 -> Blake2sp_224 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2sp_224 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2sp_224 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Blake2sp_224 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2sp_224 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2sp_224 -> m Blake2sp_224 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2sp_224 -> m Blake2sp_224 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2sp_224 -> m Blake2sp_224 #

Show Blake2sp_224 # 
HashAlgorithm Blake2sp_224 # 

data Blake2sp_256 #

Blake2sp (256 bits) cryptographic hash algorithm

Constructors

Blake2sp_256 

Instances

Data Blake2sp_256 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2sp_256 -> c Blake2sp_256 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Blake2sp_256 #

toConstr :: Blake2sp_256 -> Constr #

dataTypeOf :: Blake2sp_256 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Blake2sp_256) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Blake2sp_256) #

gmapT :: (forall b. Data b => b -> b) -> Blake2sp_256 -> Blake2sp_256 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2sp_256 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2sp_256 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Blake2sp_256 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2sp_256 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2sp_256 -> m Blake2sp_256 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2sp_256 -> m Blake2sp_256 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2sp_256 -> m Blake2sp_256 #

Show Blake2sp_256 # 
HashAlgorithm Blake2sp_256 # 

data Blake2b_160 #

Blake2b (160 bits) cryptographic hash algorithm

Constructors

Blake2b_160 

Instances

Data Blake2b_160 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2b_160 -> c Blake2b_160 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Blake2b_160 #

toConstr :: Blake2b_160 -> Constr #

dataTypeOf :: Blake2b_160 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Blake2b_160) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Blake2b_160) #

gmapT :: (forall b. Data b => b -> b) -> Blake2b_160 -> Blake2b_160 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2b_160 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2b_160 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Blake2b_160 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2b_160 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2b_160 -> m Blake2b_160 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2b_160 -> m Blake2b_160 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2b_160 -> m Blake2b_160 #

Show Blake2b_160 # 
HashAlgorithm Blake2b_160 # 

data Blake2b_224 #

Blake2b (224 bits) cryptographic hash algorithm

Constructors

Blake2b_224 

Instances

Data Blake2b_224 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2b_224 -> c Blake2b_224 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Blake2b_224 #

toConstr :: Blake2b_224 -> Constr #

dataTypeOf :: Blake2b_224 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Blake2b_224) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Blake2b_224) #

gmapT :: (forall b. Data b => b -> b) -> Blake2b_224 -> Blake2b_224 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2b_224 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2b_224 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Blake2b_224 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2b_224 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2b_224 -> m Blake2b_224 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2b_224 -> m Blake2b_224 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2b_224 -> m Blake2b_224 #

Show Blake2b_224 # 
HashAlgorithm Blake2b_224 # 

data Blake2b_256 #

Blake2b (256 bits) cryptographic hash algorithm

Constructors

Blake2b_256 

Instances

Data Blake2b_256 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2b_256 -> c Blake2b_256 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Blake2b_256 #

toConstr :: Blake2b_256 -> Constr #

dataTypeOf :: Blake2b_256 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Blake2b_256) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Blake2b_256) #

gmapT :: (forall b. Data b => b -> b) -> Blake2b_256 -> Blake2b_256 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2b_256 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2b_256 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Blake2b_256 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2b_256 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2b_256 -> m Blake2b_256 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2b_256 -> m Blake2b_256 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2b_256 -> m Blake2b_256 #

Show Blake2b_256 # 
HashAlgorithm Blake2b_256 # 

data Blake2b_384 #

Blake2b (384 bits) cryptographic hash algorithm

Constructors

Blake2b_384 

Instances

Data Blake2b_384 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2b_384 -> c Blake2b_384 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Blake2b_384 #

toConstr :: Blake2b_384 -> Constr #

dataTypeOf :: Blake2b_384 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Blake2b_384) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Blake2b_384) #

gmapT :: (forall b. Data b => b -> b) -> Blake2b_384 -> Blake2b_384 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2b_384 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2b_384 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Blake2b_384 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2b_384 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2b_384 -> m Blake2b_384 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2b_384 -> m Blake2b_384 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2b_384 -> m Blake2b_384 #

Show Blake2b_384 # 
HashAlgorithm Blake2b_384 # 

data Blake2b_512 #

Blake2b (512 bits) cryptographic hash algorithm

Constructors

Blake2b_512 

Instances

Data Blake2b_512 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2b_512 -> c Blake2b_512 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Blake2b_512 #

toConstr :: Blake2b_512 -> Constr #

dataTypeOf :: Blake2b_512 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Blake2b_512) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Blake2b_512) #

gmapT :: (forall b. Data b => b -> b) -> Blake2b_512 -> Blake2b_512 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2b_512 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2b_512 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Blake2b_512 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2b_512 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2b_512 -> m Blake2b_512 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2b_512 -> m Blake2b_512 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2b_512 -> m Blake2b_512 #

Show Blake2b_512 # 
HashAlgorithm Blake2b_512 # 

data Blake2bp_512 #

Blake2bp (512 bits) cryptographic hash algorithm

Constructors

Blake2bp_512 

Instances

Data Blake2bp_512 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Blake2bp_512 -> c Blake2bp_512 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Blake2bp_512 #

toConstr :: Blake2bp_512 -> Constr #

dataTypeOf :: Blake2bp_512 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Blake2bp_512) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Blake2bp_512) #

gmapT :: (forall b. Data b => b -> b) -> Blake2bp_512 -> Blake2bp_512 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Blake2bp_512 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Blake2bp_512 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Blake2bp_512 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Blake2bp_512 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Blake2bp_512 -> m Blake2bp_512 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2bp_512 -> m Blake2bp_512 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Blake2bp_512 -> m Blake2bp_512 #

Show Blake2bp_512 # 
HashAlgorithm Blake2bp_512 # 

data MD2 #

MD2 cryptographic hash algorithm

Constructors

MD2 

Instances

Data 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 #

toConstr :: MD2 -> Constr #

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 :: (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 # 

Methods

showsPrec :: Int -> MD2 -> ShowS #

show :: MD2 -> String #

showList :: [MD2] -> ShowS #

HashAlgorithm MD2 # 
HashAlgorithmASN1 MD2 # 

Methods

hashDigestASN1 :: ByteArray out => Digest MD2 -> out

data MD4 #

MD4 cryptographic hash algorithm

Constructors

MD4 

Instances

Data 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 #

toConstr :: MD4 -> Constr #

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 :: (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 # 

Methods

showsPrec :: Int -> MD4 -> ShowS #

show :: MD4 -> String #

showList :: [MD4] -> ShowS #

HashAlgorithm MD4 # 

data MD5 #

MD5 cryptographic hash algorithm

Constructors

MD5 

Instances

Data 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 #

toConstr :: MD5 -> Constr #

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 :: (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 # 

Methods

showsPrec :: Int -> MD5 -> ShowS #

show :: MD5 -> String #

showList :: [MD5] -> ShowS #

HashAlgorithm MD5 # 
HashAlgorithmASN1 MD5 # 

Methods

hashDigestASN1 :: ByteArray out => Digest MD5 -> out

data SHA1 #

SHA1 cryptographic hash algorithm

Constructors

SHA1 

Instances

Data 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 #

toConstr :: SHA1 -> Constr #

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 :: (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 # 

Methods

showsPrec :: Int -> SHA1 -> ShowS #

show :: SHA1 -> String #

showList :: [SHA1] -> ShowS #

HashAlgorithm SHA1 # 
HashAlgorithmASN1 SHA1 # 

Methods

hashDigestASN1 :: ByteArray out => Digest SHA1 -> out

data SHA224 #

SHA224 cryptographic hash algorithm

Constructors

SHA224 

Instances

Data 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 :: (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 # 
HashAlgorithm SHA224 # 
HashAlgorithmASN1 SHA224 # 

Methods

hashDigestASN1 :: ByteArray out => Digest SHA224 -> out

data SHA256 #

SHA256 cryptographic hash algorithm

Constructors

SHA256 

Instances

Data 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 :: (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 # 
HashAlgorithm SHA256 # 
HashAlgorithmASN1 SHA256 # 

Methods

hashDigestASN1 :: ByteArray out => Digest SHA256 -> out

data SHA384 #

SHA384 cryptographic hash algorithm

Constructors

SHA384 

Instances

Data 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 :: (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 # 
HashAlgorithm SHA384 # 
HashAlgorithmASN1 SHA384 # 

Methods

hashDigestASN1 :: ByteArray out => Digest SHA384 -> out

data SHA512 #

SHA512 cryptographic hash algorithm

Constructors

SHA512 

Instances

Data 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 :: (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 # 
HashAlgorithm SHA512 # 
HashAlgorithmASN1 SHA512 # 

Methods

hashDigestASN1 :: ByteArray out => Digest SHA512 -> out

data SHA512t_224 #

SHA512t (224 bits) cryptographic hash algorithm

Constructors

SHA512t_224 

Instances

Data SHA512t_224 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA512t_224 -> c SHA512t_224 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA512t_224 #

toConstr :: SHA512t_224 -> Constr #

dataTypeOf :: SHA512t_224 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c SHA512t_224) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA512t_224) #

gmapT :: (forall b. Data b => b -> b) -> SHA512t_224 -> SHA512t_224 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA512t_224 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA512t_224 -> r #

gmapQ :: (forall d. Data d => d -> u) -> SHA512t_224 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA512t_224 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA512t_224 -> m SHA512t_224 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA512t_224 -> m SHA512t_224 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA512t_224 -> m SHA512t_224 #

Show SHA512t_224 # 
HashAlgorithm SHA512t_224 # 
HashAlgorithmASN1 SHA512t_224 # 

Methods

hashDigestASN1 :: ByteArray out => Digest SHA512t_224 -> out

data SHA512t_256 #

SHA512t (256 bits) cryptographic hash algorithm

Constructors

SHA512t_256 

Instances

Data SHA512t_256 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA512t_256 -> c SHA512t_256 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA512t_256 #

toConstr :: SHA512t_256 -> Constr #

dataTypeOf :: SHA512t_256 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c SHA512t_256) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA512t_256) #

gmapT :: (forall b. Data b => b -> b) -> SHA512t_256 -> SHA512t_256 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA512t_256 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA512t_256 -> r #

gmapQ :: (forall d. Data d => d -> u) -> SHA512t_256 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA512t_256 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA512t_256 -> m SHA512t_256 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA512t_256 -> m SHA512t_256 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA512t_256 -> m SHA512t_256 #

Show SHA512t_256 # 
HashAlgorithm SHA512t_256 # 
HashAlgorithmASN1 SHA512t_256 # 

Methods

hashDigestASN1 :: ByteArray out => Digest SHA512t_256 -> out

data RIPEMD160 #

RIPEMD160 cryptographic hash algorithm

Constructors

RIPEMD160 

Instances

Data RIPEMD160 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RIPEMD160 -> c RIPEMD160 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RIPEMD160 #

toConstr :: RIPEMD160 -> Constr #

dataTypeOf :: RIPEMD160 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c RIPEMD160) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RIPEMD160) #

gmapT :: (forall b. Data b => b -> b) -> RIPEMD160 -> RIPEMD160 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RIPEMD160 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RIPEMD160 -> r #

gmapQ :: (forall d. Data d => d -> u) -> RIPEMD160 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RIPEMD160 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RIPEMD160 -> m RIPEMD160 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RIPEMD160 -> m RIPEMD160 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RIPEMD160 -> m RIPEMD160 #

Show RIPEMD160 # 
HashAlgorithm RIPEMD160 # 
HashAlgorithmASN1 RIPEMD160 # 

Methods

hashDigestASN1 :: ByteArray out => Digest RIPEMD160 -> out

data Tiger #

Tiger cryptographic hash algorithm

Constructors

Tiger 

Instances

Data 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 #

toConstr :: Tiger -> Constr #

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 :: (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 # 

Methods

showsPrec :: Int -> Tiger -> ShowS #

show :: Tiger -> String #

showList :: [Tiger] -> ShowS #

HashAlgorithm Tiger # 

data Keccak_224 #

Keccak (224 bits) cryptographic hash algorithm

Constructors

Keccak_224 

Instances

Data Keccak_224 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Keccak_224 -> c Keccak_224 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Keccak_224 #

toConstr :: Keccak_224 -> Constr #

dataTypeOf :: Keccak_224 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Keccak_224) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Keccak_224) #

gmapT :: (forall b. Data b => b -> b) -> Keccak_224 -> Keccak_224 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Keccak_224 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Keccak_224 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Keccak_224 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Keccak_224 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Keccak_224 -> m Keccak_224 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Keccak_224 -> m Keccak_224 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Keccak_224 -> m Keccak_224 #

Show Keccak_224 # 
HashAlgorithm Keccak_224 # 

data Keccak_256 #

Keccak (256 bits) cryptographic hash algorithm

Constructors

Keccak_256 

Instances

Data Keccak_256 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Keccak_256 -> c Keccak_256 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Keccak_256 #

toConstr :: Keccak_256 -> Constr #

dataTypeOf :: Keccak_256 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Keccak_256) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Keccak_256) #

gmapT :: (forall b. Data b => b -> b) -> Keccak_256 -> Keccak_256 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Keccak_256 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Keccak_256 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Keccak_256 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Keccak_256 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Keccak_256 -> m Keccak_256 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Keccak_256 -> m Keccak_256 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Keccak_256 -> m Keccak_256 #

Show Keccak_256 # 
HashAlgorithm Keccak_256 # 

data Keccak_384 #

Keccak (384 bits) cryptographic hash algorithm

Constructors

Keccak_384 

Instances

Data Keccak_384 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Keccak_384 -> c Keccak_384 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Keccak_384 #

toConstr :: Keccak_384 -> Constr #

dataTypeOf :: Keccak_384 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Keccak_384) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Keccak_384) #

gmapT :: (forall b. Data b => b -> b) -> Keccak_384 -> Keccak_384 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Keccak_384 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Keccak_384 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Keccak_384 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Keccak_384 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Keccak_384 -> m Keccak_384 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Keccak_384 -> m Keccak_384 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Keccak_384 -> m Keccak_384 #

Show Keccak_384 # 
HashAlgorithm Keccak_384 # 

data Keccak_512 #

Keccak (512 bits) cryptographic hash algorithm

Constructors

Keccak_512 

Instances

Data Keccak_512 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Keccak_512 -> c Keccak_512 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Keccak_512 #

toConstr :: Keccak_512 -> Constr #

dataTypeOf :: Keccak_512 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Keccak_512) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Keccak_512) #

gmapT :: (forall b. Data b => b -> b) -> Keccak_512 -> Keccak_512 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Keccak_512 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Keccak_512 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Keccak_512 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Keccak_512 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Keccak_512 -> m Keccak_512 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Keccak_512 -> m Keccak_512 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Keccak_512 -> m Keccak_512 #

Show Keccak_512 # 
HashAlgorithm Keccak_512 # 

data SHA3_224 #

SHA3 (224 bits) cryptographic hash algorithm

Constructors

SHA3_224 

Instances

Data SHA3_224 # 

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 :: (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 # 

data SHA3_256 #

SHA3 (256 bits) cryptographic hash algorithm

Constructors

SHA3_256 

Instances

Data SHA3_256 # 

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 :: (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 # 

data SHA3_384 #

SHA3 (384 bits) cryptographic hash algorithm

Constructors

SHA3_384 

Instances

Data SHA3_384 # 

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 :: (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 # 

data SHA3_512 #

SHA3 (512 bits) cryptographic hash algorithm

Constructors

SHA3_512 

Instances

Data SHA3_512 # 

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 :: (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 # 

data SHAKE128 bitlen #

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 SHAKE128 n and SHAKE128 m for the same input are correlated (one being a prefix of the other). Results are unrelated to SHAKE256 results.

Constructors

SHAKE128 

Instances

Show (SHAKE128 bitlen) # 

Methods

showsPrec :: Int -> SHAKE128 bitlen -> ShowS #

show :: SHAKE128 bitlen -> String #

showList :: [SHAKE128 bitlen] -> ShowS #

(IsDivisibleBy8 bitLen, KnownNat bitLen) => HashAlgorithm (SHAKE128 bitLen) # 

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 () #

data SHAKE256 bitlen #

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 SHAKE256 n and SHAKE256 m for the same input are correlated (one being a prefix of the other). Results are unrelated to SHAKE128 results.

Constructors

SHAKE256 

Instances

Show (SHAKE256 bitlen) # 

Methods

showsPrec :: Int -> SHAKE256 bitlen -> ShowS #

show :: SHAKE256 bitlen -> String #

showList :: [SHAKE256 bitlen] -> ShowS #

(IsDivisibleBy8 bitLen, KnownNat bitLen) => HashAlgorithm (SHAKE256 bitLen) # 

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 () #

data Blake2b bitlen #

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) # 

Methods

showsPrec :: Int -> Blake2b bitlen -> ShowS #

show :: Blake2b bitlen -> String #

showList :: [Blake2b bitlen] -> ShowS #

(IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 512) => HashAlgorithm (Blake2b bitlen) # 

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 () #

data Blake2bp bitlen #

Constructors

Blake2bp 

Instances

Show (Blake2bp bitlen) # 

Methods

showsPrec :: Int -> Blake2bp bitlen -> ShowS #

show :: Blake2bp bitlen -> String #

showList :: [Blake2bp bitlen] -> ShowS #

(IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 512) => HashAlgorithm (Blake2bp bitlen) # 

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 () #

data Blake2s bitlen #

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) # 

Methods

showsPrec :: Int -> Blake2s bitlen -> ShowS #

show :: Blake2s bitlen -> String #

showList :: [Blake2s bitlen] -> ShowS #

(IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 256) => HashAlgorithm (Blake2s bitlen) # 

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 () #

data Blake2sp bitlen #

Constructors

Blake2sp 

Instances

Show (Blake2sp bitlen) # 

Methods

showsPrec :: Int -> Blake2sp bitlen -> ShowS #

show :: Blake2sp bitlen -> String #

showList :: [Blake2sp bitlen] -> ShowS #

(IsDivisibleBy8 bitlen, KnownNat bitlen, IsAtLeast bitlen 8, IsAtMost bitlen 256) => HashAlgorithm (Blake2sp bitlen) # 

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 () #

data Skein256_224 #

Skein256 (224 bits) cryptographic hash algorithm

Constructors

Skein256_224 

Instances

Data Skein256_224 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Skein256_224 -> c Skein256_224 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Skein256_224 #

toConstr :: Skein256_224 -> Constr #

dataTypeOf :: Skein256_224 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Skein256_224) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Skein256_224) #

gmapT :: (forall b. Data b => b -> b) -> Skein256_224 -> Skein256_224 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Skein256_224 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Skein256_224 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Skein256_224 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Skein256_224 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Skein256_224 -> m Skein256_224 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein256_224 -> m Skein256_224 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein256_224 -> m Skein256_224 #

Show Skein256_224 # 
HashAlgorithm Skein256_224 # 

data Skein256_256 #

Skein256 (256 bits) cryptographic hash algorithm

Constructors

Skein256_256 

Instances

Data Skein256_256 # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Skein256_256 -> c Skein256_256 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Skein256_256 #

toConstr :: Skein256_256 -> Constr #

dataTypeOf :: Skein256_256 -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Skein256_256) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Skein256_256) #

gmapT :: (forall b. Data b => b -> b) -> Skein256_256 -> Skein256_256 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Skein256_256 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Skein256_256 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Skein256_256 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Skein256_256 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Skein256_256 -> m Skein256_256 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein256_256 -> m Skein256_256 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Skein256_256 -> m Skein256_256 #

Show Skein256_256 # 
HashAlgorithm Skein256_256 #