Idris2Doc : Data.Cryptography.HMAC

Data.Cryptography.HMAC

(source)

Definitions

recordHmacCtx : HashAlgorithm->Nat->Type
Totality: total
Visibility: export
Constructor: 
MkHmacCtx : hash.ctxType->VectkeyLengthBits8->HmacCtxhashkeyLength

Projections:
.hashCtx : HmacCtxhashkeyLength->hash.ctxType
.key : HmacCtxhashkeyLength->VectkeyLengthBits8
mkHmacCtx : VectkeyLengthBits8->HmacCtxhashkeyLength
  Note that key is not zero-padded or hashed as mentioned in the HMAC spec. If
you have a long key (longer than 'block size', see HMAC spec), and you need
compatibility, make sure you hash the key before passing it in here. If your
key is short, make sure you zero pad it in the end to match the 'block size'
of the hash function. The block size is not available for sponge-type hash
algorithms. To allow using this implementation with sponge-like hash
algorithms, we allow an arbitrary key length here, and rely on the consumer
to choose whether the key is hashed or not.
Note that HMAC shouldn't be necessary with sponge-type constructions.
See https://crypto.stackexchange.com/a/39886/12089

Visibility: export
appendHmac : ListBits8->HmacCtxhashkeyLength->HmacCtxhashkeyLength
Visibility: export
finalizeHmac : HmacCtxhashkeyLength->Vect (hash.outputSize) Bits8
Visibility: export