Kconfig (3f342a23257df99b792c1edb1236e85badc157de) Kconfig (cf514b2a5902ee4f93e9636ace5228fed27f23bb)
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

--- 104 unchanged lines hidden (view full) ---

113 select CRYPTO_POLYVAL
114 help
115 POLYVAL hash function for HCTR2
116
117 Architecture: arm64 using:
118 - ARMv8 Crypto Extensions
119
120config CRYPTO_AES_ARM64
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

--- 104 unchanged lines hidden (view full) ---

113 select CRYPTO_POLYVAL
114 help
115 POLYVAL hash function for HCTR2
116
117 Architecture: arm64 using:
118 - ARMv8 Crypto Extensions
119
120config CRYPTO_AES_ARM64
121 tristate "AES core cipher using scalar instructions"
121 tristate "Ciphers: AES, modes: ECB, CBC, CTR, CTS, XCTR, XTS"
122 select CRYPTO_AES
122 select CRYPTO_AES
123 help
124 Block ciphers: AES cipher algorithms (FIPS-197)
125 Length-preserving ciphers: AES with ECB, CBC, CTR, CTS,
126 XCTR, and XTS modes
127 AEAD cipher: AES with CBC, ESSIV, and SHA-256
128 for fscrypt and dm-crypt
123
129
130 Architecture: arm64
131
124config CRYPTO_AES_ARM64_CE
132config CRYPTO_AES_ARM64_CE
125 tristate "AES core cipher using ARMv8 Crypto Extensions"
133 tristate "Ciphers: AES (ARMv8 Crypto Extensions)"
126 depends on ARM64 && KERNEL_MODE_NEON
127 select CRYPTO_ALGAPI
128 select CRYPTO_LIB_AES
134 depends on ARM64 && KERNEL_MODE_NEON
135 select CRYPTO_ALGAPI
136 select CRYPTO_LIB_AES
137 help
138 Block ciphers: AES cipher algorithms (FIPS-197)
129
139
140 Architecture: arm64 using:
141 - ARMv8 Crypto Extensions
142
130config CRYPTO_AES_ARM64_CE_BLK
143config CRYPTO_AES_ARM64_CE_BLK
131 tristate "AES in ECB/CBC/CTR/XTS/XCTR modes using ARMv8 Crypto Extensions"
144 tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)"
132 depends on KERNEL_MODE_NEON
133 select CRYPTO_SKCIPHER
134 select CRYPTO_AES_ARM64_CE
145 depends on KERNEL_MODE_NEON
146 select CRYPTO_SKCIPHER
147 select CRYPTO_AES_ARM64_CE
148 help
149 Length-preserving ciphers: AES cipher algorithms (FIPS-197)
150 with block cipher modes:
151 - ECB (Electronic Codebook) mode (NIST SP800-38A)
152 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
153 - CTR (Counter) mode (NIST SP800-38A)
154 - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
155 and IEEE 1619)
135
156
157 Architecture: arm64 using:
158 - ARMv8 Crypto Extensions
159
136config CRYPTO_AES_ARM64_NEON_BLK
160config CRYPTO_AES_ARM64_NEON_BLK
137 tristate "AES in ECB/CBC/CTR/XTS/XCTR modes using NEON instructions"
161 tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (NEON)"
138 depends on KERNEL_MODE_NEON
139 select CRYPTO_SKCIPHER
140 select CRYPTO_LIB_AES
162 depends on KERNEL_MODE_NEON
163 select CRYPTO_SKCIPHER
164 select CRYPTO_LIB_AES
165 help
166 Length-preserving ciphers: AES cipher algorithms (FIPS-197)
167 with block cipher modes:
168 - ECB (Electronic Codebook) mode (NIST SP800-38A)
169 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
170 - CTR (Counter) mode (NIST SP800-38A)
171 - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
172 and IEEE 1619)
141
173
174 Architecture: arm64 using:
175 - NEON (Advanced SIMD) extensions
176
142config CRYPTO_CHACHA20_NEON
177config CRYPTO_CHACHA20_NEON
143 tristate "ChaCha20, XChaCha20, and XChaCha12 stream ciphers using NEON instructions"
178 tristate "Ciphers: ChaCha (NEON)"
144 depends on KERNEL_MODE_NEON
145 select CRYPTO_SKCIPHER
146 select CRYPTO_LIB_CHACHA_GENERIC
147 select CRYPTO_ARCH_HAVE_LIB_CHACHA
179 depends on KERNEL_MODE_NEON
180 select CRYPTO_SKCIPHER
181 select CRYPTO_LIB_CHACHA_GENERIC
182 select CRYPTO_ARCH_HAVE_LIB_CHACHA
183 help
184 Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12
185 stream cipher algorithms
148
186
187 Architecture: arm64 using:
188 - NEON (Advanced SIMD) extensions
189
149config CRYPTO_AES_ARM64_BS
190config CRYPTO_AES_ARM64_BS
150 tristate "AES in ECB/CBC/CTR/XTS modes using bit-sliced NEON algorithm"
191 tristate "Ciphers: AES, modes: ECB/CBC/CTR/XCTR/XTS modes (bit-sliced NEON)"
151 depends on KERNEL_MODE_NEON
152 select CRYPTO_SKCIPHER
153 select CRYPTO_AES_ARM64_NEON_BLK
154 select CRYPTO_LIB_AES
192 depends on KERNEL_MODE_NEON
193 select CRYPTO_SKCIPHER
194 select CRYPTO_AES_ARM64_NEON_BLK
195 select CRYPTO_LIB_AES
196 help
197 Length-preserving ciphers: AES cipher algorithms (FIPS-197)
198 with block cipher modes:
199 - ECB (Electronic Codebook) mode (NIST SP800-38A)
200 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
201 - CTR (Counter) mode (NIST SP800-38A)
202 - XCTR mode for HCTR2
203 - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
204 and IEEE 1619)
155
205
206 Architecture: arm64 using:
207 - bit-sliced algorithm
208 - NEON (Advanced SIMD) extensions
209
156config CRYPTO_SM4_ARM64_CE
210config CRYPTO_SM4_ARM64_CE
157 tristate "SM4 symmetric cipher (ARMv8.2 Crypto Extensions)"
211 tristate "Ciphers: SM4 (ARMv8.2 Crypto Extensions)"
158 depends on KERNEL_MODE_NEON
159 select CRYPTO_ALGAPI
160 select CRYPTO_SM4
212 depends on KERNEL_MODE_NEON
213 select CRYPTO_ALGAPI
214 select CRYPTO_SM4
215 help
216 Block ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
161
217
218 Architecture: arm64 using:
219 - ARMv8.2 Crypto Extensions
220 - NEON (Advanced SIMD) extensions
221
162config CRYPTO_SM4_ARM64_CE_BLK
222config CRYPTO_SM4_ARM64_CE_BLK
163 tristate "SM4 in ECB/CBC/CFB/CTR modes using ARMv8 Crypto Extensions"
223 tristate "Ciphers: SM4, modes: ECB/CBC/CFB/CTR (ARMv8 Crypto Extensions)"
164 depends on KERNEL_MODE_NEON
165 select CRYPTO_SKCIPHER
166 select CRYPTO_SM4
224 depends on KERNEL_MODE_NEON
225 select CRYPTO_SKCIPHER
226 select CRYPTO_SM4
227 help
228 Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
229 with block cipher modes:
230 - ECB (Electronic Codebook) mode (NIST SP800-38A)
231 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
232 - CFB (Cipher Feedback) mode (NIST SP800-38A)
233 - CTR (Counter) mode (NIST SP800-38A)
167
234
235 Architecture: arm64 using:
236 - ARMv8 Crypto Extensions
237 - NEON (Advanced SIMD) extensions
238
168config CRYPTO_SM4_ARM64_NEON_BLK
239config CRYPTO_SM4_ARM64_NEON_BLK
169 tristate "SM4 in ECB/CBC/CFB/CTR modes using NEON instructions"
240 tristate "Ciphers: SM4, modes: ECB/CBC/CFB/CTR (NEON)"
170 depends on KERNEL_MODE_NEON
171 select CRYPTO_SKCIPHER
172 select CRYPTO_SM4
241 depends on KERNEL_MODE_NEON
242 select CRYPTO_SKCIPHER
243 select CRYPTO_SM4
244 help
245 Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
246 with block cipher modes:
247 - ECB (Electronic Codebook) mode (NIST SP800-38A)
248 - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
249 - CFB (Cipher Feedback) mode (NIST SP800-38A)
250 - CTR (Counter) mode (NIST SP800-38A)
173
251
252 Architecture: arm64 using:
253 - NEON (Advanced SIMD) extensions
254
174config CRYPTO_AES_ARM64_CE_CCM
255config CRYPTO_AES_ARM64_CE_CCM
175 tristate "AES in CCM mode using ARMv8 Crypto Extensions"
256 tristate "AEAD cipher: AES in CCM mode (ARMv8 Crypto Extensions)"
176 depends on ARM64 && KERNEL_MODE_NEON
177 select CRYPTO_ALGAPI
178 select CRYPTO_AES_ARM64_CE
179 select CRYPTO_AEAD
180 select CRYPTO_LIB_AES
257 depends on ARM64 && KERNEL_MODE_NEON
258 select CRYPTO_ALGAPI
259 select CRYPTO_AES_ARM64_CE
260 select CRYPTO_AEAD
261 select CRYPTO_LIB_AES
262 help
263 AEAD cipher: AES cipher algorithms (FIPS-197) with
264 CCM (Counter with Cipher Block Chaining-Message Authentication Code)
265 authenticated encryption mode (NIST SP800-38C)
181
266
267 Architecture: arm64 using:
268 - ARMv8 Crypto Extensions
269 - NEON (Advanced SIMD) extensions
270
182config CRYPTO_CRCT10DIF_ARM64_CE
183 tristate "CRCT10DIF (PMULL)"
184 depends on KERNEL_MODE_NEON && CRC_T10DIF
185 select CRYPTO_HASH
186 help
187 CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF)
188
189 Architecture: arm64 using
190 - PMULL (Polynomial Multiply Long) instructions
191
192endmenu
193
271config CRYPTO_CRCT10DIF_ARM64_CE
272 tristate "CRCT10DIF (PMULL)"
273 depends on KERNEL_MODE_NEON && CRC_T10DIF
274 select CRYPTO_HASH
275 help
276 CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF)
277
278 Architecture: arm64 using
279 - PMULL (Polynomial Multiply Long) instructions
280
281endmenu
282