mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
Instead of exposing the riscv-optimized SM3 code via a riscv-specific crypto_shash algorithm, instead just implement the sm3_blocks() library function. This is much simpler, it makes the SM3 library functions be riscv-optimized, and it fixes the longstanding issue where the riscv-optimized SM3 code was disabled by default. SM3 still remains available through crypto_shash, but individual architectures no longer need to handle it. Tweak the prototype of sm3_transform_zvksh_zvkb() to match what the library expects, including changing the block count to size_t. Note that the assembly code already treated it as size_t. Note: to see the diff from arch/riscv/crypto/sm3-riscv64-glue.c to lib/crypto/riscv/sm3.h, view this commit with 'git show -M10'. Acked-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20260321040935.410034-9-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@kernel.org>
39 lines
1.2 KiB
Plaintext
39 lines
1.2 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
menu "Accelerated Cryptographic Algorithms for CPU (riscv)"
|
|
|
|
config CRYPTO_AES_RISCV64
|
|
tristate "Ciphers: AES, modes: ECB, CBC, CTS, CTR, XTS"
|
|
depends on 64BIT && TOOLCHAIN_HAS_VECTOR_CRYPTO && \
|
|
RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS
|
|
select CRYPTO_LIB_AES
|
|
select CRYPTO_SKCIPHER
|
|
help
|
|
Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XTS
|
|
|
|
Architecture: riscv64 using:
|
|
- Zvkned vector crypto extension
|
|
- Zvbb vector extension (XTS)
|
|
- Zvkb vector crypto extension (CTR)
|
|
- Zvkg vector crypto extension (XTS)
|
|
|
|
config CRYPTO_SM4_RISCV64
|
|
tristate "Ciphers: SM4 (ShangMi 4)"
|
|
depends on 64BIT && TOOLCHAIN_HAS_VECTOR_CRYPTO && \
|
|
RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS
|
|
select CRYPTO_ALGAPI
|
|
select CRYPTO_SM4
|
|
help
|
|
SM4 block cipher algorithm (OSCCA GB/T 32907-2016,
|
|
ISO/IEC 18033-3:2010/Amd 1:2021)
|
|
|
|
SM4 (GBT.32907-2016) is a cryptographic standard issued by the
|
|
Organization of State Commercial Administration of China (OSCCA)
|
|
as an authorized cryptographic algorithm for use within China.
|
|
|
|
Architecture: riscv64 using:
|
|
- Zvksed vector crypto extension
|
|
- Zvkb vector crypto extension
|
|
|
|
endmenu
|