Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

crypto: jitterentropy - Use default sha3 implementation

Make jitterentropy use "sha3-256" instead of "sha3-256-generic", as the
ability to explicitly request the generic code is going away. It's not
worth providing a special generic API just for jitterentropy. There are
many other solutions available to it, such as doing more iterations or
using a more effective jitter collection method.

Moreover, the status quo is that SHA-3 is quite slow anyway. Currently
only arm64 and s390 have architecture-optimized SHA-3 code. I'm not
familiar with the performance of the s390 one, but the arm64 one isn't
actually that much faster than the generic code anyway.

Note that jitterentropy should just use the library API instead of
crypto_shash. But that belongs in a separate change later.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Tested-by: Harald Freudenberger <freude@linux.ibm.com>
Link: https://lore.kernel.org/r/20251026055032.1413733-14-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>

+2 -10
+2 -10
crypto/jitterentropy-kcapi.c
··· 48 48 49 49 #include "jitterentropy.h" 50 50 51 - #define JENT_CONDITIONING_HASH "sha3-256-generic" 51 + #define JENT_CONDITIONING_HASH "sha3-256" 52 52 53 53 /*************************************************************************** 54 54 * Helper function ··· 230 230 231 231 spin_lock_init(&rng->jent_lock); 232 232 233 - /* 234 - * Use SHA3-256 as conditioner. We allocate only the generic 235 - * implementation as we are not interested in high-performance. The 236 - * execution time of the SHA3 operation is measured and adds to the 237 - * Jitter RNG's unpredictable behavior. If we have a slower hash 238 - * implementation, the execution timing variations are larger. When 239 - * using a fast implementation, we would need to call it more often 240 - * as its variations are lower. 241 - */ 233 + /* Use SHA3-256 as conditioner */ 242 234 hash = crypto_alloc_shash(JENT_CONDITIONING_HASH, 0, 0); 243 235 if (IS_ERR(hash)) { 244 236 pr_err("Cannot allocate conditioning digest\n");