Hash-Based Key Derivation (HKD)
This draft specifies two Key Derivation Functions (KDFs) that may be used to derive symmetric keying material for participating parties from a secret value and application specific information. Each KDF is based on a concatenation technique and a secure hash function. The length in bits of secret keying material that can be generated by either of the KDFs is limited to (2**32 - 1) times the length in bits of the output block of the hash function. The derived keying material is a concatenation of the outputs of the hashing operations. Outputs from the KDFs are either "Invalid" or desired secret keying material. The HKDFs specified in this document are intended for use in scenarios where the communicating parties derive keying material for their own use. This specification is not intended for implementation of key hierarchies.