cryptohash-cryptoapi-0.1.4: Crypto-api interfaces for cryptohash
LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell98

Crypto.Hash.CryptoAPI

Contents

Description

Cryptohash API exported through crypto-api.

Note: Current version (0.10) of crypto-api suffers a small performance problem. see http://tab.snarc.org/others/benchmark-cryptohash-0.8.html. Hopefully, future versions will fix this.

Synopsis

Documentation

data MD2 Source #

Instances

Instances details
Eq MD2 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

(==) :: MD2 -> MD2 -> Bool

(/=) :: MD2 -> MD2 -> Bool

Ord MD2 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

compare :: MD2 -> MD2 -> Ordering

(<) :: MD2 -> MD2 -> Bool

(<=) :: MD2 -> MD2 -> Bool

(>) :: MD2 -> MD2 -> Bool

(>=) :: MD2 -> MD2 -> Bool

max :: MD2 -> MD2 -> MD2

min :: MD2 -> MD2 -> MD2

Show MD2 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

showsPrec :: Int -> MD2 -> ShowS

show :: MD2 -> String

showList :: [MD2] -> ShowS

Serialize MD2 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXMD2 MD2 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data MD4 Source #

Instances

Instances details
Eq MD4 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

(==) :: MD4 -> MD4 -> Bool

(/=) :: MD4 -> MD4 -> Bool

Ord MD4 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

compare :: MD4 -> MD4 -> Ordering

(<) :: MD4 -> MD4 -> Bool

(<=) :: MD4 -> MD4 -> Bool

(>) :: MD4 -> MD4 -> Bool

(>=) :: MD4 -> MD4 -> Bool

max :: MD4 -> MD4 -> MD4

min :: MD4 -> MD4 -> MD4

Show MD4 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

showsPrec :: Int -> MD4 -> ShowS

show :: MD4 -> String

showList :: [MD4] -> ShowS

Serialize MD4 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXMD4 MD4 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data MD5 Source #

Instances

Instances details
Eq MD5 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

(==) :: MD5 -> MD5 -> Bool

(/=) :: MD5 -> MD5 -> Bool

Ord MD5 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

compare :: MD5 -> MD5 -> Ordering

(<) :: MD5 -> MD5 -> Bool

(<=) :: MD5 -> MD5 -> Bool

(>) :: MD5 -> MD5 -> Bool

(>=) :: MD5 -> MD5 -> Bool

max :: MD5 -> MD5 -> MD5

min :: MD5 -> MD5 -> MD5

Show MD5 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

showsPrec :: Int -> MD5 -> ShowS

show :: MD5 -> String

showList :: [MD5] -> ShowS

Serialize MD5 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXMD5 MD5 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data SHA1 Source #

Instances

Instances details
Eq SHA1 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

(==) :: SHA1 -> SHA1 -> Bool

(/=) :: SHA1 -> SHA1 -> Bool

Ord SHA1 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

compare :: SHA1 -> SHA1 -> Ordering

(<) :: SHA1 -> SHA1 -> Bool

(<=) :: SHA1 -> SHA1 -> Bool

(>) :: SHA1 -> SHA1 -> Bool

(>=) :: SHA1 -> SHA1 -> Bool

max :: SHA1 -> SHA1 -> SHA1

min :: SHA1 -> SHA1 -> SHA1

Show SHA1 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

showsPrec :: Int -> SHA1 -> ShowS

show :: SHA1 -> String

showList :: [SHA1] -> ShowS

Serialize SHA1 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXSHA1 SHA1 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data SHA224 Source #

Instances

Instances details
Eq SHA224 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

(==) :: SHA224 -> SHA224 -> Bool

(/=) :: SHA224 -> SHA224 -> Bool

Ord SHA224 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

compare :: SHA224 -> SHA224 -> Ordering

(<) :: SHA224 -> SHA224 -> Bool

(<=) :: SHA224 -> SHA224 -> Bool

(>) :: SHA224 -> SHA224 -> Bool

(>=) :: SHA224 -> SHA224 -> Bool

max :: SHA224 -> SHA224 -> SHA224

min :: SHA224 -> SHA224 -> SHA224

Show SHA224 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

showsPrec :: Int -> SHA224 -> ShowS

show :: SHA224 -> String

showList :: [SHA224] -> ShowS

Serialize SHA224 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXSHA224 SHA224 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data SHA256 Source #

Instances

Instances details
Eq SHA256 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

(==) :: SHA256 -> SHA256 -> Bool

(/=) :: SHA256 -> SHA256 -> Bool

Ord SHA256 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

compare :: SHA256 -> SHA256 -> Ordering

(<) :: SHA256 -> SHA256 -> Bool

(<=) :: SHA256 -> SHA256 -> Bool

(>) :: SHA256 -> SHA256 -> Bool

(>=) :: SHA256 -> SHA256 -> Bool

max :: SHA256 -> SHA256 -> SHA256

min :: SHA256 -> SHA256 -> SHA256

Show SHA256 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

showsPrec :: Int -> SHA256 -> ShowS

show :: SHA256 -> String

showList :: [SHA256] -> ShowS

Serialize SHA256 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXSHA256 SHA256 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data SHA384 Source #

Instances

Instances details
Eq SHA384 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

(==) :: SHA384 -> SHA384 -> Bool

(/=) :: SHA384 -> SHA384 -> Bool

Ord SHA384 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

compare :: SHA384 -> SHA384 -> Ordering

(<) :: SHA384 -> SHA384 -> Bool

(<=) :: SHA384 -> SHA384 -> Bool

(>) :: SHA384 -> SHA384 -> Bool

(>=) :: SHA384 -> SHA384 -> Bool

max :: SHA384 -> SHA384 -> SHA384

min :: SHA384 -> SHA384 -> SHA384

Show SHA384 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

showsPrec :: Int -> SHA384 -> ShowS

show :: SHA384 -> String

showList :: [SHA384] -> ShowS

Serialize SHA384 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXSHA384 SHA384 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data SHA512 Source #

Instances

Instances details
Eq SHA512 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

(==) :: SHA512 -> SHA512 -> Bool

(/=) :: SHA512 -> SHA512 -> Bool

Ord SHA512 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

compare :: SHA512 -> SHA512 -> Ordering

(<) :: SHA512 -> SHA512 -> Bool

(<=) :: SHA512 -> SHA512 -> Bool

(>) :: SHA512 -> SHA512 -> Bool

(>=) :: SHA512 -> SHA512 -> Bool

max :: SHA512 -> SHA512 -> SHA512

min :: SHA512 -> SHA512 -> SHA512

Show SHA512 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

showsPrec :: Int -> SHA512 -> ShowS

show :: SHA512 -> String

showList :: [SHA512] -> ShowS

Serialize SHA512 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXSHA512 SHA512 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data RIPEMD160 Source #

Instances

Instances details
Eq RIPEMD160 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

(==) :: RIPEMD160 -> RIPEMD160 -> Bool

(/=) :: RIPEMD160 -> RIPEMD160 -> Bool

Ord RIPEMD160 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

compare :: RIPEMD160 -> RIPEMD160 -> Ordering

(<) :: RIPEMD160 -> RIPEMD160 -> Bool

(<=) :: RIPEMD160 -> RIPEMD160 -> Bool

(>) :: RIPEMD160 -> RIPEMD160 -> Bool

(>=) :: RIPEMD160 -> RIPEMD160 -> Bool

max :: RIPEMD160 -> RIPEMD160 -> RIPEMD160

min :: RIPEMD160 -> RIPEMD160 -> RIPEMD160

Show RIPEMD160 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

showsPrec :: Int -> RIPEMD160 -> ShowS

show :: RIPEMD160 -> String

showList :: [RIPEMD160] -> ShowS

Serialize RIPEMD160 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXRIPEMD160 RIPEMD160 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data Tiger Source #

Instances

Instances details
Eq Tiger Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

(==) :: Tiger -> Tiger -> Bool

(/=) :: Tiger -> Tiger -> Bool

Ord Tiger Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

compare :: Tiger -> Tiger -> Ordering

(<) :: Tiger -> Tiger -> Bool

(<=) :: Tiger -> Tiger -> Bool

(>) :: Tiger -> Tiger -> Bool

(>=) :: Tiger -> Tiger -> Bool

max :: Tiger -> Tiger -> Tiger

min :: Tiger -> Tiger -> Tiger

Show Tiger Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

showsPrec :: Int -> Tiger -> ShowS

show :: Tiger -> String

showList :: [Tiger] -> ShowS

Serialize Tiger Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXTiger Tiger Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data Whirlpool Source #

Instances

Instances details
Eq Whirlpool Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

(==) :: Whirlpool -> Whirlpool -> Bool

(/=) :: Whirlpool -> Whirlpool -> Bool

Ord Whirlpool Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

compare :: Whirlpool -> Whirlpool -> Ordering

(<) :: Whirlpool -> Whirlpool -> Bool

(<=) :: Whirlpool -> Whirlpool -> Bool

(>) :: Whirlpool -> Whirlpool -> Bool

(>=) :: Whirlpool -> Whirlpool -> Bool

max :: Whirlpool -> Whirlpool -> Whirlpool

min :: Whirlpool -> Whirlpool -> Whirlpool

Show Whirlpool Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Methods

showsPrec :: Int -> Whirlpool -> ShowS

show :: Whirlpool -> String

showList :: [Whirlpool] -> ShowS

Serialize Whirlpool Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXWhirlpool Whirlpool Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

class (Serialize d, Eq d, Ord d) => Hash ctx d | d -> ctx, ctx -> d where Source #

The Hash class is intended as the generic interface targeted by maintainers of Haskell digest implementations. Using this generic interface, higher level functions such as hash and hash' provide a useful API for comsumers of hash implementations.

Any instantiated implementation must handle unaligned data.

Minimum complete definition: outputLength, blockLength, initialCtx, updateCtx, and finalize.

Minimal complete definition

outputLength, blockLength, initialCtx, updateCtx, finalize

Methods

outputLength Source #

Arguments

:: Tagged d BitLength

The size of the digest when encoded

blockLength Source #

Arguments

:: Tagged d BitLength

The amount of data operated on in each round of the digest computation

initialCtx Source #

Arguments

:: ctx

An initial context, provided with the first call to updateCtx

updateCtx Source #

Arguments

:: ctx 
-> ByteString 
-> ctx

Used to update a context, repeatedly called until all data is exhausted must operate correctly for imputs of n*blockLength bytes for n elem [0..]

finalize Source #

Arguments

:: ctx 
-> ByteString 
-> d

Finializing a context, plus any message data less than the block size, into a digest

hash :: ByteString -> d Source #

Hash a lazy ByteString, creating a digest

hash' :: ByteString -> d Source #

Hash a strict ByteString, creating a digest

Instances

Instances details
Hash CTXSkein512_512 Skein512_512 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXSkein256_256 Skein256_256 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXWhirlpool Whirlpool Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXTiger Tiger Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXRIPEMD160 RIPEMD160 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXSHA512 SHA512 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXSHA384 SHA384 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXSHA256 SHA256 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXSHA224 SHA224 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXSHA1 SHA1 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXMD5 MD5 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXMD4 MD4 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Hash CTXMD2 MD2 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

Contexts

data CTXMD2 Source #

Instances

Instances details
Hash CTXMD2 MD2 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data CTXMD4 Source #

Instances

Instances details
Hash CTXMD4 MD4 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data CTXMD5 Source #

Instances

Instances details
Hash CTXMD5 MD5 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data CTXSHA1 Source #

Instances

Instances details
Hash CTXSHA1 SHA1 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data CTXSHA224 Source #

Instances

Instances details
Hash CTXSHA224 SHA224 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data CTXSHA256 Source #

Instances

Instances details
Hash CTXSHA256 SHA256 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data CTXSHA384 Source #

Instances

Instances details
Hash CTXSHA384 SHA384 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data CTXSHA512 Source #

Instances

Instances details
Hash CTXSHA512 SHA512 Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI

data CTXTiger Source #

Instances

Instances details
Hash CTXTiger Tiger Source # 
Instance details

Defined in Crypto.Hash.CryptoAPI