blob: 9356551cb589267386b1904b4d85f886cef59fe9 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001# SPDX-License-Identifier: GPL-2.0
2#
3# Generic algorithms support
4#
5config XOR_BLOCKS
6 tristate
7
8#
9# async_tx api: hardware offloaded memory transfer/transform support
10#
11source "crypto/async_tx/Kconfig"
12
13#
14# Cryptographic API Configuration
15#
16menuconfig CRYPTO
17 tristate "Cryptographic API"
18 help
19 This option provides the core Cryptographic API.
20
21if CRYPTO
22
23comment "Crypto core or helper"
24
25config CRYPTO_FIPS
26 bool "FIPS 200 compliance"
27 depends on (CRYPTO_ANSI_CPRNG || CRYPTO_DRBG) && !CRYPTO_MANAGER_DISABLE_TESTS
28 depends on (MODULE_SIG || !MODULES)
29 help
30 This options enables the fips boot option which is
31 required if you want to system to operate in a FIPS 200
32 certification. You should say no unless you know what
33 this is.
34
35config CRYPTO_ALGAPI
36 tristate "ALGAPI"
37 select CRYPTO_ALGAPI2
38 help
39 This option provides the API for cryptographic algorithms.
40
41config CRYPTO_ALGAPI2
42 tristate
43
44config CRYPTO_AEAD
45 tristate "AEAD"
46 select CRYPTO_AEAD2
47 select CRYPTO_ALGAPI
48
49config CRYPTO_AEAD2
50 tristate
51 select CRYPTO_ALGAPI2
52 select CRYPTO_NULL2
53 select CRYPTO_RNG2
54
55config CRYPTO_BLKCIPHER
56 tristate "BLKCIPHER"
57 select CRYPTO_BLKCIPHER2
58 select CRYPTO_ALGAPI
59
60config CRYPTO_BLKCIPHER2
61 tristate
62 select CRYPTO_ALGAPI2
63 select CRYPTO_RNG2
64 select CRYPTO_WORKQUEUE
65
66config CRYPTO_HASH
67 tristate "HASH"
68 select CRYPTO_HASH2
69 select CRYPTO_ALGAPI
70
71config CRYPTO_HASH2
72 tristate
73 select CRYPTO_ALGAPI2
74
75config CRYPTO_RNG
76 tristate "RNG"
77 select CRYPTO_RNG2
78 select CRYPTO_ALGAPI
79
80config CRYPTO_RNG2
81 tristate
82 select CRYPTO_ALGAPI2
83
84config CRYPTO_RNG_DEFAULT
85 tristate
86 select CRYPTO_DRBG_MENU
87
88config CRYPTO_AKCIPHER2
89 tristate
90 select CRYPTO_ALGAPI2
91
92config CRYPTO_AKCIPHER
93 tristate
94 select CRYPTO_AKCIPHER2
95 select CRYPTO_ALGAPI
96
97config CRYPTO_KPP2
98 tristate
99 select CRYPTO_ALGAPI2
100
101config CRYPTO_KPP
102 tristate
103 select CRYPTO_ALGAPI
104 select CRYPTO_KPP2
105
106config CRYPTO_ACOMP2
107 tristate
108 select CRYPTO_ALGAPI2
109 select SGL_ALLOC
110
111config CRYPTO_ACOMP
112 tristate
113 select CRYPTO_ALGAPI
114 select CRYPTO_ACOMP2
115
116config CRYPTO_RSA
117 tristate "RSA algorithm"
118 select CRYPTO_AKCIPHER
119 select CRYPTO_MANAGER
120 select MPILIB
121 select ASN1
122 help
123 Generic implementation of the RSA public key algorithm.
124
125config CRYPTO_DH
126 tristate "Diffie-Hellman algorithm"
127 select CRYPTO_KPP
128 select MPILIB
129 help
130 Generic implementation of the Diffie-Hellman algorithm.
131
132config CRYPTO_ECDH
133 tristate "ECDH algorithm"
134 select CRYPTO_KPP
135 select CRYPTO_RNG_DEFAULT
136 help
137 Generic implementation of the ECDH algorithm
138
139config CRYPTO_MANAGER
140 tristate "Cryptographic algorithm manager"
141 select CRYPTO_MANAGER2
142 help
143 Create default cryptographic template instantiations such as
144 cbc(aes).
145
146config CRYPTO_MANAGER2
147 def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y && !CRYPTO_MANAGER_DISABLE_TESTS)
148 select CRYPTO_AEAD2 if !CRYPTO_MANAGER_DISABLE_TESTS
149 select CRYPTO_HASH2 if !CRYPTO_MANAGER_DISABLE_TESTS
150 select CRYPTO_BLKCIPHER2 if !CRYPTO_MANAGER_DISABLE_TESTS
151 select CRYPTO_AKCIPHER2 if !CRYPTO_MANAGER_DISABLE_TESTS
152 select CRYPTO_KPP2 if !CRYPTO_MANAGER_DISABLE_TESTS
153 select CRYPTO_ACOMP2 if !CRYPTO_MANAGER_DISABLE_TESTS
154
155config CRYPTO_USER
156 tristate "Userspace cryptographic algorithm configuration"
157 depends on NET
158 select CRYPTO_MANAGER
159 help
160 Userspace configuration for cryptographic instantiations such as
161 cbc(aes).
162
163config CRYPTO_MANAGER_DISABLE_TESTS
164 bool "Disable run-time self tests"
165 default y
166 help
167 Disable run-time self tests that normally take place at
168 algorithm registration.
169
170config CRYPTO_GF128MUL
171 tristate "GF(2^128) multiplication functions"
172 help
173 Efficient table driven implementation of multiplications in the
174 field GF(2^128). This is needed by some cypher modes. This
175 option will be selected automatically if you select such a
176 cipher mode. Only select this option by hand if you expect to load
177 an external module that requires these functions.
178
179config CRYPTO_NULL
180 tristate "Null algorithms"
181 select CRYPTO_NULL2
182 help
183 These are 'Null' algorithms, used by IPsec, which do nothing.
184
185config CRYPTO_NULL2
186 tristate
187 select CRYPTO_ALGAPI2
188 select CRYPTO_BLKCIPHER2
189 select CRYPTO_HASH2
190
191config CRYPTO_PCRYPT
192 tristate "Parallel crypto engine"
193 depends on SMP
194 select PADATA
195 select CRYPTO_MANAGER
196 select CRYPTO_AEAD
197 help
198 This converts an arbitrary crypto algorithm into a parallel
199 algorithm that executes in kernel threads.
200
201config CRYPTO_WORKQUEUE
202 tristate
203
204config CRYPTO_CRYPTD
205 tristate "Software async crypto daemon"
206 select CRYPTO_BLKCIPHER
207 select CRYPTO_HASH
208 select CRYPTO_MANAGER
209 select CRYPTO_WORKQUEUE
210 help
211 This is a generic software asynchronous crypto daemon that
212 converts an arbitrary synchronous software crypto algorithm
213 into an asynchronous algorithm that executes in a kernel thread.
214
215config CRYPTO_MCRYPTD
216 tristate "Software async multi-buffer crypto daemon"
217 select CRYPTO_BLKCIPHER
218 select CRYPTO_HASH
219 select CRYPTO_MANAGER
220 select CRYPTO_WORKQUEUE
221 help
222 This is a generic software asynchronous crypto daemon that
223 provides the kernel thread to assist multi-buffer crypto
224 algorithms for submitting jobs and flushing jobs in multi-buffer
225 crypto algorithms. Multi-buffer crypto algorithms are executed
226 in the context of this kernel thread and drivers can post
227 their crypto request asynchronously to be processed by this daemon.
228
229config CRYPTO_AUTHENC
230 tristate "Authenc support"
231 select CRYPTO_AEAD
232 select CRYPTO_BLKCIPHER
233 select CRYPTO_MANAGER
234 select CRYPTO_HASH
235 select CRYPTO_NULL
236 help
237 Authenc: Combined mode wrapper for IPsec.
238 This is required for IPSec.
239
240config CRYPTO_TEST
241 tristate "Testing module"
242 depends on m
243 select CRYPTO_MANAGER
244 help
245 Quick & dirty crypto test module.
246
247config CRYPTO_SIMD
248 tristate
249 select CRYPTO_CRYPTD
250
251config CRYPTO_GLUE_HELPER_X86
252 tristate
253 depends on X86
254 select CRYPTO_BLKCIPHER
255
256config CRYPTO_ENGINE
257 tristate
258
259comment "Authenticated Encryption with Associated Data"
260
261config CRYPTO_CCM
262 tristate "CCM support"
263 select CRYPTO_CTR
264 select CRYPTO_HASH
265 select CRYPTO_AEAD
266 help
267 Support for Counter with CBC MAC. Required for IPsec.
268
269config CRYPTO_GCM
270 tristate "GCM/GMAC support"
271 select CRYPTO_CTR
272 select CRYPTO_AEAD
273 select CRYPTO_GHASH
274 select CRYPTO_NULL
275 help
276 Support for Galois/Counter Mode (GCM) and Galois Message
277 Authentication Code (GMAC). Required for IPSec.
278
279config CRYPTO_CHACHA20POLY1305
280 tristate "ChaCha20-Poly1305 AEAD support"
281 select CRYPTO_CHACHA20
282 select CRYPTO_POLY1305
283 select CRYPTO_AEAD
284 help
285 ChaCha20-Poly1305 AEAD support, RFC7539.
286
287 Support for the AEAD wrapper using the ChaCha20 stream cipher combined
288 with the Poly1305 authenticator. It is defined in RFC7539 for use in
289 IETF protocols.
290
291config CRYPTO_AEGIS128
292 tristate "AEGIS-128 AEAD algorithm"
293 select CRYPTO_AEAD
294 select CRYPTO_AES # for AES S-box tables
295 help
296 Support for the AEGIS-128 dedicated AEAD algorithm.
297
298config CRYPTO_AEGIS128L
299 tristate "AEGIS-128L AEAD algorithm"
300 select CRYPTO_AEAD
301 select CRYPTO_AES # for AES S-box tables
302 help
303 Support for the AEGIS-128L dedicated AEAD algorithm.
304
305config CRYPTO_AEGIS256
306 tristate "AEGIS-256 AEAD algorithm"
307 select CRYPTO_AEAD
308 select CRYPTO_AES # for AES S-box tables
309 help
310 Support for the AEGIS-256 dedicated AEAD algorithm.
311
312config CRYPTO_AEGIS128_AESNI_SSE2
313 tristate "AEGIS-128 AEAD algorithm (x86_64 AESNI+SSE2 implementation)"
314 depends on X86 && 64BIT
315 select CRYPTO_AEAD
316 select CRYPTO_CRYPTD
317 help
318 AESNI+SSE2 implementation of the AEGSI-128 dedicated AEAD algorithm.
319
320config CRYPTO_AEGIS128L_AESNI_SSE2
321 tristate "AEGIS-128L AEAD algorithm (x86_64 AESNI+SSE2 implementation)"
322 depends on X86 && 64BIT
323 select CRYPTO_AEAD
324 select CRYPTO_CRYPTD
325 help
326 AESNI+SSE2 implementation of the AEGSI-128L dedicated AEAD algorithm.
327
328config CRYPTO_AEGIS256_AESNI_SSE2
329 tristate "AEGIS-256 AEAD algorithm (x86_64 AESNI+SSE2 implementation)"
330 depends on X86 && 64BIT
331 select CRYPTO_AEAD
332 select CRYPTO_CRYPTD
333 help
334 AESNI+SSE2 implementation of the AEGSI-256 dedicated AEAD algorithm.
335
336config CRYPTO_MORUS640
337 tristate "MORUS-640 AEAD algorithm"
338 select CRYPTO_AEAD
339 help
340 Support for the MORUS-640 dedicated AEAD algorithm.
341
342config CRYPTO_MORUS640_GLUE
343 tristate
344 depends on X86
345 select CRYPTO_AEAD
346 select CRYPTO_CRYPTD
347 help
348 Common glue for SIMD optimizations of the MORUS-640 dedicated AEAD
349 algorithm.
350
351config CRYPTO_MORUS640_SSE2
352 tristate "MORUS-640 AEAD algorithm (x86_64 SSE2 implementation)"
353 depends on X86 && 64BIT
354 select CRYPTO_AEAD
355 select CRYPTO_MORUS640_GLUE
356 help
357 SSE2 implementation of the MORUS-640 dedicated AEAD algorithm.
358
359config CRYPTO_MORUS1280
360 tristate "MORUS-1280 AEAD algorithm"
361 select CRYPTO_AEAD
362 help
363 Support for the MORUS-1280 dedicated AEAD algorithm.
364
365config CRYPTO_MORUS1280_GLUE
366 tristate
367 depends on X86
368 select CRYPTO_AEAD
369 select CRYPTO_CRYPTD
370 help
371 Common glue for SIMD optimizations of the MORUS-1280 dedicated AEAD
372 algorithm.
373
374config CRYPTO_MORUS1280_SSE2
375 tristate "MORUS-1280 AEAD algorithm (x86_64 SSE2 implementation)"
376 depends on X86 && 64BIT
377 select CRYPTO_AEAD
378 select CRYPTO_MORUS1280_GLUE
379 help
380 SSE2 optimizedimplementation of the MORUS-1280 dedicated AEAD
381 algorithm.
382
383config CRYPTO_MORUS1280_AVX2
384 tristate "MORUS-1280 AEAD algorithm (x86_64 AVX2 implementation)"
385 depends on X86 && 64BIT
386 select CRYPTO_AEAD
387 select CRYPTO_MORUS1280_GLUE
388 help
389 AVX2 optimized implementation of the MORUS-1280 dedicated AEAD
390 algorithm.
391
392config CRYPTO_SEQIV
393 tristate "Sequence Number IV Generator"
394 select CRYPTO_AEAD
395 select CRYPTO_BLKCIPHER
396 select CRYPTO_NULL
397 select CRYPTO_RNG_DEFAULT
398 help
399 This IV generator generates an IV based on a sequence number by
400 xoring it with a salt. This algorithm is mainly useful for CTR
401
402config CRYPTO_ECHAINIV
403 tristate "Encrypted Chain IV Generator"
404 select CRYPTO_AEAD
405 select CRYPTO_NULL
406 select CRYPTO_RNG_DEFAULT
407 default m
408 help
409 This IV generator generates an IV based on the encryption of
410 a sequence number xored with a salt. This is the default
411 algorithm for CBC.
412
413comment "Block modes"
414
415config CRYPTO_CBC
416 tristate "CBC support"
417 select CRYPTO_BLKCIPHER
418 select CRYPTO_MANAGER
419 help
420 CBC: Cipher Block Chaining mode
421 This block cipher algorithm is required for IPSec.
422
423config CRYPTO_CFB
424 tristate "CFB support"
425 select CRYPTO_BLKCIPHER
426 select CRYPTO_MANAGER
427 help
428 CFB: Cipher FeedBack mode
429 This block cipher algorithm is required for TPM2 Cryptography.
430
431config CRYPTO_CTR
432 tristate "CTR support"
433 select CRYPTO_BLKCIPHER
434 select CRYPTO_SEQIV
435 select CRYPTO_MANAGER
436 help
437 CTR: Counter mode
438 This block cipher algorithm is required for IPSec.
439
440config CRYPTO_CTS
441 tristate "CTS support"
442 select CRYPTO_BLKCIPHER
443 help
444 CTS: Cipher Text Stealing
445 This is the Cipher Text Stealing mode as described by
446 Section 8 of rfc2040 and referenced by rfc3962.
447 (rfc3962 includes errata information in its Appendix A)
448 This mode is required for Kerberos gss mechanism support
449 for AES encryption.
450
451config CRYPTO_ECB
452 tristate "ECB support"
453 select CRYPTO_BLKCIPHER
454 select CRYPTO_MANAGER
455 help
456 ECB: Electronic CodeBook mode
457 This is the simplest block cipher algorithm. It simply encrypts
458 the input block by block.
459
460config CRYPTO_LRW
461 tristate "LRW support"
462 select CRYPTO_BLKCIPHER
463 select CRYPTO_MANAGER
464 select CRYPTO_GF128MUL
465 help
466 LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable
467 narrow block cipher mode for dm-crypt. Use it with cipher
468 specification string aes-lrw-benbi, the key must be 256, 320 or 384.
469 The first 128, 192 or 256 bits in the key are used for AES and the
470 rest is used to tie each cipher block to its logical position.
471
472config CRYPTO_PCBC
473 tristate "PCBC support"
474 select CRYPTO_BLKCIPHER
475 select CRYPTO_MANAGER
476 help
477 PCBC: Propagating Cipher Block Chaining mode
478 This block cipher algorithm is required for RxRPC.
479
480config CRYPTO_XTS
481 tristate "XTS support"
482 select CRYPTO_BLKCIPHER
483 select CRYPTO_MANAGER
484 select CRYPTO_ECB
485 help
486 XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain,
487 key size 256, 384 or 512 bits. This implementation currently
488 can't handle a sectorsize which is not a multiple of 16 bytes.
489
490config CRYPTO_KEYWRAP
491 tristate "Key wrapping support"
492 select CRYPTO_BLKCIPHER
493 help
494 Support for key wrapping (NIST SP800-38F / RFC3394) without
495 padding.
496
497config CRYPTO_NHPOLY1305
498 tristate
499 select CRYPTO_HASH
500 select CRYPTO_POLY1305
501
502config CRYPTO_ADIANTUM
503 tristate "Adiantum support"
504 select CRYPTO_CHACHA20
505 select CRYPTO_POLY1305
506 select CRYPTO_NHPOLY1305
507 help
508 Adiantum is a tweakable, length-preserving encryption mode
509 designed for fast and secure disk encryption, especially on
510 CPUs without dedicated crypto instructions. It encrypts
511 each sector using the XChaCha12 stream cipher, two passes of
512 an ε-almost-∆-universal hash function, and an invocation of
513 the AES-256 block cipher on a single 16-byte block. On CPUs
514 without AES instructions, Adiantum is much faster than
515 AES-XTS.
516
517 Adiantum's security is provably reducible to that of its
518 underlying stream and block ciphers, subject to a security
519 bound. Unlike XTS, Adiantum is a true wide-block encryption
520 mode, so it actually provides an even stronger notion of
521 security than XTS, subject to the security bound.
522
523 If unsure, say N.
524
525comment "Hash modes"
526
527config CRYPTO_CMAC
528 tristate "CMAC support"
529 select CRYPTO_HASH
530 select CRYPTO_MANAGER
531 help
532 Cipher-based Message Authentication Code (CMAC) specified by
533 The National Institute of Standards and Technology (NIST).
534
535 https://tools.ietf.org/html/rfc4493
536 http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf
537
538config CRYPTO_HMAC
539 tristate "HMAC support"
540 select CRYPTO_HASH
541 select CRYPTO_MANAGER
542 help
543 HMAC: Keyed-Hashing for Message Authentication (RFC2104).
544 This is required for IPSec.
545
546config CRYPTO_XCBC
547 tristate "XCBC support"
548 select CRYPTO_HASH
549 select CRYPTO_MANAGER
550 help
551 XCBC: Keyed-Hashing with encryption algorithm
552 http://www.ietf.org/rfc/rfc3566.txt
553 http://csrc.nist.gov/encryption/modes/proposedmodes/
554 xcbc-mac/xcbc-mac-spec.pdf
555
556config CRYPTO_VMAC
557 tristate "VMAC support"
558 select CRYPTO_HASH
559 select CRYPTO_MANAGER
560 help
561 VMAC is a message authentication algorithm designed for
562 very high speed on 64-bit architectures.
563
564 See also:
565 <http://fastcrypto.org/vmac>
566
567comment "Digest"
568
569config CRYPTO_CRC32C
570 tristate "CRC32c CRC algorithm"
571 select CRYPTO_HASH
572 select CRC32
573 help
574 Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used
575 by iSCSI for header and data digests and by others.
576 See Castagnoli93. Module will be crc32c.
577
578config CRYPTO_CRC32C_INTEL
579 tristate "CRC32c INTEL hardware acceleration"
580 depends on X86
581 select CRYPTO_HASH
582 help
583 In Intel processor with SSE4.2 supported, the processor will
584 support CRC32C implementation using hardware accelerated CRC32
585 instruction. This option will create 'crc32c-intel' module,
586 which will enable any routine to use the CRC32 instruction to
587 gain performance compared with software implementation.
588 Module will be crc32c-intel.
589
590config CRYPTO_CRC32C_VPMSUM
591 tristate "CRC32c CRC algorithm (powerpc64)"
592 depends on PPC64 && ALTIVEC
593 select CRYPTO_HASH
594 select CRC32
595 help
596 CRC32c algorithm implemented using vector polynomial multiply-sum
597 (vpmsum) instructions, introduced in POWER8. Enable on POWER8
598 and newer processors for improved performance.
599
600
601config CRYPTO_CRC32C_SPARC64
602 tristate "CRC32c CRC algorithm (SPARC64)"
603 depends on SPARC64
604 select CRYPTO_HASH
605 select CRC32
606 help
607 CRC32c CRC algorithm implemented using sparc64 crypto instructions,
608 when available.
609
610config CRYPTO_CRC32
611 tristate "CRC32 CRC algorithm"
612 select CRYPTO_HASH
613 select CRC32
614 help
615 CRC-32-IEEE 802.3 cyclic redundancy-check algorithm.
616 Shash crypto api wrappers to crc32_le function.
617
618config CRYPTO_CRC32_PCLMUL
619 tristate "CRC32 PCLMULQDQ hardware acceleration"
620 depends on X86
621 select CRYPTO_HASH
622 select CRC32
623 help
624 From Intel Westmere and AMD Bulldozer processor with SSE4.2
625 and PCLMULQDQ supported, the processor will support
626 CRC32 PCLMULQDQ implementation using hardware accelerated PCLMULQDQ
627 instruction. This option will create 'crc32-plcmul' module,
628 which will enable any routine to use the CRC-32-IEEE 802.3 checksum
629 and gain better performance as compared with the table implementation.
630
631config CRYPTO_CRC32_MIPS
632 tristate "CRC32c and CRC32 CRC algorithm (MIPS)"
633 depends on MIPS_CRC_SUPPORT
634 select CRYPTO_HASH
635 help
636 CRC32c and CRC32 CRC algorithms implemented using mips crypto
637 instructions, when available.
638
639
640config CRYPTO_CRCT10DIF
641 tristate "CRCT10DIF algorithm"
642 select CRYPTO_HASH
643 help
644 CRC T10 Data Integrity Field computation is being cast as
645 a crypto transform. This allows for faster crc t10 diff
646 transforms to be used if they are available.
647
648config CRYPTO_CRCT10DIF_PCLMUL
649 tristate "CRCT10DIF PCLMULQDQ hardware acceleration"
650 depends on X86 && 64BIT && CRC_T10DIF
651 select CRYPTO_HASH
652 help
653 For x86_64 processors with SSE4.2 and PCLMULQDQ supported,
654 CRC T10 DIF PCLMULQDQ computation can be hardware
655 accelerated PCLMULQDQ instruction. This option will create
656 'crct10dif-plcmul' module, which is faster when computing the
657 crct10dif checksum as compared with the generic table implementation.
658
659config CRYPTO_CRCT10DIF_VPMSUM
660 tristate "CRC32T10DIF powerpc64 hardware acceleration"
661 depends on PPC64 && ALTIVEC && CRC_T10DIF
662 select CRYPTO_HASH
663 help
664 CRC10T10DIF algorithm implemented using vector polynomial
665 multiply-sum (vpmsum) instructions, introduced in POWER8. Enable on
666 POWER8 and newer processors for improved performance.
667
668config CRYPTO_VPMSUM_TESTER
669 tristate "Powerpc64 vpmsum hardware acceleration tester"
670 depends on CRYPTO_CRCT10DIF_VPMSUM && CRYPTO_CRC32C_VPMSUM
671 help
672 Stress test for CRC32c and CRC-T10DIF algorithms implemented with
673 POWER8 vpmsum instructions.
674 Unless you are testing these algorithms, you don't need this.
675
676config CRYPTO_GHASH
677 tristate "GHASH digest algorithm"
678 select CRYPTO_GF128MUL
679 select CRYPTO_HASH
680 help
681 GHASH is message digest algorithm for GCM (Galois/Counter Mode).
682
683config CRYPTO_POLY1305
684 tristate "Poly1305 authenticator algorithm"
685 select CRYPTO_HASH
686 help
687 Poly1305 authenticator algorithm, RFC7539.
688
689 Poly1305 is an authenticator algorithm designed by Daniel J. Bernstein.
690 It is used for the ChaCha20-Poly1305 AEAD, specified in RFC7539 for use
691 in IETF protocols. This is the portable C implementation of Poly1305.
692
693config CRYPTO_POLY1305_X86_64
694 tristate "Poly1305 authenticator algorithm (x86_64/SSE2/AVX2)"
695 depends on X86 && 64BIT
696 select CRYPTO_POLY1305
697 help
698 Poly1305 authenticator algorithm, RFC7539.
699
700 Poly1305 is an authenticator algorithm designed by Daniel J. Bernstein.
701 It is used for the ChaCha20-Poly1305 AEAD, specified in RFC7539 for use
702 in IETF protocols. This is the x86_64 assembler implementation using SIMD
703 instructions.
704
705config CRYPTO_MD4
706 tristate "MD4 digest algorithm"
707 select CRYPTO_HASH
708 help
709 MD4 message digest algorithm (RFC1320).
710
711config CRYPTO_MD5
712 tristate "MD5 digest algorithm"
713 select CRYPTO_HASH
714 help
715 MD5 message digest algorithm (RFC1321).
716
717config CRYPTO_MD5_OCTEON
718 tristate "MD5 digest algorithm (OCTEON)"
719 depends on CPU_CAVIUM_OCTEON
720 select CRYPTO_MD5
721 select CRYPTO_HASH
722 help
723 MD5 message digest algorithm (RFC1321) implemented
724 using OCTEON crypto instructions, when available.
725
726config CRYPTO_MD5_PPC
727 tristate "MD5 digest algorithm (PPC)"
728 depends on PPC
729 select CRYPTO_HASH
730 help
731 MD5 message digest algorithm (RFC1321) implemented
732 in PPC assembler.
733
734config CRYPTO_MD5_SPARC64
735 tristate "MD5 digest algorithm (SPARC64)"
736 depends on SPARC64
737 select CRYPTO_MD5
738 select CRYPTO_HASH
739 help
740 MD5 message digest algorithm (RFC1321) implemented
741 using sparc64 crypto instructions, when available.
742
743config CRYPTO_MICHAEL_MIC
744 tristate "Michael MIC keyed digest algorithm"
745 select CRYPTO_HASH
746 help
747 Michael MIC is used for message integrity protection in TKIP
748 (IEEE 802.11i). This algorithm is required for TKIP, but it
749 should not be used for other purposes because of the weakness
750 of the algorithm.
751
752config CRYPTO_RMD128
753 tristate "RIPEMD-128 digest algorithm"
754 select CRYPTO_HASH
755 help
756 RIPEMD-128 (ISO/IEC 10118-3:2004).
757
758 RIPEMD-128 is a 128-bit cryptographic hash function. It should only
759 be used as a secure replacement for RIPEMD. For other use cases,
760 RIPEMD-160 should be used.
761
762 Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
763 See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
764
765config CRYPTO_RMD160
766 tristate "RIPEMD-160 digest algorithm"
767 select CRYPTO_HASH
768 help
769 RIPEMD-160 (ISO/IEC 10118-3:2004).
770
771 RIPEMD-160 is a 160-bit cryptographic hash function. It is intended
772 to be used as a secure replacement for the 128-bit hash functions
773 MD4, MD5 and it's predecessor RIPEMD
774 (not to be confused with RIPEMD-128).
775
776 It's speed is comparable to SHA1 and there are no known attacks
777 against RIPEMD-160.
778
779 Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
780 See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
781
782config CRYPTO_RMD256
783 tristate "RIPEMD-256 digest algorithm"
784 select CRYPTO_HASH
785 help
786 RIPEMD-256 is an optional extension of RIPEMD-128 with a
787 256 bit hash. It is intended for applications that require
788 longer hash-results, without needing a larger security level
789 (than RIPEMD-128).
790
791 Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
792 See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
793
794config CRYPTO_RMD320
795 tristate "RIPEMD-320 digest algorithm"
796 select CRYPTO_HASH
797 help
798 RIPEMD-320 is an optional extension of RIPEMD-160 with a
799 320 bit hash. It is intended for applications that require
800 longer hash-results, without needing a larger security level
801 (than RIPEMD-160).
802
803 Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
804 See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
805
806config CRYPTO_SHA1
807 tristate "SHA1 digest algorithm"
808 select CRYPTO_HASH
809 help
810 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
811
812config CRYPTO_SHA1_SSSE3
813 tristate "SHA1 digest algorithm (SSSE3/AVX/AVX2/SHA-NI)"
814 depends on X86 && 64BIT
815 select CRYPTO_SHA1
816 select CRYPTO_HASH
817 help
818 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
819 using Supplemental SSE3 (SSSE3) instructions or Advanced Vector
820 Extensions (AVX/AVX2) or SHA-NI(SHA Extensions New Instructions),
821 when available.
822
823config CRYPTO_SHA256_SSSE3
824 tristate "SHA256 digest algorithm (SSSE3/AVX/AVX2/SHA-NI)"
825 depends on X86 && 64BIT
826 select CRYPTO_SHA256
827 select CRYPTO_HASH
828 help
829 SHA-256 secure hash standard (DFIPS 180-2) implemented
830 using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector
831 Extensions version 1 (AVX1), or Advanced Vector Extensions
832 version 2 (AVX2) instructions, or SHA-NI (SHA Extensions New
833 Instructions) when available.
834
835config CRYPTO_SHA512_SSSE3
836 tristate "SHA512 digest algorithm (SSSE3/AVX/AVX2)"
837 depends on X86 && 64BIT
838 select CRYPTO_SHA512
839 select CRYPTO_HASH
840 help
841 SHA-512 secure hash standard (DFIPS 180-2) implemented
842 using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector
843 Extensions version 1 (AVX1), or Advanced Vector Extensions
844 version 2 (AVX2) instructions, when available.
845
846config CRYPTO_SHA1_OCTEON
847 tristate "SHA1 digest algorithm (OCTEON)"
848 depends on CPU_CAVIUM_OCTEON
849 select CRYPTO_SHA1
850 select CRYPTO_HASH
851 help
852 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
853 using OCTEON crypto instructions, when available.
854
855config CRYPTO_SHA1_SPARC64
856 tristate "SHA1 digest algorithm (SPARC64)"
857 depends on SPARC64
858 select CRYPTO_SHA1
859 select CRYPTO_HASH
860 help
861 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
862 using sparc64 crypto instructions, when available.
863
864config CRYPTO_SHA1_PPC
865 tristate "SHA1 digest algorithm (powerpc)"
866 depends on PPC
867 help
868 This is the powerpc hardware accelerated implementation of the
869 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
870
871config CRYPTO_SHA1_PPC_SPE
872 tristate "SHA1 digest algorithm (PPC SPE)"
873 depends on PPC && SPE
874 help
875 SHA-1 secure hash standard (DFIPS 180-4) implemented
876 using powerpc SPE SIMD instruction set.
877
878config CRYPTO_SHA1_MB
879 tristate "SHA1 digest algorithm (x86_64 Multi-Buffer, Experimental)"
880 depends on X86 && 64BIT
881 select CRYPTO_SHA1
882 select CRYPTO_HASH
883 select CRYPTO_MCRYPTD
884 help
885 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
886 using multi-buffer technique. This algorithm computes on
887 multiple data lanes concurrently with SIMD instructions for
888 better throughput. It should not be enabled by default but
889 used when there is significant amount of work to keep the keep
890 the data lanes filled to get performance benefit. If the data
891 lanes remain unfilled, a flush operation will be initiated to
892 process the crypto jobs, adding a slight latency.
893
894config CRYPTO_SHA256_MB
895 tristate "SHA256 digest algorithm (x86_64 Multi-Buffer, Experimental)"
896 depends on X86 && 64BIT
897 select CRYPTO_SHA256
898 select CRYPTO_HASH
899 select CRYPTO_MCRYPTD
900 help
901 SHA-256 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
902 using multi-buffer technique. This algorithm computes on
903 multiple data lanes concurrently with SIMD instructions for
904 better throughput. It should not be enabled by default but
905 used when there is significant amount of work to keep the keep
906 the data lanes filled to get performance benefit. If the data
907 lanes remain unfilled, a flush operation will be initiated to
908 process the crypto jobs, adding a slight latency.
909
910config CRYPTO_SHA512_MB
911 tristate "SHA512 digest algorithm (x86_64 Multi-Buffer, Experimental)"
912 depends on X86 && 64BIT
913 select CRYPTO_SHA512
914 select CRYPTO_HASH
915 select CRYPTO_MCRYPTD
916 help
917 SHA-512 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
918 using multi-buffer technique. This algorithm computes on
919 multiple data lanes concurrently with SIMD instructions for
920 better throughput. It should not be enabled by default but
921 used when there is significant amount of work to keep the keep
922 the data lanes filled to get performance benefit. If the data
923 lanes remain unfilled, a flush operation will be initiated to
924 process the crypto jobs, adding a slight latency.
925
926config CRYPTO_SHA256
927 tristate "SHA224 and SHA256 digest algorithm"
928 select CRYPTO_HASH
929 help
930 SHA256 secure hash standard (DFIPS 180-2).
931
932 This version of SHA implements a 256 bit hash with 128 bits of
933 security against collision attacks.
934
935 This code also includes SHA-224, a 224 bit hash with 112 bits
936 of security against collision attacks.
937
938config CRYPTO_SHA256_PPC_SPE
939 tristate "SHA224 and SHA256 digest algorithm (PPC SPE)"
940 depends on PPC && SPE
941 select CRYPTO_SHA256
942 select CRYPTO_HASH
943 help
944 SHA224 and SHA256 secure hash standard (DFIPS 180-2)
945 implemented using powerpc SPE SIMD instruction set.
946
947config CRYPTO_SHA256_OCTEON
948 tristate "SHA224 and SHA256 digest algorithm (OCTEON)"
949 depends on CPU_CAVIUM_OCTEON
950 select CRYPTO_SHA256
951 select CRYPTO_HASH
952 help
953 SHA-256 secure hash standard (DFIPS 180-2) implemented
954 using OCTEON crypto instructions, when available.
955
956config CRYPTO_SHA256_SPARC64
957 tristate "SHA224 and SHA256 digest algorithm (SPARC64)"
958 depends on SPARC64
959 select CRYPTO_SHA256
960 select CRYPTO_HASH
961 help
962 SHA-256 secure hash standard (DFIPS 180-2) implemented
963 using sparc64 crypto instructions, when available.
964
965config CRYPTO_SHA512
966 tristate "SHA384 and SHA512 digest algorithms"
967 select CRYPTO_HASH
968 help
969 SHA512 secure hash standard (DFIPS 180-2).
970
971 This version of SHA implements a 512 bit hash with 256 bits of
972 security against collision attacks.
973
974 This code also includes SHA-384, a 384 bit hash with 192 bits
975 of security against collision attacks.
976
977config CRYPTO_SHA512_OCTEON
978 tristate "SHA384 and SHA512 digest algorithms (OCTEON)"
979 depends on CPU_CAVIUM_OCTEON
980 select CRYPTO_SHA512
981 select CRYPTO_HASH
982 help
983 SHA-512 secure hash standard (DFIPS 180-2) implemented
984 using OCTEON crypto instructions, when available.
985
986config CRYPTO_SHA512_SPARC64
987 tristate "SHA384 and SHA512 digest algorithm (SPARC64)"
988 depends on SPARC64
989 select CRYPTO_SHA512
990 select CRYPTO_HASH
991 help
992 SHA-512 secure hash standard (DFIPS 180-2) implemented
993 using sparc64 crypto instructions, when available.
994
995config CRYPTO_SHA3
996 tristate "SHA3 digest algorithm"
997 select CRYPTO_HASH
998 help
999 SHA-3 secure hash standard (DFIPS 202). It's based on
1000 cryptographic sponge function family called Keccak.
1001
1002 References:
1003 http://keccak.noekeon.org/
1004
1005config CRYPTO_SM3
1006 tristate "SM3 digest algorithm"
1007 select CRYPTO_HASH
1008 help
1009 SM3 secure hash function as defined by OSCCA GM/T 0004-2012 SM3).
1010 It is part of the Chinese Commercial Cryptography suite.
1011
1012 References:
1013 http://www.oscca.gov.cn/UpFile/20101222141857786.pdf
1014 https://datatracker.ietf.org/doc/html/draft-shen-sm3-hash
1015
1016config CRYPTO_TGR192
1017 tristate "Tiger digest algorithms"
1018 select CRYPTO_HASH
1019 help
1020 Tiger hash algorithm 192, 160 and 128-bit hashes
1021
1022 Tiger is a hash function optimized for 64-bit processors while
1023 still having decent performance on 32-bit processors.
1024 Tiger was developed by Ross Anderson and Eli Biham.
1025
1026 See also:
1027 <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
1028
1029config CRYPTO_WP512
1030 tristate "Whirlpool digest algorithms"
1031 select CRYPTO_HASH
1032 help
1033 Whirlpool hash algorithm 512, 384 and 256-bit hashes
1034
1035 Whirlpool-512 is part of the NESSIE cryptographic primitives.
1036 Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
1037
1038 See also:
1039 <http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html>
1040
1041config CRYPTO_GHASH_CLMUL_NI_INTEL
1042 tristate "GHASH digest algorithm (CLMUL-NI accelerated)"
1043 depends on X86 && 64BIT
1044 select CRYPTO_CRYPTD
1045 help
1046 GHASH is message digest algorithm for GCM (Galois/Counter Mode).
1047 The implementation is accelerated by CLMUL-NI of Intel.
1048
1049comment "Ciphers"
1050
1051config CRYPTO_AES
1052 tristate "AES cipher algorithms"
1053 select CRYPTO_ALGAPI
1054 help
1055 AES cipher algorithms (FIPS-197). AES uses the Rijndael
1056 algorithm.
1057
1058 Rijndael appears to be consistently a very good performer in
1059 both hardware and software across a wide range of computing
1060 environments regardless of its use in feedback or non-feedback
1061 modes. Its key setup time is excellent, and its key agility is
1062 good. Rijndael's very low memory requirements make it very well
1063 suited for restricted-space environments, in which it also
1064 demonstrates excellent performance. Rijndael's operations are
1065 among the easiest to defend against power and timing attacks.
1066
1067 The AES specifies three key sizes: 128, 192 and 256 bits
1068
1069 See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
1070
1071config CRYPTO_AES_TI
1072 tristate "Fixed time AES cipher"
1073 select CRYPTO_ALGAPI
1074 help
1075 This is a generic implementation of AES that attempts to eliminate
1076 data dependent latencies as much as possible without affecting
1077 performance too much. It is intended for use by the generic CCM
1078 and GCM drivers, and other CTR or CMAC/XCBC based modes that rely
1079 solely on encryption (although decryption is supported as well, but
1080 with a more dramatic performance hit)
1081
1082 Instead of using 16 lookup tables of 1 KB each, (8 for encryption and
1083 8 for decryption), this implementation only uses just two S-boxes of
1084 256 bytes each, and attempts to eliminate data dependent latencies by
1085 prefetching the entire table into the cache at the start of each
1086 block. Interrupts are also disabled to avoid races where cachelines
1087 are evicted when the CPU is interrupted to do something else.
1088
1089config CRYPTO_AES_586
1090 tristate "AES cipher algorithms (i586)"
1091 depends on (X86 || UML_X86) && !64BIT
1092 select CRYPTO_ALGAPI
1093 select CRYPTO_AES
1094 help
1095 AES cipher algorithms (FIPS-197). AES uses the Rijndael
1096 algorithm.
1097
1098 Rijndael appears to be consistently a very good performer in
1099 both hardware and software across a wide range of computing
1100 environments regardless of its use in feedback or non-feedback
1101 modes. Its key setup time is excellent, and its key agility is
1102 good. Rijndael's very low memory requirements make it very well
1103 suited for restricted-space environments, in which it also
1104 demonstrates excellent performance. Rijndael's operations are
1105 among the easiest to defend against power and timing attacks.
1106
1107 The AES specifies three key sizes: 128, 192 and 256 bits
1108
1109 See <http://csrc.nist.gov/encryption/aes/> for more information.
1110
1111config CRYPTO_AES_X86_64
1112 tristate "AES cipher algorithms (x86_64)"
1113 depends on (X86 || UML_X86) && 64BIT
1114 select CRYPTO_ALGAPI
1115 select CRYPTO_AES
1116 help
1117 AES cipher algorithms (FIPS-197). AES uses the Rijndael
1118 algorithm.
1119
1120 Rijndael appears to be consistently a very good performer in
1121 both hardware and software across a wide range of computing
1122 environments regardless of its use in feedback or non-feedback
1123 modes. Its key setup time is excellent, and its key agility is
1124 good. Rijndael's very low memory requirements make it very well
1125 suited for restricted-space environments, in which it also
1126 demonstrates excellent performance. Rijndael's operations are
1127 among the easiest to defend against power and timing attacks.
1128
1129 The AES specifies three key sizes: 128, 192 and 256 bits
1130
1131 See <http://csrc.nist.gov/encryption/aes/> for more information.
1132
1133config CRYPTO_AES_NI_INTEL
1134 tristate "AES cipher algorithms (AES-NI)"
1135 depends on X86
1136 select CRYPTO_AEAD
1137 select CRYPTO_AES_X86_64 if 64BIT
1138 select CRYPTO_AES_586 if !64BIT
1139 select CRYPTO_ALGAPI
1140 select CRYPTO_BLKCIPHER
1141 select CRYPTO_GLUE_HELPER_X86 if 64BIT
1142 select CRYPTO_SIMD
1143 help
1144 Use Intel AES-NI instructions for AES algorithm.
1145
1146 AES cipher algorithms (FIPS-197). AES uses the Rijndael
1147 algorithm.
1148
1149 Rijndael appears to be consistently a very good performer in
1150 both hardware and software across a wide range of computing
1151 environments regardless of its use in feedback or non-feedback
1152 modes. Its key setup time is excellent, and its key agility is
1153 good. Rijndael's very low memory requirements make it very well
1154 suited for restricted-space environments, in which it also
1155 demonstrates excellent performance. Rijndael's operations are
1156 among the easiest to defend against power and timing attacks.
1157
1158 The AES specifies three key sizes: 128, 192 and 256 bits
1159
1160 See <http://csrc.nist.gov/encryption/aes/> for more information.
1161
1162 In addition to AES cipher algorithm support, the acceleration
1163 for some popular block cipher mode is supported too, including
1164 ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional
1165 acceleration for CTR.
1166
1167config CRYPTO_AES_SPARC64
1168 tristate "AES cipher algorithms (SPARC64)"
1169 depends on SPARC64
1170 select CRYPTO_CRYPTD
1171 select CRYPTO_ALGAPI
1172 help
1173 Use SPARC64 crypto opcodes for AES algorithm.
1174
1175 AES cipher algorithms (FIPS-197). AES uses the Rijndael
1176 algorithm.
1177
1178 Rijndael appears to be consistently a very good performer in
1179 both hardware and software across a wide range of computing
1180 environments regardless of its use in feedback or non-feedback
1181 modes. Its key setup time is excellent, and its key agility is
1182 good. Rijndael's very low memory requirements make it very well
1183 suited for restricted-space environments, in which it also
1184 demonstrates excellent performance. Rijndael's operations are
1185 among the easiest to defend against power and timing attacks.
1186
1187 The AES specifies three key sizes: 128, 192 and 256 bits
1188
1189 See <http://csrc.nist.gov/encryption/aes/> for more information.
1190
1191 In addition to AES cipher algorithm support, the acceleration
1192 for some popular block cipher mode is supported too, including
1193 ECB and CBC.
1194
1195config CRYPTO_AES_PPC_SPE
1196 tristate "AES cipher algorithms (PPC SPE)"
1197 depends on PPC && SPE
1198 help
1199 AES cipher algorithms (FIPS-197). Additionally the acceleration
1200 for popular block cipher modes ECB, CBC, CTR and XTS is supported.
1201 This module should only be used for low power (router) devices
1202 without hardware AES acceleration (e.g. caam crypto). It reduces the
1203 size of the AES tables from 16KB to 8KB + 256 bytes and mitigates
1204 timining attacks. Nevertheless it might be not as secure as other
1205 architecture specific assembler implementations that work on 1KB
1206 tables or 256 bytes S-boxes.
1207
1208config CRYPTO_ANUBIS
1209 tristate "Anubis cipher algorithm"
1210 select CRYPTO_ALGAPI
1211 help
1212 Anubis cipher algorithm.
1213
1214 Anubis is a variable key length cipher which can use keys from
1215 128 bits to 320 bits in length. It was evaluated as a entrant
1216 in the NESSIE competition.
1217
1218 See also:
1219 <https://www.cosic.esat.kuleuven.be/nessie/reports/>
1220 <http://www.larc.usp.br/~pbarreto/AnubisPage.html>
1221
1222config CRYPTO_ARC4
1223 tristate "ARC4 cipher algorithm"
1224 select CRYPTO_BLKCIPHER
1225 help
1226 ARC4 cipher algorithm.
1227
1228 ARC4 is a stream cipher using keys ranging from 8 bits to 2048
1229 bits in length. This algorithm is required for driver-based
1230 WEP, but it should not be for other purposes because of the
1231 weakness of the algorithm.
1232
1233config CRYPTO_BLOWFISH
1234 tristate "Blowfish cipher algorithm"
1235 select CRYPTO_ALGAPI
1236 select CRYPTO_BLOWFISH_COMMON
1237 help
1238 Blowfish cipher algorithm, by Bruce Schneier.
1239
1240 This is a variable key length cipher which can use keys from 32
1241 bits to 448 bits in length. It's fast, simple and specifically
1242 designed for use on "large microprocessors".
1243
1244 See also:
1245 <http://www.schneier.com/blowfish.html>
1246
1247config CRYPTO_BLOWFISH_COMMON
1248 tristate
1249 help
1250 Common parts of the Blowfish cipher algorithm shared by the
1251 generic c and the assembler implementations.
1252
1253 See also:
1254 <http://www.schneier.com/blowfish.html>
1255
1256config CRYPTO_BLOWFISH_X86_64
1257 tristate "Blowfish cipher algorithm (x86_64)"
1258 depends on X86 && 64BIT
1259 select CRYPTO_BLKCIPHER
1260 select CRYPTO_BLOWFISH_COMMON
1261 help
1262 Blowfish cipher algorithm (x86_64), by Bruce Schneier.
1263
1264 This is a variable key length cipher which can use keys from 32
1265 bits to 448 bits in length. It's fast, simple and specifically
1266 designed for use on "large microprocessors".
1267
1268 See also:
1269 <http://www.schneier.com/blowfish.html>
1270
1271config CRYPTO_CAMELLIA
1272 tristate "Camellia cipher algorithms"
1273 depends on CRYPTO
1274 select CRYPTO_ALGAPI
1275 help
1276 Camellia cipher algorithms module.
1277
1278 Camellia is a symmetric key block cipher developed jointly
1279 at NTT and Mitsubishi Electric Corporation.
1280
1281 The Camellia specifies three key sizes: 128, 192 and 256 bits.
1282
1283 See also:
1284 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
1285
1286config CRYPTO_CAMELLIA_X86_64
1287 tristate "Camellia cipher algorithm (x86_64)"
1288 depends on X86 && 64BIT
1289 depends on CRYPTO
1290 select CRYPTO_BLKCIPHER
1291 select CRYPTO_GLUE_HELPER_X86
1292 help
1293 Camellia cipher algorithm module (x86_64).
1294
1295 Camellia is a symmetric key block cipher developed jointly
1296 at NTT and Mitsubishi Electric Corporation.
1297
1298 The Camellia specifies three key sizes: 128, 192 and 256 bits.
1299
1300 See also:
1301 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
1302
1303config CRYPTO_CAMELLIA_AESNI_AVX_X86_64
1304 tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX)"
1305 depends on X86 && 64BIT
1306 depends on CRYPTO
1307 select CRYPTO_BLKCIPHER
1308 select CRYPTO_CAMELLIA_X86_64
1309 select CRYPTO_GLUE_HELPER_X86
1310 select CRYPTO_SIMD
1311 select CRYPTO_XTS
1312 help
1313 Camellia cipher algorithm module (x86_64/AES-NI/AVX).
1314
1315 Camellia is a symmetric key block cipher developed jointly
1316 at NTT and Mitsubishi Electric Corporation.
1317
1318 The Camellia specifies three key sizes: 128, 192 and 256 bits.
1319
1320 See also:
1321 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
1322
1323config CRYPTO_CAMELLIA_AESNI_AVX2_X86_64
1324 tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX2)"
1325 depends on X86 && 64BIT
1326 depends on CRYPTO
1327 select CRYPTO_CAMELLIA_AESNI_AVX_X86_64
1328 help
1329 Camellia cipher algorithm module (x86_64/AES-NI/AVX2).
1330
1331 Camellia is a symmetric key block cipher developed jointly
1332 at NTT and Mitsubishi Electric Corporation.
1333
1334 The Camellia specifies three key sizes: 128, 192 and 256 bits.
1335
1336 See also:
1337 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
1338
1339config CRYPTO_CAMELLIA_SPARC64
1340 tristate "Camellia cipher algorithm (SPARC64)"
1341 depends on SPARC64
1342 depends on CRYPTO
1343 select CRYPTO_ALGAPI
1344 help
1345 Camellia cipher algorithm module (SPARC64).
1346
1347 Camellia is a symmetric key block cipher developed jointly
1348 at NTT and Mitsubishi Electric Corporation.
1349
1350 The Camellia specifies three key sizes: 128, 192 and 256 bits.
1351
1352 See also:
1353 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
1354
1355config CRYPTO_CAST_COMMON
1356 tristate
1357 help
1358 Common parts of the CAST cipher algorithms shared by the
1359 generic c and the assembler implementations.
1360
1361config CRYPTO_CAST5
1362 tristate "CAST5 (CAST-128) cipher algorithm"
1363 select CRYPTO_ALGAPI
1364 select CRYPTO_CAST_COMMON
1365 help
1366 The CAST5 encryption algorithm (synonymous with CAST-128) is
1367 described in RFC2144.
1368
1369config CRYPTO_CAST5_AVX_X86_64
1370 tristate "CAST5 (CAST-128) cipher algorithm (x86_64/AVX)"
1371 depends on X86 && 64BIT
1372 select CRYPTO_BLKCIPHER
1373 select CRYPTO_CAST5
1374 select CRYPTO_CAST_COMMON
1375 select CRYPTO_SIMD
1376 help
1377 The CAST5 encryption algorithm (synonymous with CAST-128) is
1378 described in RFC2144.
1379
1380 This module provides the Cast5 cipher algorithm that processes
1381 sixteen blocks parallel using the AVX instruction set.
1382
1383config CRYPTO_CAST6
1384 tristate "CAST6 (CAST-256) cipher algorithm"
1385 select CRYPTO_ALGAPI
1386 select CRYPTO_CAST_COMMON
1387 help
1388 The CAST6 encryption algorithm (synonymous with CAST-256) is
1389 described in RFC2612.
1390
1391config CRYPTO_CAST6_AVX_X86_64
1392 tristate "CAST6 (CAST-256) cipher algorithm (x86_64/AVX)"
1393 depends on X86 && 64BIT
1394 select CRYPTO_BLKCIPHER
1395 select CRYPTO_CAST6
1396 select CRYPTO_CAST_COMMON
1397 select CRYPTO_GLUE_HELPER_X86
1398 select CRYPTO_SIMD
1399 select CRYPTO_XTS
1400 help
1401 The CAST6 encryption algorithm (synonymous with CAST-256) is
1402 described in RFC2612.
1403
1404 This module provides the Cast6 cipher algorithm that processes
1405 eight blocks parallel using the AVX instruction set.
1406
1407config CRYPTO_DES
1408 tristate "DES and Triple DES EDE cipher algorithms"
1409 select CRYPTO_ALGAPI
1410 help
1411 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
1412
1413config CRYPTO_DES_SPARC64
1414 tristate "DES and Triple DES EDE cipher algorithms (SPARC64)"
1415 depends on SPARC64
1416 select CRYPTO_ALGAPI
1417 select CRYPTO_DES
1418 help
1419 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3),
1420 optimized using SPARC64 crypto opcodes.
1421
1422config CRYPTO_DES3_EDE_X86_64
1423 tristate "Triple DES EDE cipher algorithm (x86-64)"
1424 depends on X86 && 64BIT
1425 select CRYPTO_BLKCIPHER
1426 select CRYPTO_DES
1427 help
1428 Triple DES EDE (FIPS 46-3) algorithm.
1429
1430 This module provides implementation of the Triple DES EDE cipher
1431 algorithm that is optimized for x86-64 processors. Two versions of
1432 algorithm are provided; regular processing one input block and
1433 one that processes three blocks parallel.
1434
1435config CRYPTO_FCRYPT
1436 tristate "FCrypt cipher algorithm"
1437 select CRYPTO_ALGAPI
1438 select CRYPTO_BLKCIPHER
1439 help
1440 FCrypt algorithm used by RxRPC.
1441
1442config CRYPTO_KHAZAD
1443 tristate "Khazad cipher algorithm"
1444 select CRYPTO_ALGAPI
1445 help
1446 Khazad cipher algorithm.
1447
1448 Khazad was a finalist in the initial NESSIE competition. It is
1449 an algorithm optimized for 64-bit processors with good performance
1450 on 32-bit processors. Khazad uses an 128 bit key size.
1451
1452 See also:
1453 <http://www.larc.usp.br/~pbarreto/KhazadPage.html>
1454
1455config CRYPTO_SALSA20
1456 tristate "Salsa20 stream cipher algorithm"
1457 select CRYPTO_BLKCIPHER
1458 help
1459 Salsa20 stream cipher algorithm.
1460
1461 Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
1462 Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
1463
1464 The Salsa20 stream cipher algorithm is designed by Daniel J.
1465 Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
1466
1467config CRYPTO_CHACHA20
1468 tristate "ChaCha stream cipher algorithms"
1469 select CRYPTO_BLKCIPHER
1470 help
1471 The ChaCha20, XChaCha20, and XChaCha12 stream cipher algorithms.
1472
1473 ChaCha20 is a 256-bit high-speed stream cipher designed by Daniel J.
1474 Bernstein and further specified in RFC7539 for use in IETF protocols.
1475 This is the portable C implementation of ChaCha20. See also:
1476 <http://cr.yp.to/chacha/chacha-20080128.pdf>
1477
1478 XChaCha20 is the application of the XSalsa20 construction to ChaCha20
1479 rather than to Salsa20. XChaCha20 extends ChaCha20's nonce length
1480 from 64 bits (or 96 bits using the RFC7539 convention) to 192 bits,
1481 while provably retaining ChaCha20's security. See also:
1482 <https://cr.yp.to/snuffle/xsalsa-20081128.pdf>
1483
1484 XChaCha12 is XChaCha20 reduced to 12 rounds, with correspondingly
1485 reduced security margin but increased performance. It can be needed
1486 in some performance-sensitive scenarios.
1487
1488config CRYPTO_CHACHA20_X86_64
1489 tristate "ChaCha20 cipher algorithm (x86_64/SSSE3/AVX2)"
1490 depends on X86 && 64BIT
1491 select CRYPTO_BLKCIPHER
1492 select CRYPTO_CHACHA20
1493 help
1494 ChaCha20 cipher algorithm, RFC7539.
1495
1496 ChaCha20 is a 256-bit high-speed stream cipher designed by Daniel J.
1497 Bernstein and further specified in RFC7539 for use in IETF protocols.
1498 This is the x86_64 assembler implementation using SIMD instructions.
1499
1500 See also:
1501 <http://cr.yp.to/chacha/chacha-20080128.pdf>
1502
1503config CRYPTO_SEED
1504 tristate "SEED cipher algorithm"
1505 select CRYPTO_ALGAPI
1506 help
1507 SEED cipher algorithm (RFC4269).
1508
1509 SEED is a 128-bit symmetric key block cipher that has been
1510 developed by KISA (Korea Information Security Agency) as a
1511 national standard encryption algorithm of the Republic of Korea.
1512 It is a 16 round block cipher with the key size of 128 bit.
1513
1514 See also:
1515 <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp>
1516
1517config CRYPTO_SERPENT
1518 tristate "Serpent cipher algorithm"
1519 select CRYPTO_ALGAPI
1520 help
1521 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1522
1523 Keys are allowed to be from 0 to 256 bits in length, in steps
1524 of 8 bits. Also includes the 'Tnepres' algorithm, a reversed
1525 variant of Serpent for compatibility with old kerneli.org code.
1526
1527 See also:
1528 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1529
1530config CRYPTO_SERPENT_SSE2_X86_64
1531 tristate "Serpent cipher algorithm (x86_64/SSE2)"
1532 depends on X86 && 64BIT
1533 select CRYPTO_BLKCIPHER
1534 select CRYPTO_GLUE_HELPER_X86
1535 select CRYPTO_SERPENT
1536 select CRYPTO_SIMD
1537 help
1538 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1539
1540 Keys are allowed to be from 0 to 256 bits in length, in steps
1541 of 8 bits.
1542
1543 This module provides Serpent cipher algorithm that processes eight
1544 blocks parallel using SSE2 instruction set.
1545
1546 See also:
1547 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1548
1549config CRYPTO_SERPENT_SSE2_586
1550 tristate "Serpent cipher algorithm (i586/SSE2)"
1551 depends on X86 && !64BIT
1552 select CRYPTO_BLKCIPHER
1553 select CRYPTO_GLUE_HELPER_X86
1554 select CRYPTO_SERPENT
1555 select CRYPTO_SIMD
1556 help
1557 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1558
1559 Keys are allowed to be from 0 to 256 bits in length, in steps
1560 of 8 bits.
1561
1562 This module provides Serpent cipher algorithm that processes four
1563 blocks parallel using SSE2 instruction set.
1564
1565 See also:
1566 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1567
1568config CRYPTO_SERPENT_AVX_X86_64
1569 tristate "Serpent cipher algorithm (x86_64/AVX)"
1570 depends on X86 && 64BIT
1571 select CRYPTO_BLKCIPHER
1572 select CRYPTO_GLUE_HELPER_X86
1573 select CRYPTO_SERPENT
1574 select CRYPTO_SIMD
1575 select CRYPTO_XTS
1576 help
1577 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1578
1579 Keys are allowed to be from 0 to 256 bits in length, in steps
1580 of 8 bits.
1581
1582 This module provides the Serpent cipher algorithm that processes
1583 eight blocks parallel using the AVX instruction set.
1584
1585 See also:
1586 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1587
1588config CRYPTO_SERPENT_AVX2_X86_64
1589 tristate "Serpent cipher algorithm (x86_64/AVX2)"
1590 depends on X86 && 64BIT
1591 select CRYPTO_SERPENT_AVX_X86_64
1592 help
1593 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1594
1595 Keys are allowed to be from 0 to 256 bits in length, in steps
1596 of 8 bits.
1597
1598 This module provides Serpent cipher algorithm that processes 16
1599 blocks parallel using AVX2 instruction set.
1600
1601 See also:
1602 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1603
1604config CRYPTO_SM4
1605 tristate "SM4 cipher algorithm"
1606 select CRYPTO_ALGAPI
1607 help
1608 SM4 cipher algorithms (OSCCA GB/T 32907-2016).
1609
1610 SM4 (GBT.32907-2016) is a cryptographic standard issued by the
1611 Organization of State Commercial Administration of China (OSCCA)
1612 as an authorized cryptographic algorithms for the use within China.
1613
1614 SMS4 was originally created for use in protecting wireless
1615 networks, and is mandated in the Chinese National Standard for
1616 Wireless LAN WAPI (Wired Authentication and Privacy Infrastructure)
1617 (GB.15629.11-2003).
1618
1619 The latest SM4 standard (GBT.32907-2016) was proposed by OSCCA and
1620 standardized through TC 260 of the Standardization Administration
1621 of the People's Republic of China (SAC).
1622
1623 The input, output, and key of SMS4 are each 128 bits.
1624
1625 See also: <https://eprint.iacr.org/2008/329.pdf>
1626
1627 If unsure, say N.
1628
1629config CRYPTO_TEA
1630 tristate "TEA, XTEA and XETA cipher algorithms"
1631 select CRYPTO_ALGAPI
1632 help
1633 TEA cipher algorithm.
1634
1635 Tiny Encryption Algorithm is a simple cipher that uses
1636 many rounds for security. It is very fast and uses
1637 little memory.
1638
1639 Xtendend Tiny Encryption Algorithm is a modification to
1640 the TEA algorithm to address a potential key weakness
1641 in the TEA algorithm.
1642
1643 Xtendend Encryption Tiny Algorithm is a mis-implementation
1644 of the XTEA algorithm for compatibility purposes.
1645
1646config CRYPTO_TWOFISH
1647 tristate "Twofish cipher algorithm"
1648 select CRYPTO_ALGAPI
1649 select CRYPTO_TWOFISH_COMMON
1650 help
1651 Twofish cipher algorithm.
1652
1653 Twofish was submitted as an AES (Advanced Encryption Standard)
1654 candidate cipher by researchers at CounterPane Systems. It is a
1655 16 round block cipher supporting key sizes of 128, 192, and 256
1656 bits.
1657
1658 See also:
1659 <http://www.schneier.com/twofish.html>
1660
1661config CRYPTO_TWOFISH_COMMON
1662 tristate
1663 help
1664 Common parts of the Twofish cipher algorithm shared by the
1665 generic c and the assembler implementations.
1666
1667config CRYPTO_TWOFISH_586
1668 tristate "Twofish cipher algorithms (i586)"
1669 depends on (X86 || UML_X86) && !64BIT
1670 select CRYPTO_ALGAPI
1671 select CRYPTO_TWOFISH_COMMON
1672 help
1673 Twofish cipher algorithm.
1674
1675 Twofish was submitted as an AES (Advanced Encryption Standard)
1676 candidate cipher by researchers at CounterPane Systems. It is a
1677 16 round block cipher supporting key sizes of 128, 192, and 256
1678 bits.
1679
1680 See also:
1681 <http://www.schneier.com/twofish.html>
1682
1683config CRYPTO_TWOFISH_X86_64
1684 tristate "Twofish cipher algorithm (x86_64)"
1685 depends on (X86 || UML_X86) && 64BIT
1686 select CRYPTO_ALGAPI
1687 select CRYPTO_TWOFISH_COMMON
1688 help
1689 Twofish cipher algorithm (x86_64).
1690
1691 Twofish was submitted as an AES (Advanced Encryption Standard)
1692 candidate cipher by researchers at CounterPane Systems. It is a
1693 16 round block cipher supporting key sizes of 128, 192, and 256
1694 bits.
1695
1696 See also:
1697 <http://www.schneier.com/twofish.html>
1698
1699config CRYPTO_TWOFISH_X86_64_3WAY
1700 tristate "Twofish cipher algorithm (x86_64, 3-way parallel)"
1701 depends on X86 && 64BIT
1702 select CRYPTO_BLKCIPHER
1703 select CRYPTO_TWOFISH_COMMON
1704 select CRYPTO_TWOFISH_X86_64
1705 select CRYPTO_GLUE_HELPER_X86
1706 help
1707 Twofish cipher algorithm (x86_64, 3-way parallel).
1708
1709 Twofish was submitted as an AES (Advanced Encryption Standard)
1710 candidate cipher by researchers at CounterPane Systems. It is a
1711 16 round block cipher supporting key sizes of 128, 192, and 256
1712 bits.
1713
1714 This module provides Twofish cipher algorithm that processes three
1715 blocks parallel, utilizing resources of out-of-order CPUs better.
1716
1717 See also:
1718 <http://www.schneier.com/twofish.html>
1719
1720config CRYPTO_TWOFISH_AVX_X86_64
1721 tristate "Twofish cipher algorithm (x86_64/AVX)"
1722 depends on X86 && 64BIT
1723 select CRYPTO_BLKCIPHER
1724 select CRYPTO_GLUE_HELPER_X86
1725 select CRYPTO_SIMD
1726 select CRYPTO_TWOFISH_COMMON
1727 select CRYPTO_TWOFISH_X86_64
1728 select CRYPTO_TWOFISH_X86_64_3WAY
1729 help
1730 Twofish cipher algorithm (x86_64/AVX).
1731
1732 Twofish was submitted as an AES (Advanced Encryption Standard)
1733 candidate cipher by researchers at CounterPane Systems. It is a
1734 16 round block cipher supporting key sizes of 128, 192, and 256
1735 bits.
1736
1737 This module provides the Twofish cipher algorithm that processes
1738 eight blocks parallel using the AVX Instruction Set.
1739
1740 See also:
1741 <http://www.schneier.com/twofish.html>
1742
1743comment "Compression"
1744
1745config CRYPTO_DEFLATE
1746 tristate "Deflate compression algorithm"
1747 select CRYPTO_ALGAPI
1748 select CRYPTO_ACOMP2
1749 select ZLIB_INFLATE
1750 select ZLIB_DEFLATE
1751 help
1752 This is the Deflate algorithm (RFC1951), specified for use in
1753 IPSec with the IPCOMP protocol (RFC3173, RFC2394).
1754
1755 You will most probably want this if using IPSec.
1756
1757config CRYPTO_LZO
1758 tristate "LZO compression algorithm"
1759 select CRYPTO_ALGAPI
1760 select CRYPTO_ACOMP2
1761 select LZO_COMPRESS
1762 select LZO_DECOMPRESS
1763 help
1764 This is the LZO algorithm.
1765
1766config CRYPTO_842
1767 tristate "842 compression algorithm"
1768 select CRYPTO_ALGAPI
1769 select CRYPTO_ACOMP2
1770 select 842_COMPRESS
1771 select 842_DECOMPRESS
1772 help
1773 This is the 842 algorithm.
1774
1775config CRYPTO_LZ4
1776 tristate "LZ4 compression algorithm"
1777 select CRYPTO_ALGAPI
1778 select CRYPTO_ACOMP2
1779 select LZ4_COMPRESS
1780 select LZ4_DECOMPRESS
1781 help
1782 This is the LZ4 algorithm.
1783
1784config CRYPTO_LZ4HC
1785 tristate "LZ4HC compression algorithm"
1786 select CRYPTO_ALGAPI
1787 select CRYPTO_ACOMP2
1788 select LZ4HC_COMPRESS
1789 select LZ4_DECOMPRESS
1790 help
1791 This is the LZ4 high compression mode algorithm.
1792
1793config CRYPTO_ZSTD
1794 tristate "Zstd compression algorithm"
1795 select CRYPTO_ALGAPI
1796 select CRYPTO_ACOMP2
1797 select ZSTD_COMPRESS
1798 select ZSTD_DECOMPRESS
1799 help
1800 This is the zstd algorithm.
1801
1802comment "Random Number Generation"
1803
1804config CRYPTO_ANSI_CPRNG
1805 tristate "Pseudo Random Number Generation for Cryptographic modules"
1806 select CRYPTO_AES
1807 select CRYPTO_RNG
1808 help
1809 This option enables the generic pseudo random number generator
1810 for cryptographic modules. Uses the Algorithm specified in
1811 ANSI X9.31 A.2.4. Note that this option must be enabled if
1812 CRYPTO_FIPS is selected
1813
1814menuconfig CRYPTO_DRBG_MENU
1815 tristate "NIST SP800-90A DRBG"
1816 help
1817 NIST SP800-90A compliant DRBG. In the following submenu, one or
1818 more of the DRBG types must be selected.
1819
1820if CRYPTO_DRBG_MENU
1821
1822config CRYPTO_DRBG_HMAC
1823 bool
1824 default y
1825 select CRYPTO_HMAC
1826 select CRYPTO_SHA256
1827
1828config CRYPTO_DRBG_HASH
1829 bool "Enable Hash DRBG"
1830 select CRYPTO_SHA256
1831 help
1832 Enable the Hash DRBG variant as defined in NIST SP800-90A.
1833
1834config CRYPTO_DRBG_CTR
1835 bool "Enable CTR DRBG"
1836 select CRYPTO_AES
1837 depends on CRYPTO_CTR
1838 help
1839 Enable the CTR DRBG variant as defined in NIST SP800-90A.
1840
1841config CRYPTO_DRBG
1842 tristate
1843 default CRYPTO_DRBG_MENU
1844 select CRYPTO_RNG
1845 select CRYPTO_JITTERENTROPY
1846
1847endif # if CRYPTO_DRBG_MENU
1848
1849config CRYPTO_JITTERENTROPY
1850 tristate "Jitterentropy Non-Deterministic Random Number Generator"
1851 select CRYPTO_RNG
1852 help
1853 The Jitterentropy RNG is a noise that is intended
1854 to provide seed to another RNG. The RNG does not
1855 perform any cryptographic whitening of the generated
1856 random numbers. This Jitterentropy RNG registers with
1857 the kernel crypto API and can be used by any caller.
1858
1859config CRYPTO_USER_API
1860 tristate
1861
1862config CRYPTO_USER_API_HASH
1863 tristate "User-space interface for hash algorithms"
1864 depends on NET
1865 select CRYPTO_HASH
1866 select CRYPTO_USER_API
1867 help
1868 This option enables the user-spaces interface for hash
1869 algorithms.
1870
1871config CRYPTO_USER_API_SKCIPHER
1872 tristate "User-space interface for symmetric key cipher algorithms"
1873 depends on NET
1874 select CRYPTO_BLKCIPHER
1875 select CRYPTO_USER_API
1876 help
1877 This option enables the user-spaces interface for symmetric
1878 key cipher algorithms.
1879
1880config CRYPTO_USER_API_RNG
1881 tristate "User-space interface for random number generator algorithms"
1882 depends on NET
1883 select CRYPTO_RNG
1884 select CRYPTO_USER_API
1885 help
1886 This option enables the user-spaces interface for random
1887 number generator algorithms.
1888
1889config CRYPTO_USER_API_AEAD
1890 tristate "User-space interface for AEAD cipher algorithms"
1891 depends on NET
1892 select CRYPTO_AEAD
1893 select CRYPTO_BLKCIPHER
1894 select CRYPTO_NULL
1895 select CRYPTO_USER_API
1896 help
1897 This option enables the user-spaces interface for AEAD
1898 cipher algorithms.
1899
1900config CRYPTO_HASH_INFO
1901 bool
1902
1903source "drivers/crypto/Kconfig"
1904source crypto/asymmetric_keys/Kconfig
1905source certs/Kconfig
1906
1907endif # if CRYPTO