xref: /linux/arch/riscv/crypto/Kconfig (revision 187d0801404f415f22c0b31531982c7ea97fa341)
1# SPDX-License-Identifier: GPL-2.0
2
3menu "Accelerated Cryptographic Algorithms for CPU (riscv)"
4
5config CRYPTO_AES_RISCV64
6	tristate "Ciphers: AES, modes: ECB, CBC, CTS, CTR, XTS"
7	depends on 64BIT && TOOLCHAIN_HAS_VECTOR_CRYPTO && \
8		   RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS
9	select CRYPTO_ALGAPI
10	select CRYPTO_LIB_AES
11	select CRYPTO_SKCIPHER
12	help
13	  Block cipher: AES cipher algorithms
14	  Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XTS
15
16	  Architecture: riscv64 using:
17	  - Zvkned vector crypto extension
18	  - Zvbb vector extension (XTS)
19	  - Zvkb vector crypto extension (CTR)
20	  - Zvkg vector crypto extension (XTS)
21
22config CRYPTO_GHASH_RISCV64
23	tristate "Hash functions: GHASH"
24	depends on 64BIT && TOOLCHAIN_HAS_VECTOR_CRYPTO && \
25		   RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS
26	select CRYPTO_GCM
27	help
28	  GCM GHASH function (NIST SP 800-38D)
29
30	  Architecture: riscv64 using:
31	  - Zvkg vector crypto extension
32
33config CRYPTO_SM3_RISCV64
34	tristate "Hash functions: SM3 (ShangMi 3)"
35	depends on 64BIT && TOOLCHAIN_HAS_VECTOR_CRYPTO && \
36		   RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS
37	select CRYPTO_HASH
38	select CRYPTO_LIB_SM3
39	help
40	  SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012)
41
42	  Architecture: riscv64 using:
43	  - Zvksh vector crypto extension
44	  - Zvkb vector crypto extension
45
46config CRYPTO_SM4_RISCV64
47	tristate "Ciphers: SM4 (ShangMi 4)"
48	depends on 64BIT && TOOLCHAIN_HAS_VECTOR_CRYPTO && \
49		   RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS
50	select CRYPTO_ALGAPI
51	select CRYPTO_SM4
52	help
53	  SM4 block cipher algorithm (OSCCA GB/T 32907-2016,
54	  ISO/IEC 18033-3:2010/Amd 1:2021)
55
56	  SM4 (GBT.32907-2016) is a cryptographic standard issued by the
57	  Organization of State Commercial Administration of China (OSCCA)
58	  as an authorized cryptographic algorithm for use within China.
59
60	  Architecture: riscv64 using:
61	  - Zvksed vector crypto extension
62	  - Zvkb vector crypto extension
63
64endmenu
65