lib/crypto: blake2s: move hmac construction into wireguard
authorJason A. Donenfeld <Jason@zx2c4.com>
Tue, 11 Jan 2022 13:37:41 +0000 (14:37 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Tue, 18 Jan 2022 12:03:55 +0000 (13:03 +0100)
commitd8d83d8ab0a453e17e68b3a3bed1f940c34b8646
tree50da5894bc1a914182ab12609ba4005b2c8e1d5c
parente56e18985596617ae426ed5997fb2e737cffb58b
lib/crypto: blake2s: move hmac construction into wireguard

Basically nobody should use blake2s in an HMAC construction; it already
has a keyed variant. But unfortunately for historical reasons, Noise,
used by WireGuard, uses HKDF quite strictly, which means we have to use
this. Because this really shouldn't be used by others, this commit moves
it into wireguard's noise.c locally, so that kernels that aren't using
WireGuard don't get this superfluous code baked in. On m68k systems,
this shaves off ~314 bytes.

Cc: Herbert Xu <herbert@gondor.apana.org.au>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
drivers/net/wireguard/noise.c
include/crypto/blake2s.h
lib/crypto/blake2s-selftest.c
lib/crypto/blake2s.c