-- | -- -- Module: Sel.HMAC.SHA512 -- Description: Keyed Message Authentication Codes -- -- [HMAC](https://en.wikipedia.org/wiki/HMAC) provides a way to both encrypt a communication -- and authenticate its origin. -- -- This relies on a shared pair of secret keys between all the parties -- -- The function computing the tag deterministic: the same @(message, key)@ tuple will always -- produce the same output. However, even if the message is public, knowing the key is required -- in order to be able to compute a valid tag. -- Therefore, the key should remain confidential. The tag, however, can be public. -- -- The following keyed message authentication codes are availabled: -- -- * "Sel.HMAC.SHA256" -- * "Sel.HMAC.SHA512" -- * "Sel.HMAC.SHA512_256" (truncated HMAC-SHA-512) module Sel.HMAC where