| License | BSD-style |
|---|---|
| Maintainer | Vincent Hanquez <vincent@snarc.org> |
| Stability | experimental |
| Portability | unknown |
| Safe Haskell | None |
| Language | Haskell2010 |
Crypto.KDF.HKDF
Description
Key Derivation Function based on HMAC
See RFC5869
- data PRK a
- extract :: (HashAlgorithm a, ByteArrayAccess salt, ByteArrayAccess ikm) => salt -> ikm -> PRK a
- extractSkip :: ByteArrayAccess ikm => ikm -> PRK a
- expand :: (HashAlgorithm a, ByteArrayAccess info, ByteArray out) => PRK a -> info -> Int -> out
Documentation
Arguments
| :: (HashAlgorithm a, ByteArrayAccess salt, ByteArrayAccess ikm) | |
| => salt | Salt |
| -> ikm | Input Keying Material |
| -> PRK a | Pseudo random key |
Extract a Pseudo Random Key using the parameter and the underlaying hash mechanism
extractSkip :: ByteArrayAccess ikm => ikm -> PRK a Source #
Create a PRK directly from the input key material.
Only use when guaranteed to have a good quality and random data to use directly as key. This effectively skip a HMAC with key=salt and data=key.
Arguments
| :: (HashAlgorithm a, ByteArrayAccess info, ByteArray out) | |
| => PRK a | Pseudo Random Key |
| -> info | Optional context and application specific information |
| -> Int | Output length in bytes |
| -> out | Output data |
Expand key material of specific length out of the parameters