This package is used to implement Key Derivation Functions (KDF)
based on the recommendations of NIST SP 800-108. These are useful
for generating unique-per-transaction keys, or situations in which
a key hierarchy may be useful.
CounterMode implements the counter mode KDF that uses a psuedo-random-function (PRF)
along with a counter to generate derived keys. The KDF takes a base key
a derivation context, and the requried number of output bits.
PRF is a psuedo-random function that takes a key or seed,
as well as additional binary data and generates output that is
indistinguishable from random. Examples are cryptographic hash
functions or block ciphers.