summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@kernel.org>2025-10-26 08:50:31 +0300
committerEric Biggers <ebiggers@kernel.org>2025-11-06 07:30:51 +0300
commitf1799d17285ca99243328cd92133a9f84ee3a593 (patch)
treeab22ccec3bce51c351f7bce747be01c04ca14b5a /include
parentd280d4d56a13b271ce6af9524feb1af1aa307606 (diff)
downloadlinux-f1799d17285ca99243328cd92133a9f84ee3a593.tar.xz
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>
Diffstat (limited to 'include')
-rw-r--r--include/crypto/sha3.h6
1 files changed, 0 insertions, 6 deletions
diff --git a/include/crypto/sha3.h b/include/crypto/sha3.h
index c0c468ee099e..c9e4182ff74f 100644
--- a/include/crypto/sha3.h
+++ b/include/crypto/sha3.h
@@ -37,10 +37,6 @@
#define SHA3_STATE_SIZE 200
-struct shash_desc;
-
-int crypto_sha3_init(struct shash_desc *desc);
-
/*
* State for the Keccak-f[1600] permutation: 25 64-bit words.
*
@@ -52,8 +48,6 @@ int crypto_sha3_init(struct shash_desc *desc);
*/
struct sha3_state {
union {
- u64 st[SHA3_STATE_SIZE / 8]; /* temporarily retained for compatibility purposes */
-
__le64 words[SHA3_STATE_SIZE / 8];
u8 bytes[SHA3_STATE_SIZE];