Module Hkdf

RFC 5869 specifies a HMAC-based Extract-and-Expand Key Derivation Function (HKDF), which is abstracted over a specific hash function.

module type S = sig ... end
module Make : functor (H : Nocrypto.Hash.S) -> S

Given a Hash function, get the HKDF

val extract : hash:Nocrypto.Hash.hash -> ?⁠salt:Cstruct.t -> Cstruct.t -> Cstruct.t

convenience extract hash salt ikm where the hash has to be provided explicitly

val expand : hash:Nocrypto.Hash.hash -> prk:Cstruct.t -> ?⁠info:Cstruct.t -> int -> Cstruct.t

convenience expand hash prk info len where the hash has to be provided explicitly