Merge tag 'sched-urgent-2024-03-24' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / arch / riscv / crypto / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2
3 menu "Accelerated Cryptographic Algorithms for CPU (riscv)"
4
5 config 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
21 config 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
32 config 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
42 config 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
53 config 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
64 config 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
76 config 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
93 endmenu