mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

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@kernel.org> Acked-by: Eric Biggers <ebiggers@kernel.org> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Keith Busch <kbusch@kernel.org>
20 lines
524 B
C
20 lines
524 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* HKDF: HMAC-based Key Derivation Function (HKDF), RFC 5869
|
|
*
|
|
* Extracted from fs/crypto/hkdf.c, which has
|
|
* Copyright 2019 Google LLC
|
|
*/
|
|
|
|
#ifndef _CRYPTO_HKDF_H
|
|
#define _CRYPTO_HKDF_H
|
|
|
|
#include <crypto/hash.h>
|
|
|
|
int hkdf_extract(struct crypto_shash *hmac_tfm, const u8 *ikm,
|
|
unsigned int ikmlen, const u8 *salt, unsigned int saltlen,
|
|
u8 *prk);
|
|
int hkdf_expand(struct crypto_shash *hmac_tfm,
|
|
const u8 *info, unsigned int infolen,
|
|
u8 *okm, unsigned int okmlen);
|
|
#endif
|