~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/x86/crypto/Kconfig

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0
  2 
  3 menu "Accelerated Cryptographic Algorithms for CPU (x86)"
  4 
  5 config CRYPTO_CURVE25519_X86
  6         tristate "Public key crypto: Curve25519 (ADX)"
  7         depends on X86 && 64BIT
  8         select CRYPTO_LIB_CURVE25519_GENERIC
  9         select CRYPTO_ARCH_HAVE_LIB_CURVE25519
 10         help
 11           Curve25519 algorithm
 12 
 13           Architecture: x86_64 using:
 14           - ADX (large integer arithmetic)
 15 
 16 config CRYPTO_AES_NI_INTEL
 17         tristate "Ciphers: AES, modes: ECB, CBC, CTS, CTR, XCTR, XTS, GCM (AES-NI/VAES)"
 18         depends on X86
 19         select CRYPTO_AEAD
 20         select CRYPTO_LIB_AES
 21         select CRYPTO_LIB_GF128MUL
 22         select CRYPTO_ALGAPI
 23         select CRYPTO_SKCIPHER
 24         select CRYPTO_SIMD
 25         help
 26           Block cipher: AES cipher algorithms
 27           AEAD cipher: AES with GCM
 28           Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XCTR, XTS
 29 
 30           Architecture: x86 (32-bit and 64-bit) using:
 31           - AES-NI (AES new instructions)
 32           - VAES (Vector AES)
 33 
 34           Some algorithm implementations are supported only in 64-bit builds,
 35           and some have additional prerequisites such as AVX2 or AVX512.
 36 
 37 config CRYPTO_BLOWFISH_X86_64
 38         tristate "Ciphers: Blowfish, modes: ECB, CBC"
 39         depends on X86 && 64BIT
 40         select CRYPTO_SKCIPHER
 41         select CRYPTO_BLOWFISH_COMMON
 42         imply CRYPTO_CTR
 43         help
 44           Block cipher: Blowfish cipher algorithm
 45           Length-preserving ciphers: Blowfish with ECB and CBC modes
 46 
 47           Architecture: x86_64
 48 
 49 config CRYPTO_CAMELLIA_X86_64
 50         tristate "Ciphers: Camellia with modes: ECB, CBC"
 51         depends on X86 && 64BIT
 52         select CRYPTO_SKCIPHER
 53         imply CRYPTO_CTR
 54         help
 55           Block cipher: Camellia cipher algorithms
 56           Length-preserving ciphers: Camellia with ECB and CBC modes
 57 
 58           Architecture: x86_64
 59 
 60 config CRYPTO_CAMELLIA_AESNI_AVX_X86_64
 61         tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX)"
 62         depends on X86 && 64BIT
 63         select CRYPTO_SKCIPHER
 64         select CRYPTO_CAMELLIA_X86_64
 65         select CRYPTO_SIMD
 66         imply CRYPTO_XTS
 67         help
 68           Length-preserving ciphers: Camellia with ECB and CBC modes
 69 
 70           Architecture: x86_64 using:
 71           - AES-NI (AES New Instructions)
 72           - AVX (Advanced Vector Extensions)
 73 
 74 config CRYPTO_CAMELLIA_AESNI_AVX2_X86_64
 75         tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX2)"
 76         depends on X86 && 64BIT
 77         select CRYPTO_CAMELLIA_AESNI_AVX_X86_64
 78         help
 79           Length-preserving ciphers: Camellia with ECB and CBC modes
 80 
 81           Architecture: x86_64 using:
 82           - AES-NI (AES New Instructions)
 83           - AVX2 (Advanced Vector Extensions 2)
 84 
 85 config CRYPTO_CAST5_AVX_X86_64
 86         tristate "Ciphers: CAST5 with modes: ECB, CBC (AVX)"
 87         depends on X86 && 64BIT
 88         select CRYPTO_SKCIPHER
 89         select CRYPTO_CAST5
 90         select CRYPTO_CAST_COMMON
 91         select CRYPTO_SIMD
 92         imply CRYPTO_CTR
 93         help
 94           Length-preserving ciphers: CAST5 (CAST-128) cipher algorithm
 95           (RFC2144) with ECB and CBC modes
 96 
 97           Architecture: x86_64 using:
 98           - AVX (Advanced Vector Extensions)
 99 
100           Processes 16 blocks in parallel.
101 
102 config CRYPTO_CAST6_AVX_X86_64
103         tristate "Ciphers: CAST6 with modes: ECB, CBC (AVX)"
104         depends on X86 && 64BIT
105         select CRYPTO_SKCIPHER
106         select CRYPTO_CAST6
107         select CRYPTO_CAST_COMMON
108         select CRYPTO_SIMD
109         imply CRYPTO_XTS
110         imply CRYPTO_CTR
111         help
112           Length-preserving ciphers: CAST6 (CAST-256) cipher algorithm
113           (RFC2612) with ECB and CBC modes
114 
115           Architecture: x86_64 using:
116           - AVX (Advanced Vector Extensions)
117 
118           Processes eight blocks in parallel.
119 
120 config CRYPTO_DES3_EDE_X86_64
121         tristate "Ciphers: Triple DES EDE with modes: ECB, CBC"
122         depends on X86 && 64BIT
123         select CRYPTO_SKCIPHER
124         select CRYPTO_LIB_DES
125         imply CRYPTO_CTR
126         help
127           Block cipher: Triple DES EDE (FIPS 46-3) cipher algorithm
128           Length-preserving ciphers: Triple DES EDE with ECB and CBC modes
129 
130           Architecture: x86_64
131 
132           Processes one or three blocks in parallel.
133 
134 config CRYPTO_SERPENT_SSE2_X86_64
135         tristate "Ciphers: Serpent with modes: ECB, CBC (SSE2)"
136         depends on X86 && 64BIT
137         select CRYPTO_SKCIPHER
138         select CRYPTO_SERPENT
139         select CRYPTO_SIMD
140         imply CRYPTO_CTR
141         help
142           Length-preserving ciphers: Serpent cipher algorithm
143           with ECB and CBC modes
144 
145           Architecture: x86_64 using:
146           - SSE2 (Streaming SIMD Extensions 2)
147 
148           Processes eight blocks in parallel.
149 
150 config CRYPTO_SERPENT_SSE2_586
151         tristate "Ciphers: Serpent with modes: ECB, CBC (32-bit with SSE2)"
152         depends on X86 && !64BIT
153         select CRYPTO_SKCIPHER
154         select CRYPTO_SERPENT
155         select CRYPTO_SIMD
156         imply CRYPTO_CTR
157         help
158           Length-preserving ciphers: Serpent cipher algorithm
159           with ECB and CBC modes
160 
161           Architecture: x86 (32-bit) using:
162           - SSE2 (Streaming SIMD Extensions 2)
163 
164           Processes four blocks in parallel.
165 
166 config CRYPTO_SERPENT_AVX_X86_64
167         tristate "Ciphers: Serpent with modes: ECB, CBC (AVX)"
168         depends on X86 && 64BIT
169         select CRYPTO_SKCIPHER
170         select CRYPTO_SERPENT
171         select CRYPTO_SIMD
172         imply CRYPTO_XTS
173         imply CRYPTO_CTR
174         help
175           Length-preserving ciphers: Serpent cipher algorithm
176           with ECB and CBC modes
177 
178           Architecture: x86_64 using:
179           - AVX (Advanced Vector Extensions)
180 
181           Processes eight blocks in parallel.
182 
183 config CRYPTO_SERPENT_AVX2_X86_64
184         tristate "Ciphers: Serpent with modes: ECB, CBC (AVX2)"
185         depends on X86 && 64BIT
186         select CRYPTO_SERPENT_AVX_X86_64
187         help
188           Length-preserving ciphers: Serpent cipher algorithm
189           with ECB and CBC modes
190 
191           Architecture: x86_64 using:
192           - AVX2 (Advanced Vector Extensions 2)
193 
194           Processes 16 blocks in parallel.
195 
196 config CRYPTO_SM4_AESNI_AVX_X86_64
197         tristate "Ciphers: SM4 with modes: ECB, CBC, CTR (AES-NI/AVX)"
198         depends on X86 && 64BIT
199         select CRYPTO_SKCIPHER
200         select CRYPTO_SIMD
201         select CRYPTO_ALGAPI
202         select CRYPTO_SM4
203         help
204           Length-preserving ciphers: SM4 cipher algorithms
205           (OSCCA GB/T 32907-2016) with ECB, CBC, and CTR modes
206 
207           Architecture: x86_64 using:
208           - AES-NI (AES New Instructions)
209           - AVX (Advanced Vector Extensions)
210 
211           Through two affine transforms,
212           we can use the AES S-Box to simulate the SM4 S-Box to achieve the
213           effect of instruction acceleration.
214 
215           If unsure, say N.
216 
217 config CRYPTO_SM4_AESNI_AVX2_X86_64
218         tristate "Ciphers: SM4 with modes: ECB, CBC, CTR (AES-NI/AVX2)"
219         depends on X86 && 64BIT
220         select CRYPTO_SKCIPHER
221         select CRYPTO_SIMD
222         select CRYPTO_ALGAPI
223         select CRYPTO_SM4
224         select CRYPTO_SM4_AESNI_AVX_X86_64
225         help
226           Length-preserving ciphers: SM4 cipher algorithms
227           (OSCCA GB/T 32907-2016) with ECB, CBC, and CTR modes
228 
229           Architecture: x86_64 using:
230           - AES-NI (AES New Instructions)
231           - AVX2 (Advanced Vector Extensions 2)
232 
233           Through two affine transforms,
234           we can use the AES S-Box to simulate the SM4 S-Box to achieve the
235           effect of instruction acceleration.
236 
237           If unsure, say N.
238 
239 config CRYPTO_TWOFISH_586
240         tristate "Ciphers: Twofish (32-bit)"
241         depends on (X86 || UML_X86) && !64BIT
242         select CRYPTO_ALGAPI
243         select CRYPTO_TWOFISH_COMMON
244         imply CRYPTO_CTR
245         help
246           Block cipher: Twofish cipher algorithm
247 
248           Architecture: x86 (32-bit)
249 
250 config CRYPTO_TWOFISH_X86_64
251         tristate "Ciphers: Twofish"
252         depends on (X86 || UML_X86) && 64BIT
253         select CRYPTO_ALGAPI
254         select CRYPTO_TWOFISH_COMMON
255         imply CRYPTO_CTR
256         help
257           Block cipher: Twofish cipher algorithm
258 
259           Architecture: x86_64
260 
261 config CRYPTO_TWOFISH_X86_64_3WAY
262         tristate "Ciphers: Twofish with modes: ECB, CBC (3-way parallel)"
263         depends on X86 && 64BIT
264         select CRYPTO_SKCIPHER
265         select CRYPTO_TWOFISH_COMMON
266         select CRYPTO_TWOFISH_X86_64
267         help
268           Length-preserving cipher: Twofish cipher algorithm
269           with ECB and CBC modes
270 
271           Architecture: x86_64
272 
273           Processes three blocks in parallel, better utilizing resources of
274           out-of-order CPUs.
275 
276 config CRYPTO_TWOFISH_AVX_X86_64
277         tristate "Ciphers: Twofish with modes: ECB, CBC (AVX)"
278         depends on X86 && 64BIT
279         select CRYPTO_SKCIPHER
280         select CRYPTO_SIMD
281         select CRYPTO_TWOFISH_COMMON
282         select CRYPTO_TWOFISH_X86_64
283         select CRYPTO_TWOFISH_X86_64_3WAY
284         imply CRYPTO_XTS
285         help
286           Length-preserving cipher: Twofish cipher algorithm
287           with ECB and CBC modes
288 
289           Architecture: x86_64 using:
290           - AVX (Advanced Vector Extensions)
291 
292           Processes eight blocks in parallel.
293 
294 config CRYPTO_ARIA_AESNI_AVX_X86_64
295         tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX/GFNI)"
296         depends on X86 && 64BIT
297         select CRYPTO_SKCIPHER
298         select CRYPTO_SIMD
299         select CRYPTO_ALGAPI
300         select CRYPTO_ARIA
301         help
302           Length-preserving cipher: ARIA cipher algorithms
303           (RFC 5794) with ECB and CTR modes
304 
305           Architecture: x86_64 using:
306           - AES-NI (AES New Instructions)
307           - AVX (Advanced Vector Extensions)
308           - GFNI (Galois Field New Instructions)
309 
310           Processes 16 blocks in parallel.
311 
312 config CRYPTO_ARIA_AESNI_AVX2_X86_64
313         tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX2/GFNI)"
314         depends on X86 && 64BIT
315         select CRYPTO_SKCIPHER
316         select CRYPTO_SIMD
317         select CRYPTO_ALGAPI
318         select CRYPTO_ARIA
319         select CRYPTO_ARIA_AESNI_AVX_X86_64
320         help
321           Length-preserving cipher: ARIA cipher algorithms
322           (RFC 5794) with ECB and CTR modes
323 
324           Architecture: x86_64 using:
325           - AES-NI (AES New Instructions)
326           - AVX2 (Advanced Vector Extensions)
327           - GFNI (Galois Field New Instructions)
328 
329           Processes 32 blocks in parallel.
330 
331 config CRYPTO_ARIA_GFNI_AVX512_X86_64
332         tristate "Ciphers: ARIA with modes: ECB, CTR (AVX512/GFNI)"
333         depends on X86 && 64BIT && AS_AVX512 && AS_GFNI
334         select CRYPTO_SKCIPHER
335         select CRYPTO_SIMD
336         select CRYPTO_ALGAPI
337         select CRYPTO_ARIA
338         select CRYPTO_ARIA_AESNI_AVX_X86_64
339         select CRYPTO_ARIA_AESNI_AVX2_X86_64
340         help
341           Length-preserving cipher: ARIA cipher algorithms
342           (RFC 5794) with ECB and CTR modes
343 
344           Architecture: x86_64 using:
345           - AVX512 (Advanced Vector Extensions)
346           - GFNI (Galois Field New Instructions)
347 
348           Processes 64 blocks in parallel.
349 
350 config CRYPTO_CHACHA20_X86_64
351         tristate "Ciphers: ChaCha20, XChaCha20, XChaCha12 (SSSE3/AVX2/AVX-512VL)"
352         depends on X86 && 64BIT
353         select CRYPTO_SKCIPHER
354         select CRYPTO_LIB_CHACHA_GENERIC
355         select CRYPTO_ARCH_HAVE_LIB_CHACHA
356         help
357           Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12
358           stream cipher algorithms
359 
360           Architecture: x86_64 using:
361           - SSSE3 (Supplemental SSE3)
362           - AVX2 (Advanced Vector Extensions 2)
363           - AVX-512VL (Advanced Vector Extensions-512VL)
364 
365 config CRYPTO_AEGIS128_AESNI_SSE2
366         tristate "AEAD ciphers: AEGIS-128 (AES-NI/SSE2)"
367         depends on X86 && 64BIT
368         select CRYPTO_AEAD
369         select CRYPTO_SIMD
370         help
371           AEGIS-128 AEAD algorithm
372 
373           Architecture: x86_64 using:
374           - AES-NI (AES New Instructions)
375           - SSE2 (Streaming SIMD Extensions 2)
376 
377 config CRYPTO_NHPOLY1305_SSE2
378         tristate "Hash functions: NHPoly1305 (SSE2)"
379         depends on X86 && 64BIT
380         select CRYPTO_NHPOLY1305
381         help
382           NHPoly1305 hash function for Adiantum
383 
384           Architecture: x86_64 using:
385           - SSE2 (Streaming SIMD Extensions 2)
386 
387 config CRYPTO_NHPOLY1305_AVX2
388         tristate "Hash functions: NHPoly1305 (AVX2)"
389         depends on X86 && 64BIT
390         select CRYPTO_NHPOLY1305
391         help
392           NHPoly1305 hash function for Adiantum
393 
394           Architecture: x86_64 using:
395           - AVX2 (Advanced Vector Extensions 2)
396 
397 config CRYPTO_BLAKE2S_X86
398         bool "Hash functions: BLAKE2s (SSSE3/AVX-512)"
399         depends on X86 && 64BIT
400         select CRYPTO_LIB_BLAKE2S_GENERIC
401         select CRYPTO_ARCH_HAVE_LIB_BLAKE2S
402         help
403           BLAKE2s cryptographic hash function (RFC 7693)
404 
405           Architecture: x86_64 using:
406           - SSSE3 (Supplemental SSE3)
407           - AVX-512 (Advanced Vector Extensions-512)
408 
409 config CRYPTO_POLYVAL_CLMUL_NI
410         tristate "Hash functions: POLYVAL (CLMUL-NI)"
411         depends on X86 && 64BIT
412         select CRYPTO_POLYVAL
413         help
414           POLYVAL hash function for HCTR2
415 
416           Architecture: x86_64 using:
417           - CLMUL-NI (carry-less multiplication new instructions)
418 
419 config CRYPTO_POLY1305_X86_64
420         tristate "Hash functions: Poly1305 (SSE2/AVX2)"
421         depends on X86 && 64BIT
422         select CRYPTO_LIB_POLY1305_GENERIC
423         select CRYPTO_ARCH_HAVE_LIB_POLY1305
424         help
425           Poly1305 authenticator algorithm (RFC7539)
426 
427           Architecture: x86_64 using:
428           - SSE2 (Streaming SIMD Extensions 2)
429           - AVX2 (Advanced Vector Extensions 2)
430 
431 config CRYPTO_SHA1_SSSE3
432         tristate "Hash functions: SHA-1 (SSSE3/AVX/AVX2/SHA-NI)"
433         depends on X86 && 64BIT
434         select CRYPTO_SHA1
435         select CRYPTO_HASH
436         help
437           SHA-1 secure hash algorithm (FIPS 180)
438 
439           Architecture: x86_64 using:
440           - SSSE3 (Supplemental SSE3)
441           - AVX (Advanced Vector Extensions)
442           - AVX2 (Advanced Vector Extensions 2)
443           - SHA-NI (SHA Extensions New Instructions)
444 
445 config CRYPTO_SHA256_SSSE3
446         tristate "Hash functions: SHA-224 and SHA-256 (SSSE3/AVX/AVX2/SHA-NI)"
447         depends on X86 && 64BIT
448         select CRYPTO_SHA256
449         select CRYPTO_HASH
450         help
451           SHA-224 and SHA-256 secure hash algorithms (FIPS 180)
452 
453           Architecture: x86_64 using:
454           - SSSE3 (Supplemental SSE3)
455           - AVX (Advanced Vector Extensions)
456           - AVX2 (Advanced Vector Extensions 2)
457           - SHA-NI (SHA Extensions New Instructions)
458 
459 config CRYPTO_SHA512_SSSE3
460         tristate "Hash functions: SHA-384 and SHA-512 (SSSE3/AVX/AVX2)"
461         depends on X86 && 64BIT
462         select CRYPTO_SHA512
463         select CRYPTO_HASH
464         help
465           SHA-384 and SHA-512 secure hash algorithms (FIPS 180)
466 
467           Architecture: x86_64 using:
468           - SSSE3 (Supplemental SSE3)
469           - AVX (Advanced Vector Extensions)
470           - AVX2 (Advanced Vector Extensions 2)
471 
472 config CRYPTO_SM3_AVX_X86_64
473         tristate "Hash functions: SM3 (AVX)"
474         depends on X86 && 64BIT
475         select CRYPTO_HASH
476         select CRYPTO_SM3
477         help
478           SM3 secure hash function as defined by OSCCA GM/T 0004-2012 SM3
479 
480           Architecture: x86_64 using:
481           - AVX (Advanced Vector Extensions)
482 
483           If unsure, say N.
484 
485 config CRYPTO_GHASH_CLMUL_NI_INTEL
486         tristate "Hash functions: GHASH (CLMUL-NI)"
487         depends on X86 && 64BIT
488         select CRYPTO_CRYPTD
489         help
490           GCM GHASH hash function (NIST SP800-38D)
491 
492           Architecture: x86_64 using:
493           - CLMUL-NI (carry-less multiplication new instructions)
494 
495 config CRYPTO_CRC32C_INTEL
496         tristate "CRC32c (SSE4.2/PCLMULQDQ)"
497         depends on X86
498         select CRYPTO_HASH
499         help
500           CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720)
501 
502           Architecture: x86 (32-bit and 64-bit) using:
503           - SSE4.2 (Streaming SIMD Extensions 4.2) CRC32 instruction
504           - PCLMULQDQ (carry-less multiplication)
505 
506 config CRYPTO_CRC32_PCLMUL
507         tristate "CRC32 (PCLMULQDQ)"
508         depends on X86
509         select CRYPTO_HASH
510         select CRC32
511         help
512           CRC32 CRC algorithm (IEEE 802.3)
513 
514           Architecture: x86 (32-bit and 64-bit) using:
515           - PCLMULQDQ (carry-less multiplication)
516 
517 config CRYPTO_CRCT10DIF_PCLMUL
518         tristate "CRCT10DIF (PCLMULQDQ)"
519         depends on X86 && 64BIT && CRC_T10DIF
520         select CRYPTO_HASH
521         help
522           CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF)
523 
524           Architecture: x86_64 using:
525           - PCLMULQDQ (carry-less multiplication)
526 
527 endmenu

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php