Eric Biggers
f1799d1728
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 >
2025-11-05 20:30:51 -08:00
..
2025-10-04 14:59:29 -07:00
2025-07-09 22:57:54 -07:00
2025-07-18 20:52:00 +10:00
2025-09-20 20:21:03 +08:00
2025-05-05 18:20:45 +08:00
2025-05-05 18:20:44 +08:00
2025-04-16 15:36:24 +08:00
2025-05-05 18:20:44 +08:00
2023-05-24 18:12:33 +08:00
2023-05-24 18:12:33 +08:00
2023-05-24 18:12:33 +08:00
2021-03-19 21:59:45 +11:00
2025-05-05 18:20:44 +08:00
2022-12-02 18:12:40 +08:00
2025-09-18 17:24:59 +08:00
2025-09-21 14:22:09 -07:00
2025-04-16 15:36:24 +08:00
2025-05-19 13:48:20 +08:00
2025-05-12 13:33:14 +08:00
2025-05-12 13:32:53 +08:00
2025-05-19 13:44:16 +08:00
2023-06-24 15:50:13 -07:00
2024-05-31 17:34:56 +08:00
2025-05-05 18:20:44 +08:00
2025-09-20 20:21:04 +08:00
2025-05-23 19:25:47 +08:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2025-05-12 13:32:53 +08:00
2025-05-12 13:32:53 +08:00
2025-10-29 22:04:24 -07:00
2022-12-02 18:12:40 +08:00
2025-05-05 18:20:44 +08:00
2025-03-02 15:19:43 +08:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2024-05-31 17:34:56 +08:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2025-08-29 09:50:19 -07:00
2024-12-02 11:34:44 -08:00
2025-05-05 18:20:44 +08:00
2025-03-15 16:21:22 +08:00
2025-06-30 09:31:56 -07:00
2025-06-30 09:31:56 -07:00
2025-09-13 12:11:06 +08:00
2025-07-18 20:52:00 +10:00
2025-05-12 13:32:53 +08:00
2025-03-21 17:39:06 +08:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2025-07-18 20:52:00 +10:00
2025-05-05 18:20:44 +08:00
2022-03-03 10:47:50 +12:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2024-04-12 15:07:52 +08:00
2025-02-09 18:08:12 +08:00
2021-03-13 00:04:03 +11:00
2025-05-05 18:20:44 +08:00
2025-04-16 15:16:21 +08:00
2025-04-16 15:16:21 +08:00
2025-05-05 18:20:44 +08:00
2021-03-26 19:41:58 +11:00
2025-05-12 13:32:53 +08:00
2024-04-12 15:07:52 +08:00
2025-04-16 15:16:21 +08:00
2025-10-09 15:02:35 +08:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2025-05-12 13:32:53 +08:00
2025-05-12 13:32:53 +08:00
2025-05-05 18:20:44 +08:00
2024-04-02 10:49:38 +08:00
2025-05-05 18:20:44 +08:00
2025-06-11 10:59:45 +08:00
2025-05-19 13:48:20 +08:00
2025-05-12 13:33:14 +08:00
2025-11-05 20:30:51 -08:00
2024-10-19 08:44:30 +08:00
2025-07-18 20:52:01 +10:00
2024-10-19 08:44:30 +08:00
2025-11-05 20:30:51 -08:00
2025-05-12 13:33:14 +08:00
2025-05-05 18:20:44 +08:00
2025-04-16 15:36:24 +08:00
2025-05-05 18:20:44 +08:00
2025-05-19 13:48:20 +08:00
2025-04-16 15:36:24 +08:00
2025-09-20 20:21:03 +08:00
2025-09-20 20:21:03 +08:00
2025-09-20 20:21:03 +08:00
2025-09-20 20:21:03 +08:00
2025-11-05 20:30:51 -08:00
2025-05-05 18:20:44 +08:00
2025-09-08 09:47:38 -07:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2025-06-13 17:26:17 +08:00
2025-05-05 18:20:44 +08:00
2025-03-21 17:39:06 +08:00
2025-05-05 18:20:44 +08:00
2025-10-06 10:17:07 +08:00
2024-10-05 13:22:04 +08:00
2025-05-05 18:20:44 +08:00
2023-10-27 18:04:28 +08:00
2023-10-27 18:04:28 +08:00
2025-04-16 15:16:21 +08:00
2025-04-28 19:45:26 +08:00
2025-09-21 14:22:09 -07:00
2025-05-05 18:20:44 +08:00
2025-05-12 13:32:53 +08:00
2025-05-05 18:20:44 +08:00
2025-09-02 19:02:35 -07:00
2025-11-05 20:30:51 -08:00
2025-09-02 19:02:37 -07:00
2025-09-02 19:02:39 -07:00
2025-05-27 13:43:32 +08:00
2025-04-16 15:36:24 +08:00
2024-08-24 21:39:15 +08:00
2025-10-08 16:13:07 +08:00
2024-04-02 10:49:38 +08:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2024-10-02 17:23:23 -04:00
2025-05-05 18:20:44 +08:00
2025-05-12 13:32:53 +08:00
2025-05-12 13:32:53 +08:00
2025-05-05 18:20:44 +08:00
2025-11-05 20:30:51 -08:00
2025-09-06 14:45:49 -07:00
2022-12-02 18:12:40 +08:00
2025-05-05 18:20:44 +08:00
2025-06-23 16:56:56 +08:00
2025-05-05 18:20:44 +08:00
2025-05-05 18:20:44 +08:00
2024-08-02 20:53:25 +08:00
2025-05-19 13:48:20 +08:00
2025-05-05 18:20:44 +08:00
2025-10-02 15:02:44 +08:00