mirror of
https://github.com/torvalds/linux.git
synced 2026-01-24 23:16:46 +00:00
Add an implementation of ChaCha20 using the Zvkb extension. The assembly code is derived from OpenSSL code (openssl/openssl#21923) that was dual-licensed so that it could be reused in the kernel. Nevertheless, the assembly has been significantly reworked for integration with the kernel, for example by using a regular .S file instead of the so-called perlasm, using the assembler instead of bare '.inst', and reducing code duplication. Signed-off-by: Jerry Shih <jerry.shih@sifive.com> Co-developed-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Eric Biggers <ebiggers@google.com> Link: https://lore.kernel.org/r/20240122002024.27477-6-ebiggers@kernel.org Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
33 lines
918 B
Plaintext
33 lines
918 B
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
menu "Accelerated Cryptographic Algorithms for CPU (riscv)"
|
|
|
|
config CRYPTO_AES_RISCV64
|
|
tristate "Ciphers: AES, modes: ECB, CBC, CTR, XTS"
|
|
depends on 64BIT && RISCV_ISA_V && TOOLCHAIN_HAS_VECTOR_CRYPTO
|
|
select CRYPTO_ALGAPI
|
|
select CRYPTO_LIB_AES
|
|
select CRYPTO_SKCIPHER
|
|
help
|
|
Block cipher: AES cipher algorithms
|
|
Length-preserving ciphers: AES with ECB, CBC, 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_CHACHA_RISCV64
|
|
tristate "Ciphers: ChaCha"
|
|
depends on 64BIT && RISCV_ISA_V && TOOLCHAIN_HAS_VECTOR_CRYPTO
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_LIB_CHACHA_GENERIC
|
|
help
|
|
Length-preserving ciphers: ChaCha20 stream cipher algorithm
|
|
|
|
Architecture: riscv64 using:
|
|
- Zvkb vector crypto extension
|
|
|
|
endmenu
|