On Mon, Dec 02, 2024 at 03:29:50PM +0100, Hannes Reinecke wrote: > Separate out the HKDF functions into a separate module to > to make them available to other callers. > And add a testsuite to the module with test vectors > from RFC 5869 (and additional vectors for SHA384 and SHA512) > to ensure the integrity of the algorithm. > > Signed-off-by: Hannes Reinecke <hare@xxxxxxxxxx> > Cc: Eric Biggers <ebiggers@xxxxxxxxxx> > Cc: linux-crypto@xxxxxxxxxxxxxxx Acked-by: Eric Biggers <ebiggers@xxxxxxxxxx> > +int hkdf_expand(struct crypto_shash *hmac_tfm, > + const u8 *info, unsigned int infolen, > + u8 *okm, unsigned int okmlen) > +{ > + SHASH_DESC_ON_STACK(desc, hmac_tfm); > + unsigned int i, hashlen = crypto_shash_digestsize(hmac_tfm); > + int err; > + const u8 *prev = NULL; > + u8 counter = 1; > + u8 tmp[HASH_MAX_DIGESTSIZE] = {}; Zero-initializing tmp is not necessary. - Eric