cryptohash-0.11.9: collection of crypto hashes, fast, pure and practical
LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
Portabilityunknown
Safe HaskellTrustworthy
LanguageHaskell98

Crypto.Hash

Description

Generalized cryptographic hash interface, that you can use with cryptographic hash algorithm that belong to the HashAlgorithm type class.

import Crypto.Hash

sha1 :: ByteString -> Digest SHA1
sha1 = hash

hexSha3_512 :: ByteString -> String
hexSha3_512 bs = show (hash bs :: Digest SHA3_512)
Synopsis

Types

class HashAlgorithm a where Source #

Class representing hashing algorithms.

The hash algorithm is built over 3 primitives:

  • init : create a new hashing context
  • updates : update the hashing context with some strict bytestrings and return the new context
  • finalize : finalize the context into a digest

Methods

hashBlockSize :: Context a -> Int Source #

Block size in bytes the hash algorithm operates on

hashInit :: Context a Source #

Initialize a new context for this hash algorithm

hashUpdates :: Context a -> [ByteString] -> Context a Source #

Update the context with a list of strict bytestring, and return a new context with the updates.

hashFinalize :: Context a -> Digest a Source #

Finalize a context and return a digest.

digestFromByteString :: ByteString -> Maybe (Digest a) Source #

Try to convert a binary digest bytestring to a digest.

Instances

Instances details
HashAlgorithm MD2 Source #

MD2 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm MD4 Source #

MD4 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm MD5 Source #

MD5 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm RIPEMD160 Source #

RIPEMD160 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA1 Source #

SHA1 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA224 Source #

SHA224 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA256 Source #

SHA256 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA3_224 Source #

SHA3 (224 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA3_256 Source #

SHA3 (256 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA3_384 Source #

SHA3 (384 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA3_512 Source #

SHA3 (512 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA384 Source #

SHA384 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA512 Source #

SHA512 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein256_224 Source #

Skein256 (224 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein256_256 Source #

Skein256 (256 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein512_224 Source #

Skein512 (224 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein512_256 Source #

Skein512 (256 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein512_384 Source #

Skein512 (384 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein512_512 Source #

Skein512 (512 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Tiger Source #

Tiger cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Whirlpool Source #

Whirlpool cryptographic hash

Instance details

Defined in Crypto.Hash

type HashFunctionBS a = ByteString -> Digest a Source #

Alias to a single pass hash function that operate on a strict bytestring

type HashFunctionLBS a = ByteString -> Digest a Source #

Alias to a single pass hash function that operate on a lazy bytestring

data Context a Source #

Represent a context for a given hash algorithm.

Instances

Instances details
Byteable (Context a) Source # 
Instance details

Defined in Crypto.Hash.Types

Methods

toBytes :: Context a -> ByteString

byteableLength :: Context a -> Int

withBytePtr :: Context a -> (Ptr Word8 -> IO b) -> IO b

data Digest a Source #

Represent a digest for a given hash algorithm.

Instances

Instances details
Show (Digest a) Source # 
Instance details

Defined in Crypto.Hash.Types

Methods

showsPrec :: Int -> Digest a -> ShowS

show :: Digest a -> String

showList :: [Digest a] -> ShowS

Byteable (Digest a) Source # 
Instance details

Defined in Crypto.Hash.Types

Methods

toBytes :: Digest a -> ByteString

byteableLength :: Digest a -> Int

withBytePtr :: Digest a -> (Ptr Word8 -> IO b) -> IO b

Eq (Digest a) Source # 
Instance details

Defined in Crypto.Hash.Types

Methods

(==) :: Digest a -> Digest a -> Bool

(/=) :: Digest a -> Digest a -> Bool

Ord (Digest a) Source # 
Instance details

Defined in Crypto.Hash.Types

Methods

compare :: Digest a -> Digest a -> Ordering

(<) :: Digest a -> Digest a -> Bool

(<=) :: Digest a -> Digest a -> Bool

(>) :: Digest a -> Digest a -> Bool

(>=) :: Digest a -> Digest a -> Bool

max :: Digest a -> Digest a -> Digest a

min :: Digest a -> Digest a -> Digest a

Functions

digestToByteString :: Digest a -> ByteString Source #

Deprecated: use toBytes from byteable:Data.Byteable

return the binary bytestring. deprecated use toBytes.

digestToHexByteString :: Digest a -> ByteString Source #

Return the hexadecimal (base16) bytestring of the digest

hash :: HashAlgorithm a => ByteString -> Digest a Source #

Hash a strict bytestring into a digest.

hashlazy :: HashAlgorithm a => ByteString -> Digest a Source #

Hash a lazy bytestring into a digest.

hashUpdate :: HashAlgorithm a => Context a -> ByteString -> Context a Source #

run hashUpdates on one single bytestring and return the updated context.

hashInitAlg :: HashAlgorithm alg => alg -> Context alg Source #

Initialize a new context for a specified hash algorithm

hash algorithms

data MD2 #

Constructors

MD2 

Instances

Instances details
Data MD2 
Instance details

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

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 :: 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 
Instance details

Defined in Crypto.Hash.MD2

Methods

showsPrec :: Int -> MD2 -> ShowS

show :: MD2 -> String

showList :: [MD2] -> ShowS

HashAlgorithm MD2 Source #

MD2 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm MD2 
Instance details

Defined in Crypto.Hash.MD2

Associated Types

type HashBlockSize MD2 :: Nat

type HashDigestSize MD2 :: Nat

type HashInternalContextSize MD2 :: Nat

Methods

hashBlockSize :: MD2 -> Int

hashDigestSize :: MD2 -> Int

hashInternalContextSize :: MD2 -> Int

hashInternalInit :: Ptr (Context MD2) -> IO ()

hashInternalUpdate :: Ptr (Context MD2) -> Ptr Word8 -> Word32 -> IO ()

hashInternalFinalize :: Ptr (Context MD2) -> Ptr (Digest MD2) -> IO ()

type HashBlockSize MD2 
Instance details

Defined in Crypto.Hash.MD2

type HashBlockSize MD2 = 16
type HashDigestSize MD2 
Instance details

Defined in Crypto.Hash.MD2

type HashDigestSize MD2 = 16
type HashInternalContextSize MD2 
Instance details

Defined in Crypto.Hash.MD2

type HashInternalContextSize MD2 = 96

data MD4 #

Constructors

MD4 

Instances

Instances details
Data MD4 
Instance details

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

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 :: 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 
Instance details

Defined in Crypto.Hash.MD4

Methods

showsPrec :: Int -> MD4 -> ShowS

show :: MD4 -> String

showList :: [MD4] -> ShowS

HashAlgorithm MD4 Source #

MD4 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm MD4 
Instance details

Defined in Crypto.Hash.MD4

Associated Types

type HashBlockSize MD4 :: Nat

type HashDigestSize MD4 :: Nat

type HashInternalContextSize MD4 :: Nat

Methods

hashBlockSize :: MD4 -> Int

hashDigestSize :: MD4 -> Int

hashInternalContextSize :: MD4 -> Int

hashInternalInit :: Ptr (Context MD4) -> IO ()

hashInternalUpdate :: Ptr (Context MD4) -> Ptr Word8 -> Word32 -> IO ()

hashInternalFinalize :: Ptr (Context MD4) -> Ptr (Digest MD4) -> IO ()

type HashBlockSize MD4 
Instance details

Defined in Crypto.Hash.MD4

type HashBlockSize MD4 = 64
type HashDigestSize MD4 
Instance details

Defined in Crypto.Hash.MD4

type HashDigestSize MD4 = 16
type HashInternalContextSize MD4 
Instance details

Defined in Crypto.Hash.MD4

type HashInternalContextSize MD4 = 96

data MD5 #

Constructors

MD5 

Instances

Instances details
Data MD5 
Instance details

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

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 :: 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 
Instance details

Defined in Crypto.Hash.MD5

Methods

showsPrec :: Int -> MD5 -> ShowS

show :: MD5 -> String

showList :: [MD5] -> ShowS

HashAlgorithm MD5 Source #

MD5 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm MD5 
Instance details

Defined in Crypto.Hash.MD5

Associated Types

type HashBlockSize MD5 :: Nat

type HashDigestSize MD5 :: Nat

type HashInternalContextSize MD5 :: Nat

Methods

hashBlockSize :: MD5 -> Int

hashDigestSize :: MD5 -> Int

hashInternalContextSize :: MD5 -> Int

hashInternalInit :: Ptr (Context MD5) -> IO ()

hashInternalUpdate :: Ptr (Context MD5) -> Ptr Word8 -> Word32 -> IO ()

hashInternalFinalize :: Ptr (Context MD5) -> Ptr (Digest MD5) -> IO ()

HashAlgorithmPrefix MD5 
Instance details

Defined in Crypto.Hash.MD5

Methods

hashInternalFinalizePrefix :: Ptr (Context MD5) -> Ptr Word8 -> Word32 -> Word32 -> Ptr (Digest MD5) -> IO ()

type HashBlockSize MD5 
Instance details

Defined in Crypto.Hash.MD5

type HashBlockSize MD5 = 64
type HashDigestSize MD5 
Instance details

Defined in Crypto.Hash.MD5

type HashDigestSize MD5 = 16
type HashInternalContextSize MD5 
Instance details

Defined in Crypto.Hash.MD5

type HashInternalContextSize MD5 = 96

data SHA1 #

Constructors

SHA1 

Instances

Instances details
Data SHA1 
Instance details

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

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 :: 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 
Instance details

Defined in Crypto.Hash.SHA1

Methods

showsPrec :: Int -> SHA1 -> ShowS

show :: SHA1 -> String

showList :: [SHA1] -> ShowS

HashAlgorithm SHA1 Source #

SHA1 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA1 
Instance details

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

HashAlgorithmPrefix SHA1 
Instance details

Defined in Crypto.Hash.SHA1

Methods

hashInternalFinalizePrefix :: Ptr (Context SHA1) -> Ptr Word8 -> Word32 -> Word32 -> Ptr (Digest SHA1) -> IO ()

type HashBlockSize SHA1 
Instance details

Defined in Crypto.Hash.SHA1

type HashBlockSize SHA1 = 64
type HashDigestSize SHA1 
Instance details

Defined in Crypto.Hash.SHA1

type HashDigestSize SHA1 = 20
type HashInternalContextSize SHA1 
Instance details

Defined in Crypto.Hash.SHA1

type HashInternalContextSize SHA1 = 96

data SHA224 #

Constructors

SHA224 

Instances

Instances details
Data SHA224 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA224

Methods

showsPrec :: Int -> SHA224 -> ShowS

show :: SHA224 -> String

showList :: [SHA224] -> ShowS

HashAlgorithm SHA224 Source #

SHA224 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA224 
Instance details

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

HashAlgorithmPrefix SHA224 
Instance details

Defined in Crypto.Hash.SHA224

Methods

hashInternalFinalizePrefix :: Ptr (Context SHA224) -> Ptr Word8 -> Word32 -> Word32 -> Ptr (Digest SHA224) -> IO ()

type HashBlockSize SHA224 
Instance details

Defined in Crypto.Hash.SHA224

type HashBlockSize SHA224 = 64
type HashDigestSize SHA224 
Instance details

Defined in Crypto.Hash.SHA224

type HashDigestSize SHA224 = 28
type HashInternalContextSize SHA224 
Instance details

Defined in Crypto.Hash.SHA224

type HashInternalContextSize SHA224 = 192

data SHA256 #

Constructors

SHA256 

Instances

Instances details
Data SHA256 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA256

Methods

showsPrec :: Int -> SHA256 -> ShowS

show :: SHA256 -> String

showList :: [SHA256] -> ShowS

HashAlgorithm SHA256 Source #

SHA256 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA256 
Instance details

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

HashAlgorithmPrefix SHA256 
Instance details

Defined in Crypto.Hash.SHA256

Methods

hashInternalFinalizePrefix :: Ptr (Context SHA256) -> Ptr Word8 -> Word32 -> Word32 -> Ptr (Digest SHA256) -> IO ()

type HashBlockSize SHA256 
Instance details

Defined in Crypto.Hash.SHA256

type HashBlockSize SHA256 = 64
type HashDigestSize SHA256 
Instance details

Defined in Crypto.Hash.SHA256

type HashDigestSize SHA256 = 32
type HashInternalContextSize SHA256 
Instance details

Defined in Crypto.Hash.SHA256

type HashInternalContextSize SHA256 = 192

data SHA384 #

Constructors

SHA384 

Instances

Instances details
Data SHA384 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA384

Methods

showsPrec :: Int -> SHA384 -> ShowS

show :: SHA384 -> String

showList :: [SHA384] -> ShowS

HashAlgorithm SHA384 Source #

SHA384 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA384 
Instance details

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

HashAlgorithmPrefix SHA384 
Instance details

Defined in Crypto.Hash.SHA384

Methods

hashInternalFinalizePrefix :: Ptr (Context SHA384) -> Ptr Word8 -> Word32 -> Word32 -> Ptr (Digest SHA384) -> IO ()

type HashBlockSize SHA384 
Instance details

Defined in Crypto.Hash.SHA384

type HashBlockSize SHA384 = 128
type HashDigestSize SHA384 
Instance details

Defined in Crypto.Hash.SHA384

type HashDigestSize SHA384 = 48
type HashInternalContextSize SHA384 
Instance details

Defined in Crypto.Hash.SHA384

type HashInternalContextSize SHA384 = 256

data SHA512 #

Constructors

SHA512 

Instances

Instances details
Data SHA512 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA512

Methods

showsPrec :: Int -> SHA512 -> ShowS

show :: SHA512 -> String

showList :: [SHA512] -> ShowS

HashAlgorithm SHA512 Source #

SHA512 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA512 
Instance details

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

HashAlgorithmPrefix SHA512 
Instance details

Defined in Crypto.Hash.SHA512

Methods

hashInternalFinalizePrefix :: Ptr (Context SHA512) -> Ptr Word8 -> Word32 -> Word32 -> Ptr (Digest SHA512) -> IO ()

type HashBlockSize SHA512 
Instance details

Defined in Crypto.Hash.SHA512

type HashBlockSize SHA512 = 128
type HashDigestSize SHA512 
Instance details

Defined in Crypto.Hash.SHA512

type HashDigestSize SHA512 = 64
type HashInternalContextSize SHA512 
Instance details

Defined in Crypto.Hash.SHA512

type HashInternalContextSize SHA512 = 256

data RIPEMD160 #

Constructors

RIPEMD160 

Instances

Instances details
Data RIPEMD160 
Instance details

Defined in Crypto.Hash.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 :: forall r r'. (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 
Instance details

Defined in Crypto.Hash.RIPEMD160

Methods

showsPrec :: Int -> RIPEMD160 -> ShowS

show :: RIPEMD160 -> String

showList :: [RIPEMD160] -> ShowS

HashAlgorithm RIPEMD160 Source #

RIPEMD160 cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm RIPEMD160 
Instance details

Defined in Crypto.Hash.RIPEMD160

Associated Types

type HashBlockSize RIPEMD160 :: Nat

type HashDigestSize RIPEMD160 :: Nat

type HashInternalContextSize RIPEMD160 :: Nat

Methods

hashBlockSize :: RIPEMD160 -> Int

hashDigestSize :: RIPEMD160 -> Int

hashInternalContextSize :: RIPEMD160 -> Int

hashInternalInit :: Ptr (Context RIPEMD160) -> IO ()

hashInternalUpdate :: Ptr (Context RIPEMD160) -> Ptr Word8 -> Word32 -> IO ()

hashInternalFinalize :: Ptr (Context RIPEMD160) -> Ptr (Digest RIPEMD160) -> IO ()

type HashBlockSize RIPEMD160 
Instance details

Defined in Crypto.Hash.RIPEMD160

type HashBlockSize RIPEMD160 = 64
type HashDigestSize RIPEMD160 
Instance details

Defined in Crypto.Hash.RIPEMD160

type HashDigestSize RIPEMD160 = 20
type HashInternalContextSize RIPEMD160 
Instance details

Defined in Crypto.Hash.RIPEMD160

type HashInternalContextSize RIPEMD160 = 128

data Tiger #

Constructors

Tiger 

Instances

Instances details
Data Tiger 
Instance details

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

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 :: 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 
Instance details

Defined in Crypto.Hash.Tiger

Methods

showsPrec :: Int -> Tiger -> ShowS

show :: Tiger -> String

showList :: [Tiger] -> ShowS

HashAlgorithm Tiger Source #

Tiger cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Tiger 
Instance details

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 
Instance details

Defined in Crypto.Hash.Tiger

type HashBlockSize Tiger = 64
type HashDigestSize Tiger 
Instance details

Defined in Crypto.Hash.Tiger

type HashDigestSize Tiger = 24
type HashInternalContextSize Tiger 
Instance details

Defined in Crypto.Hash.Tiger

type HashInternalContextSize Tiger = 96

data SHA3_224 #

Constructors

SHA3_224 

Instances

Instances details
Data SHA3_224 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA3

Methods

showsPrec :: Int -> SHA3_224 -> ShowS

show :: SHA3_224 -> String

showList :: [SHA3_224] -> ShowS

HashAlgorithm SHA3_224 Source #

SHA3 (224 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA3_224 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA3

type HashBlockSize SHA3_224 = 144
type HashDigestSize SHA3_224 
Instance details

Defined in Crypto.Hash.SHA3

type HashDigestSize SHA3_224 = 28
type HashInternalContextSize SHA3_224 
Instance details

Defined in Crypto.Hash.SHA3

type HashInternalContextSize SHA3_224 = 352

data SHA3_256 #

Constructors

SHA3_256 

Instances

Instances details
Data SHA3_256 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA3

Methods

showsPrec :: Int -> SHA3_256 -> ShowS

show :: SHA3_256 -> String

showList :: [SHA3_256] -> ShowS

HashAlgorithm SHA3_256 Source #

SHA3 (256 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA3_256 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA3

type HashBlockSize SHA3_256 = 136
type HashDigestSize SHA3_256 
Instance details

Defined in Crypto.Hash.SHA3

type HashDigestSize SHA3_256 = 32
type HashInternalContextSize SHA3_256 
Instance details

Defined in Crypto.Hash.SHA3

type HashInternalContextSize SHA3_256 = 344

data SHA3_384 #

Constructors

SHA3_384 

Instances

Instances details
Data SHA3_384 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA3

Methods

showsPrec :: Int -> SHA3_384 -> ShowS

show :: SHA3_384 -> String

showList :: [SHA3_384] -> ShowS

HashAlgorithm SHA3_384 Source #

SHA3 (384 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA3_384 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA3

type HashBlockSize SHA3_384 = 104
type HashDigestSize SHA3_384 
Instance details

Defined in Crypto.Hash.SHA3

type HashDigestSize SHA3_384 = 48
type HashInternalContextSize SHA3_384 
Instance details

Defined in Crypto.Hash.SHA3

type HashInternalContextSize SHA3_384 = 312

data SHA3_512 #

Constructors

SHA3_512 

Instances

Instances details
Data SHA3_512 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA3

Methods

showsPrec :: Int -> SHA3_512 -> ShowS

show :: SHA3_512 -> String

showList :: [SHA3_512] -> ShowS

HashAlgorithm SHA3_512 Source #

SHA3 (512 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm SHA3_512 
Instance details

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 
Instance details

Defined in Crypto.Hash.SHA3

type HashBlockSize SHA3_512 = 72
type HashDigestSize SHA3_512 
Instance details

Defined in Crypto.Hash.SHA3

type HashDigestSize SHA3_512 = 64
type HashInternalContextSize SHA3_512 
Instance details

Defined in Crypto.Hash.SHA3

type HashInternalContextSize SHA3_512 = 280

data Skein256_224 #

Constructors

Skein256_224 

Instances

Instances details
Data Skein256_224 
Instance details

Defined in Crypto.Hash.Skein256

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 :: forall r r'. (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 
Instance details

Defined in Crypto.Hash.Skein256

Methods

showsPrec :: Int -> Skein256_224 -> ShowS

show :: Skein256_224 -> String

showList :: [Skein256_224] -> ShowS

HashAlgorithm Skein256_224 Source #

Skein256 (224 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein256_224 
Instance details

Defined in Crypto.Hash.Skein256

Associated Types

type HashBlockSize Skein256_224 :: Nat

type HashDigestSize Skein256_224 :: Nat

type HashInternalContextSize Skein256_224 :: Nat

Methods

hashBlockSize :: Skein256_224 -> Int

hashDigestSize :: Skein256_224 -> Int

hashInternalContextSize :: Skein256_224 -> Int

hashInternalInit :: Ptr (Context Skein256_224) -> IO ()

hashInternalUpdate :: Ptr (Context Skein256_224) -> Ptr Word8 -> Word32 -> IO ()

hashInternalFinalize :: Ptr (Context Skein256_224) -> Ptr (Digest Skein256_224) -> IO ()

type HashBlockSize Skein256_224 
Instance details

Defined in Crypto.Hash.Skein256

type HashBlockSize Skein256_224 = 32
type HashDigestSize Skein256_224 
Instance details

Defined in Crypto.Hash.Skein256

type HashDigestSize Skein256_224 = 28
type HashInternalContextSize Skein256_224 
Instance details

Defined in Crypto.Hash.Skein256

type HashInternalContextSize Skein256_224 = 96

data Skein256_256 #

Constructors

Skein256_256 

Instances

Instances details
Data Skein256_256 
Instance details

Defined in Crypto.Hash.Skein256

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 :: forall r r'. (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 
Instance details

Defined in Crypto.Hash.Skein256

Methods

showsPrec :: Int -> Skein256_256 -> ShowS

show :: Skein256_256 -> String

showList :: [Skein256_256] -> ShowS

HashAlgorithm Skein256_256 Source #

Skein256 (256 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein256_256 
Instance details

Defined in Crypto.Hash.Skein256

Associated Types

type HashBlockSize Skein256_256 :: Nat

type HashDigestSize Skein256_256 :: Nat

type HashInternalContextSize Skein256_256 :: Nat

Methods

hashBlockSize :: Skein256_256 -> Int

hashDigestSize :: Skein256_256 -> Int

hashInternalContextSize :: Skein256_256 -> Int

hashInternalInit :: Ptr (Context Skein256_256) -> IO ()

hashInternalUpdate :: Ptr (Context Skein256_256) -> Ptr Word8 -> Word32 -> IO ()

hashInternalFinalize :: Ptr (Context Skein256_256) -> Ptr (Digest Skein256_256) -> IO ()

type HashBlockSize Skein256_256 
Instance details

Defined in Crypto.Hash.Skein256

type HashBlockSize Skein256_256 = 32
type HashDigestSize Skein256_256 
Instance details

Defined in Crypto.Hash.Skein256

type HashDigestSize Skein256_256 = 32
type HashInternalContextSize Skein256_256 
Instance details

Defined in Crypto.Hash.Skein256

type HashInternalContextSize Skein256_256 = 96

data Skein512_224 #

Constructors

Skein512_224 

Instances

Instances details
Data Skein512_224 
Instance details

Defined in Crypto.Hash.Skein512

Methods

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

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

toConstr :: Skein512_224 -> Constr

dataTypeOf :: Skein512_224 -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Skein512_224)

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

gmapT :: (forall b. Data b => b -> b) -> Skein512_224 -> Skein512_224

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

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

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

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

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

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

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

Show Skein512_224 
Instance details

Defined in Crypto.Hash.Skein512

Methods

showsPrec :: Int -> Skein512_224 -> ShowS

show :: Skein512_224 -> String

showList :: [Skein512_224] -> ShowS

HashAlgorithm Skein512_224 Source #

Skein512 (224 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein512_224 
Instance details

Defined in Crypto.Hash.Skein512

Associated Types

type HashBlockSize Skein512_224 :: Nat

type HashDigestSize Skein512_224 :: Nat

type HashInternalContextSize Skein512_224 :: Nat

Methods

hashBlockSize :: Skein512_224 -> Int

hashDigestSize :: Skein512_224 -> Int

hashInternalContextSize :: Skein512_224 -> Int

hashInternalInit :: Ptr (Context Skein512_224) -> IO ()

hashInternalUpdate :: Ptr (Context Skein512_224) -> Ptr Word8 -> Word32 -> IO ()

hashInternalFinalize :: Ptr (Context Skein512_224) -> Ptr (Digest Skein512_224) -> IO ()

type HashBlockSize Skein512_224 
Instance details

Defined in Crypto.Hash.Skein512

type HashBlockSize Skein512_224 = 64
type HashDigestSize Skein512_224 
Instance details

Defined in Crypto.Hash.Skein512

type HashDigestSize Skein512_224 = 28
type HashInternalContextSize Skein512_224 
Instance details

Defined in Crypto.Hash.Skein512

type HashInternalContextSize Skein512_224 = 160

data Skein512_256 #

Constructors

Skein512_256 

Instances

Instances details
Data Skein512_256 
Instance details

Defined in Crypto.Hash.Skein512

Methods

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

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

toConstr :: Skein512_256 -> Constr

dataTypeOf :: Skein512_256 -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Skein512_256)

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

gmapT :: (forall b. Data b => b -> b) -> Skein512_256 -> Skein512_256

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

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

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

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

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

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

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

Show Skein512_256 
Instance details

Defined in Crypto.Hash.Skein512

Methods

showsPrec :: Int -> Skein512_256 -> ShowS

show :: Skein512_256 -> String

showList :: [Skein512_256] -> ShowS

HashAlgorithm Skein512_256 Source #

Skein512 (256 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein512_256 
Instance details

Defined in Crypto.Hash.Skein512

Associated Types

type HashBlockSize Skein512_256 :: Nat

type HashDigestSize Skein512_256 :: Nat

type HashInternalContextSize Skein512_256 :: Nat

Methods

hashBlockSize :: Skein512_256 -> Int

hashDigestSize :: Skein512_256 -> Int

hashInternalContextSize :: Skein512_256 -> Int

hashInternalInit :: Ptr (Context Skein512_256) -> IO ()

hashInternalUpdate :: Ptr (Context Skein512_256) -> Ptr Word8 -> Word32 -> IO ()

hashInternalFinalize :: Ptr (Context Skein512_256) -> Ptr (Digest Skein512_256) -> IO ()

type HashBlockSize Skein512_256 
Instance details

Defined in Crypto.Hash.Skein512

type HashBlockSize Skein512_256 = 64
type HashDigestSize Skein512_256 
Instance details

Defined in Crypto.Hash.Skein512

type HashDigestSize Skein512_256 = 32
type HashInternalContextSize Skein512_256 
Instance details

Defined in Crypto.Hash.Skein512

type HashInternalContextSize Skein512_256 = 160

data Skein512_384 #

Constructors

Skein512_384 

Instances

Instances details
Data Skein512_384 
Instance details

Defined in Crypto.Hash.Skein512

Methods

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

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

toConstr :: Skein512_384 -> Constr

dataTypeOf :: Skein512_384 -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Skein512_384)

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

gmapT :: (forall b. Data b => b -> b) -> Skein512_384 -> Skein512_384

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

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

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

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

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

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

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

Show Skein512_384 
Instance details

Defined in Crypto.Hash.Skein512

Methods

showsPrec :: Int -> Skein512_384 -> ShowS

show :: Skein512_384 -> String

showList :: [Skein512_384] -> ShowS

HashAlgorithm Skein512_384 Source #

Skein512 (384 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein512_384 
Instance details

Defined in Crypto.Hash.Skein512

Associated Types

type HashBlockSize Skein512_384 :: Nat

type HashDigestSize Skein512_384 :: Nat

type HashInternalContextSize Skein512_384 :: Nat

Methods

hashBlockSize :: Skein512_384 -> Int

hashDigestSize :: Skein512_384 -> Int

hashInternalContextSize :: Skein512_384 -> Int

hashInternalInit :: Ptr (Context Skein512_384) -> IO ()

hashInternalUpdate :: Ptr (Context Skein512_384) -> Ptr Word8 -> Word32 -> IO ()

hashInternalFinalize :: Ptr (Context Skein512_384) -> Ptr (Digest Skein512_384) -> IO ()

type HashBlockSize Skein512_384 
Instance details

Defined in Crypto.Hash.Skein512

type HashBlockSize Skein512_384 = 64
type HashDigestSize Skein512_384 
Instance details

Defined in Crypto.Hash.Skein512

type HashDigestSize Skein512_384 = 48
type HashInternalContextSize Skein512_384 
Instance details

Defined in Crypto.Hash.Skein512

type HashInternalContextSize Skein512_384 = 160

data Skein512_512 #

Constructors

Skein512_512 

Instances

Instances details
Data Skein512_512 
Instance details

Defined in Crypto.Hash.Skein512

Methods

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

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

toConstr :: Skein512_512 -> Constr

dataTypeOf :: Skein512_512 -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Skein512_512)

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

gmapT :: (forall b. Data b => b -> b) -> Skein512_512 -> Skein512_512

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

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

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

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

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

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

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

Show Skein512_512 
Instance details

Defined in Crypto.Hash.Skein512

Methods

showsPrec :: Int -> Skein512_512 -> ShowS

show :: Skein512_512 -> String

showList :: [Skein512_512] -> ShowS

HashAlgorithm Skein512_512 Source #

Skein512 (512 bits version) cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Skein512_512 
Instance details

Defined in Crypto.Hash.Skein512

Associated Types

type HashBlockSize Skein512_512 :: Nat

type HashDigestSize Skein512_512 :: Nat

type HashInternalContextSize Skein512_512 :: Nat

Methods

hashBlockSize :: Skein512_512 -> Int

hashDigestSize :: Skein512_512 -> Int

hashInternalContextSize :: Skein512_512 -> Int

hashInternalInit :: Ptr (Context Skein512_512) -> IO ()

hashInternalUpdate :: Ptr (Context Skein512_512) -> Ptr Word8 -> Word32 -> IO ()

hashInternalFinalize :: Ptr (Context Skein512_512) -> Ptr (Digest Skein512_512) -> IO ()

type HashBlockSize Skein512_512 
Instance details

Defined in Crypto.Hash.Skein512

type HashBlockSize Skein512_512 = 64
type HashDigestSize Skein512_512 
Instance details

Defined in Crypto.Hash.Skein512

type HashDigestSize Skein512_512 = 64
type HashInternalContextSize Skein512_512 
Instance details

Defined in Crypto.Hash.Skein512

type HashInternalContextSize Skein512_512 = 160

data Whirlpool #

Constructors

Whirlpool 

Instances

Instances details
Data Whirlpool 
Instance details

Defined in Crypto.Hash.Whirlpool

Methods

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

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

toConstr :: Whirlpool -> Constr

dataTypeOf :: Whirlpool -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Whirlpool)

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

gmapT :: (forall b. Data b => b -> b) -> Whirlpool -> Whirlpool

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

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

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

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

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

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

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

Show Whirlpool 
Instance details

Defined in Crypto.Hash.Whirlpool

Methods

showsPrec :: Int -> Whirlpool -> ShowS

show :: Whirlpool -> String

showList :: [Whirlpool] -> ShowS

HashAlgorithm Whirlpool Source #

Whirlpool cryptographic hash

Instance details

Defined in Crypto.Hash

HashAlgorithm Whirlpool 
Instance details

Defined in Crypto.Hash.Whirlpool

Associated Types

type HashBlockSize Whirlpool :: Nat

type HashDigestSize Whirlpool :: Nat

type HashInternalContextSize Whirlpool :: Nat

Methods

hashBlockSize :: Whirlpool -> Int

hashDigestSize :: Whirlpool -> Int

hashInternalContextSize :: Whirlpool -> Int

hashInternalInit :: Ptr (Context Whirlpool) -> IO ()

hashInternalUpdate :: Ptr (Context Whirlpool) -> Ptr Word8 -> Word32 -> IO ()

hashInternalFinalize :: Ptr (Context Whirlpool) -> Ptr (Digest Whirlpool) -> IO ()

type HashBlockSize Whirlpool 
Instance details

Defined in Crypto.Hash.Whirlpool

type HashBlockSize Whirlpool = 64
type HashDigestSize Whirlpool 
Instance details

Defined in Crypto.Hash.Whirlpool

type HashDigestSize Whirlpool = 64
type HashInternalContextSize Whirlpool 
Instance details

Defined in Crypto.Hash.Whirlpool

type HashInternalContextSize Whirlpool = 168

MAC algorithms

newtype HMAC a Source #

Represent an HMAC that is a phantom type with the hash used to produce the mac.

The Eq instance is constant time.

Constructors

HMAC 

Fields

Instances

Instances details
Byteable (HMAC a) Source # 
Instance details

Defined in Crypto.Hash

Methods

toBytes :: HMAC a -> ByteString

byteableLength :: HMAC a -> Int

withBytePtr :: HMAC a -> (Ptr Word8 -> IO b) -> IO b

Eq (HMAC a) Source # 
Instance details

Defined in Crypto.Hash

Methods

(==) :: HMAC a -> HMAC a -> Bool

(/=) :: HMAC a -> HMAC a -> Bool

hmac Source #

Arguments

:: HashAlgorithm a 
=> ByteString

Secret key

-> ByteString

Message to MAC

-> HMAC a 

compute a MAC using the supplied hashing function

hmacAlg Source #

Arguments

:: HashAlgorithm a 
=> a

the hash algorithm the actual value is unused.

-> ByteString

Secret key

-> ByteString

Message to MAC

-> HMAC a 

compute a HMAC using a specified algorithm