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 && RISCV_ISA_V && TOOLCHAIN_HAS_VECTOR_CRYPTO
8	select CRYPTO_ALGAPI
9	select CRYPTO_LIB_AES
10	select CRYPTO_SKCIPHER
11	help
12	  Block cipher: AES cipher algorithms
13	  Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XTS
14
15	  Architecture: riscv64 using:
16	  - Zvkned vector crypto extension
17	  - Zvbb vector extension (XTS)
18	  - Zvkb vector crypto extension (CTR)
19	  - Zvkg vector crypto extension (XTS)
20
21config CRYPTO_CHACHA_RISCV64
22	tristate "Ciphers: ChaCha"
23	depends on 64BIT && RISCV_ISA_V && TOOLCHAIN_HAS_VECTOR_CRYPTO
24	select CRYPTO_SKCIPHER
25	select CRYPTO_LIB_CHACHA_GENERIC
26	help
27	  Length-preserving ciphers: ChaCha20 stream cipher algorithm
28
29	  Architecture: riscv64 using:
30	  - Zvkb vector crypto extension
31
32config CRYPTO_GHASH_RISCV64
33	tristate "Hash functions: GHASH"
34	depends on 64BIT && RISCV_ISA_V && TOOLCHAIN_HAS_VECTOR_CRYPTO
35	select CRYPTO_GCM
36	help
37	  GCM GHASH function (NIST SP 800-38D)
38
39	  Architecture: riscv64 using:
40	  - Zvkg vector crypto extension
41
42config CRYPTO_SHA256_RISCV64
43	tristate "Hash functions: SHA-224 and SHA-256"
44	depends on 64BIT && RISCV_ISA_V && TOOLCHAIN_HAS_VECTOR_CRYPTO
45	select CRYPTO_SHA256
46	help
47	  SHA-224 and SHA-256 secure hash algorithm (FIPS 180)
48
49	  Architecture: riscv64 using:
50	  - Zvknha or Zvknhb vector crypto extensions
51	  - Zvkb vector crypto extension
52
53config CRYPTO_SHA512_RISCV64
54	tristate "Hash functions: SHA-384 and SHA-512"
55	depends on 64BIT && RISCV_ISA_V && TOOLCHAIN_HAS_VECTOR_CRYPTO
56	select CRYPTO_SHA512
57	help
58	  SHA-384 and SHA-512 secure hash algorithm (FIPS 180)
59
60	  Architecture: riscv64 using:
61	  - Zvknhb vector crypto extension
62	  - Zvkb vector crypto extension
63
64config CRYPTO_SM3_RISCV64
65	tristate "Hash functions: SM3 (ShangMi 3)"
66	depends on 64BIT && RISCV_ISA_V && TOOLCHAIN_HAS_VECTOR_CRYPTO
67	select CRYPTO_HASH
68	select CRYPTO_SM3
69	help
70	  SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012)
71
72	  Architecture: riscv64 using:
73	  - Zvksh vector crypto extension
74	  - Zvkb vector crypto extension
75
76config CRYPTO_SM4_RISCV64
77	tristate "Ciphers: SM4 (ShangMi 4)"
78	depends on 64BIT && RISCV_ISA_V && TOOLCHAIN_HAS_VECTOR_CRYPTO
79	select CRYPTO_ALGAPI
80	select CRYPTO_SM4
81	help
82	  SM4 block cipher algorithm (OSCCA GB/T 32907-2016,
83	  ISO/IEC 18033-3:2010/Amd 1:2021)
84
85	  SM4 (GBT.32907-2016) is a cryptographic standard issued by the
86	  Organization of State Commercial Administration of China (OSCCA)
87	  as an authorized cryptographic algorithm for use within China.
88
89	  Architecture: riscv64 using:
90	  - Zvksed vector crypto extension
91	  - Zvkb vector crypto extension
92
93endmenu
94