]> git.ipfire.org Git - thirdparty/linux.git/commit
crypto: sha3 - Reimplement using library API
authorEric Biggers <ebiggers@kernel.org>
Sun, 26 Oct 2025 05:50:31 +0000 (22:50 -0700)
committerEric Biggers <ebiggers@kernel.org>
Thu, 6 Nov 2025 04:30:51 +0000 (20:30 -0800)
commitf1799d17285ca99243328cd92133a9f84ee3a593
treeab22ccec3bce51c351f7bce747be01c04ca14b5a
parentd280d4d56a13b271ce6af9524feb1af1aa307606
crypto: sha3 - Reimplement using library API

Replace sha3_generic.c with a new file sha3.c which implements the SHA-3
crypto_shash algorithms on top of the SHA-3 library API.

Change the driver name suffix from "-generic" to "-lib" to reflect that
these algorithms now just use the (possibly arch-optimized) library.

This closely mirrors crypto/{md5,sha1,sha256,sha512,blake2b}.c.

Implement export_core and import_core, since crypto/hmac.c expects these
to be present.  (Note that there is no security purpose in wrapping
SHA-3 with HMAC.  HMAC was designed for older algorithms that don't
resist length extension attacks.  But since someone could be using
"hmac(sha3-*)" via crypto_shash anyway, keep supporting it for now.)

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Tested-by: Harald Freudenberger <freude@linux.ibm.com>
Link: https://lore.kernel.org/r/20251026055032.1413733-15-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
crypto/Kconfig
crypto/Makefile
crypto/sha3.c [new file with mode: 0644]
crypto/sha3_generic.c [deleted file]
crypto/testmgr.c
include/crypto/sha3.h