mirror-linux/lib/crypto/arm64
Eric Biggers 00d549bb89 lib/crypto: arm64/sha1: Migrate optimized code into library
Instead of exposing the arm64-optimized SHA-1 code via arm64-specific
crypto_shash algorithms, instead just implement the sha1_blocks()
library function.  This is much simpler, it makes the SHA-1 library
functions be arm64-optimized, and it fixes the longstanding issue where
the arm64-optimized SHA-1 code was disabled by default.  SHA-1 still
remains available through crypto_shash, but individual architectures no
longer need to handle it.

Remove support for SHA-1 finalization from assembly code, since the
library does not yet support architecture-specific overrides of the
finalization.  (Support for that has been omitted for now, for
simplicity and because usually it isn't performance-critical.)

To match sha1_blocks(), change the type of the nblocks parameter and the
return value of __sha1_ce_transform() from int to size_t.  Update the
assembly code accordingly.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250712232329.818226-9-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
2025-07-14 11:11:48 -07:00
..
.gitignore
Kconfig lib/crypto: sha256: Consolidate into single module 2025-07-04 10:23:11 -07:00
Makefile lib/crypto: sha256: Consolidate into single module 2025-07-04 10:23:11 -07:00
chacha-neon-core.S
chacha-neon-glue.c
poly1305-armv8.pl
poly1305-glue.c lib/crypto: arm64/poly1305: Fix register corruption in no-SIMD contexts 2025-07-11 14:29:42 -07:00
sha1-ce-core.S lib/crypto: arm64/sha1: Migrate optimized code into library 2025-07-14 11:11:48 -07:00
sha1.h lib/crypto: arm64/sha1: Migrate optimized code into library 2025-07-14 11:11:48 -07:00
sha2-armv8.pl lib/crypto: sha256: Remove sha256_blocks_simd() 2025-07-04 10:18:53 -07:00
sha256-ce.S lib/crypto: sha256: Propagate sha256_block_state type to implementations 2025-07-04 10:22:57 -07:00
sha256.h lib/crypto: sha256: Consolidate into single module 2025-07-04 10:23:11 -07:00
sha512-ce-core.S
sha512.h lib/crypto: sha256: Remove sha256_blocks_simd() 2025-07-04 10:18:53 -07:00