Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0
2
3menu "Accelerated Cryptographic Algorithms for CPU (arm64)"
4
5config CRYPTO_GHASH_ARM64_CE
6 tristate "Hash functions: GHASH (ARMv8 Crypto Extensions)"
7 depends on KERNEL_MODE_NEON
8 select CRYPTO_HASH
9 select CRYPTO_LIB_AES
10 select CRYPTO_LIB_GF128MUL
11 select CRYPTO_AEAD
12 help
13 GCM GHASH function (NIST SP800-38D)
14
15 Architecture: arm64 using:
16 - ARMv8 Crypto Extensions
17
18config CRYPTO_NHPOLY1305_NEON
19 tristate "Hash functions: NHPoly1305 (NEON)"
20 depends on KERNEL_MODE_NEON
21 select CRYPTO_NHPOLY1305
22 help
23 NHPoly1305 hash function (Adiantum)
24
25 Architecture: arm64 using:
26 - NEON (Advanced SIMD) extensions
27
28config CRYPTO_SM3_NEON
29 tristate "Hash functions: SM3 (NEON)"
30 depends on KERNEL_MODE_NEON
31 select CRYPTO_HASH
32 select CRYPTO_LIB_SM3
33 help
34 SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012)
35
36 Architecture: arm64 using:
37 - NEON (Advanced SIMD) extensions
38
39config CRYPTO_SM3_ARM64_CE
40 tristate "Hash functions: SM3 (ARMv8.2 Crypto Extensions)"
41 depends on KERNEL_MODE_NEON
42 select CRYPTO_HASH
43 select CRYPTO_LIB_SM3
44 help
45 SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012)
46
47 Architecture: arm64 using:
48 - ARMv8.2 Crypto Extensions
49
50config CRYPTO_AES_ARM64
51 tristate "Ciphers: AES, modes: ECB, CBC, CTR, CTS, XCTR, XTS"
52 select CRYPTO_AES
53 select CRYPTO_LIB_SHA256
54 help
55 Block ciphers: AES cipher algorithms (FIPS-197)
56 Length-preserving ciphers: AES with ECB, CBC, CTR, CTS,
57 XCTR, and XTS modes
58 AEAD cipher: AES with CBC, ESSIV, and SHA-256
59 for fscrypt and dm-crypt
60
61 Architecture: arm64
62
63config CRYPTO_AES_ARM64_CE
64 tristate "Ciphers: AES (ARMv8 Crypto Extensions)"
65 depends on KERNEL_MODE_NEON
66 select CRYPTO_ALGAPI
67 select CRYPTO_LIB_AES
68 help
69 Block ciphers: AES cipher algorithms (FIPS-197)
70
71 Architecture: arm64 using:
72 - ARMv8 Crypto Extensions
73
74config CRYPTO_AES_ARM64_CE_BLK
75 tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)"
76 depends on KERNEL_MODE_NEON
77 select CRYPTO_SKCIPHER
78 select CRYPTO_AES_ARM64_CE
79 help
80 Length-preserving ciphers: AES cipher algorithms (FIPS-197)
81 with block cipher modes:
82 - ECB (Electronic Codebook) mode (NIST SP800-38A)
83 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
84 - CTR (Counter) mode (NIST SP800-38A)
85 - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
86 and IEEE 1619)
87
88 Architecture: arm64 using:
89 - ARMv8 Crypto Extensions
90
91config CRYPTO_AES_ARM64_NEON_BLK
92 tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (NEON)"
93 depends on KERNEL_MODE_NEON
94 select CRYPTO_SKCIPHER
95 select CRYPTO_LIB_AES
96 help
97 Length-preserving ciphers: AES cipher algorithms (FIPS-197)
98 with block cipher modes:
99 - ECB (Electronic Codebook) mode (NIST SP800-38A)
100 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
101 - CTR (Counter) mode (NIST SP800-38A)
102 - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
103 and IEEE 1619)
104
105 Architecture: arm64 using:
106 - NEON (Advanced SIMD) extensions
107
108config CRYPTO_AES_ARM64_BS
109 tristate "Ciphers: AES, modes: ECB/CBC/CTR/XCTR/XTS modes (bit-sliced NEON)"
110 depends on KERNEL_MODE_NEON
111 select CRYPTO_SKCIPHER
112 select CRYPTO_AES_ARM64_NEON_BLK
113 select CRYPTO_LIB_AES
114 help
115 Length-preserving ciphers: AES cipher algorithms (FIPS-197)
116 with block cipher modes:
117 - ECB (Electronic Codebook) mode (NIST SP800-38A)
118 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
119 - CTR (Counter) mode (NIST SP800-38A)
120 - XCTR mode for HCTR2
121 - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
122 and IEEE 1619)
123
124 Architecture: arm64 using:
125 - bit-sliced algorithm
126 - NEON (Advanced SIMD) extensions
127
128config CRYPTO_SM4_ARM64_CE
129 tristate "Ciphers: SM4 (ARMv8.2 Crypto Extensions)"
130 depends on KERNEL_MODE_NEON
131 select CRYPTO_ALGAPI
132 select CRYPTO_SM4
133 help
134 Block ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
135
136 Architecture: arm64 using:
137 - ARMv8.2 Crypto Extensions
138 - NEON (Advanced SIMD) extensions
139
140config CRYPTO_SM4_ARM64_CE_BLK
141 tristate "Ciphers: SM4, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)"
142 depends on KERNEL_MODE_NEON
143 select CRYPTO_SKCIPHER
144 select CRYPTO_SM4
145 help
146 Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
147 with block cipher modes:
148 - ECB (Electronic Codebook) mode (NIST SP800-38A)
149 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
150 - CTR (Counter) mode (NIST SP800-38A)
151 - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
152 and IEEE 1619)
153
154 Architecture: arm64 using:
155 - ARMv8 Crypto Extensions
156 - NEON (Advanced SIMD) extensions
157
158config CRYPTO_SM4_ARM64_NEON_BLK
159 tristate "Ciphers: SM4, modes: ECB/CBC/CTR (NEON)"
160 depends on KERNEL_MODE_NEON
161 select CRYPTO_SKCIPHER
162 select CRYPTO_SM4
163 help
164 Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
165 with block cipher modes:
166 - ECB (Electronic Codebook) mode (NIST SP800-38A)
167 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
168 - CTR (Counter) mode (NIST SP800-38A)
169
170 Architecture: arm64 using:
171 - NEON (Advanced SIMD) extensions
172
173config CRYPTO_AES_ARM64_CE_CCM
174 tristate "AEAD cipher: AES in CCM mode (ARMv8 Crypto Extensions)"
175 depends on KERNEL_MODE_NEON
176 select CRYPTO_ALGAPI
177 select CRYPTO_AES_ARM64_CE
178 select CRYPTO_AES_ARM64_CE_BLK
179 select CRYPTO_AEAD
180 select CRYPTO_LIB_AES
181 help
182 AEAD cipher: AES cipher algorithms (FIPS-197) with
183 CCM (Counter with Cipher Block Chaining-Message Authentication Code)
184 authenticated encryption mode (NIST SP800-38C)
185
186 Architecture: arm64 using:
187 - ARMv8 Crypto Extensions
188 - NEON (Advanced SIMD) extensions
189
190config CRYPTO_SM4_ARM64_CE_CCM
191 tristate "AEAD cipher: SM4 in CCM mode (ARMv8 Crypto Extensions)"
192 depends on KERNEL_MODE_NEON
193 select CRYPTO_ALGAPI
194 select CRYPTO_AEAD
195 select CRYPTO_SM4
196 select CRYPTO_SM4_ARM64_CE_BLK
197 help
198 AEAD cipher: SM4 cipher algorithms (OSCCA GB/T 32907-2016) with
199 CCM (Counter with Cipher Block Chaining-Message Authentication Code)
200 authenticated encryption mode (NIST SP800-38C)
201
202 Architecture: arm64 using:
203 - ARMv8 Crypto Extensions
204 - NEON (Advanced SIMD) extensions
205
206config CRYPTO_SM4_ARM64_CE_GCM
207 tristate "AEAD cipher: SM4 in GCM mode (ARMv8 Crypto Extensions)"
208 depends on KERNEL_MODE_NEON
209 select CRYPTO_ALGAPI
210 select CRYPTO_AEAD
211 select CRYPTO_SM4
212 select CRYPTO_SM4_ARM64_CE_BLK
213 help
214 AEAD cipher: SM4 cipher algorithms (OSCCA GB/T 32907-2016) with
215 GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D)
216
217 Architecture: arm64 using:
218 - ARMv8 Crypto Extensions
219 - PMULL (Polynomial Multiply Long) instructions
220 - NEON (Advanced SIMD) extensions
221
222endmenu
223