Root/crypto/Kconfig

1#
2# Generic algorithms support
3#
4config XOR_BLOCKS
5    tristate
6
7#
8# async_tx api: hardware offloaded memory transfer/transform support
9#
10source "crypto/async_tx/Kconfig"
11
12#
13# Cryptographic API Configuration
14#
15menuconfig CRYPTO
16    tristate "Cryptographic API"
17    help
18      This option provides the core Cryptographic API.
19
20if CRYPTO
21
22comment "Crypto core or helper"
23
24config CRYPTO_FIPS
25    bool "FIPS 200 compliance"
26    depends on CRYPTO_ANSI_CPRNG
27    help
28      This options enables the fips boot option which is
29      required if you want to system to operate in a FIPS 200
30      certification. You should say no unless you know what
31      this is. Note that CRYPTO_ANSI_CPRNG is requred if this
32      option is selected
33
34config CRYPTO_ALGAPI
35    tristate
36    select CRYPTO_ALGAPI2
37    help
38      This option provides the API for cryptographic algorithms.
39
40config CRYPTO_ALGAPI2
41    tristate
42
43config CRYPTO_AEAD
44    tristate
45    select CRYPTO_AEAD2
46    select CRYPTO_ALGAPI
47
48config CRYPTO_AEAD2
49    tristate
50    select CRYPTO_ALGAPI2
51
52config CRYPTO_BLKCIPHER
53    tristate
54    select CRYPTO_BLKCIPHER2
55    select CRYPTO_ALGAPI
56
57config CRYPTO_BLKCIPHER2
58    tristate
59    select CRYPTO_ALGAPI2
60    select CRYPTO_RNG2
61    select CRYPTO_WORKQUEUE
62
63config CRYPTO_HASH
64    tristate
65    select CRYPTO_HASH2
66    select CRYPTO_ALGAPI
67
68config CRYPTO_HASH2
69    tristate
70    select CRYPTO_ALGAPI2
71
72config CRYPTO_RNG
73    tristate
74    select CRYPTO_RNG2
75    select CRYPTO_ALGAPI
76
77config CRYPTO_RNG2
78    tristate
79    select CRYPTO_ALGAPI2
80
81config CRYPTO_PCOMP
82    tristate
83    select CRYPTO_ALGAPI2
84
85config CRYPTO_MANAGER
86    tristate "Cryptographic algorithm manager"
87    select CRYPTO_MANAGER2
88    help
89      Create default cryptographic template instantiations such as
90      cbc(aes).
91
92config CRYPTO_MANAGER2
93    def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y)
94    select CRYPTO_AEAD2
95    select CRYPTO_HASH2
96    select CRYPTO_BLKCIPHER2
97    select CRYPTO_PCOMP
98
99config CRYPTO_GF128MUL
100    tristate "GF(2^128) multiplication functions (EXPERIMENTAL)"
101    depends on EXPERIMENTAL
102    help
103      Efficient table driven implementation of multiplications in the
104      field GF(2^128). This is needed by some cypher modes. This
105      option will be selected automatically if you select such a
106      cipher mode. Only select this option by hand if you expect to load
107      an external module that requires these functions.
108
109config CRYPTO_NULL
110    tristate "Null algorithms"
111    select CRYPTO_ALGAPI
112    select CRYPTO_BLKCIPHER
113    select CRYPTO_HASH
114    help
115      These are 'Null' algorithms, used by IPsec, which do nothing.
116
117config CRYPTO_PCRYPT
118    tristate "Parallel crypto engine (EXPERIMENTAL)"
119    depends on SMP && EXPERIMENTAL
120    select PADATA
121    select CRYPTO_MANAGER
122    select CRYPTO_AEAD
123    help
124      This converts an arbitrary crypto algorithm into a parallel
125      algorithm that executes in kernel threads.
126
127config CRYPTO_WORKQUEUE
128       tristate
129
130config CRYPTO_CRYPTD
131    tristate "Software async crypto daemon"
132    select CRYPTO_BLKCIPHER
133    select CRYPTO_HASH
134    select CRYPTO_MANAGER
135    select CRYPTO_WORKQUEUE
136    help
137      This is a generic software asynchronous crypto daemon that
138      converts an arbitrary synchronous software crypto algorithm
139      into an asynchronous algorithm that executes in a kernel thread.
140
141config CRYPTO_AUTHENC
142    tristate "Authenc support"
143    select CRYPTO_AEAD
144    select CRYPTO_BLKCIPHER
145    select CRYPTO_MANAGER
146    select CRYPTO_HASH
147    help
148      Authenc: Combined mode wrapper for IPsec.
149      This is required for IPSec.
150
151config CRYPTO_TEST
152    tristate "Testing module"
153    depends on m
154    select CRYPTO_MANAGER
155    help
156      Quick & dirty crypto test module.
157
158comment "Authenticated Encryption with Associated Data"
159
160config CRYPTO_CCM
161    tristate "CCM support"
162    select CRYPTO_CTR
163    select CRYPTO_AEAD
164    help
165      Support for Counter with CBC MAC. Required for IPsec.
166
167config CRYPTO_GCM
168    tristate "GCM/GMAC support"
169    select CRYPTO_CTR
170    select CRYPTO_AEAD
171    select CRYPTO_GHASH
172    help
173      Support for Galois/Counter Mode (GCM) and Galois Message
174      Authentication Code (GMAC). Required for IPSec.
175
176config CRYPTO_SEQIV
177    tristate "Sequence Number IV Generator"
178    select CRYPTO_AEAD
179    select CRYPTO_BLKCIPHER
180    select CRYPTO_RNG
181    help
182      This IV generator generates an IV based on a sequence number by
183      xoring it with a salt. This algorithm is mainly useful for CTR
184
185comment "Block modes"
186
187config CRYPTO_CBC
188    tristate "CBC support"
189    select CRYPTO_BLKCIPHER
190    select CRYPTO_MANAGER
191    help
192      CBC: Cipher Block Chaining mode
193      This block cipher algorithm is required for IPSec.
194
195config CRYPTO_CTR
196    tristate "CTR support"
197    select CRYPTO_BLKCIPHER
198    select CRYPTO_SEQIV
199    select CRYPTO_MANAGER
200    help
201      CTR: Counter mode
202      This block cipher algorithm is required for IPSec.
203
204config CRYPTO_CTS
205    tristate "CTS support"
206    select CRYPTO_BLKCIPHER
207    help
208      CTS: Cipher Text Stealing
209      This is the Cipher Text Stealing mode as described by
210      Section 8 of rfc2040 and referenced by rfc3962.
211      (rfc3962 includes errata information in its Appendix A)
212      This mode is required for Kerberos gss mechanism support
213      for AES encryption.
214
215config CRYPTO_ECB
216    tristate "ECB support"
217    select CRYPTO_BLKCIPHER
218    select CRYPTO_MANAGER
219    help
220      ECB: Electronic CodeBook mode
221      This is the simplest block cipher algorithm. It simply encrypts
222      the input block by block.
223
224config CRYPTO_LRW
225    tristate "LRW support (EXPERIMENTAL)"
226    depends on EXPERIMENTAL
227    select CRYPTO_BLKCIPHER
228    select CRYPTO_MANAGER
229    select CRYPTO_GF128MUL
230    help
231      LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable
232      narrow block cipher mode for dm-crypt. Use it with cipher
233      specification string aes-lrw-benbi, the key must be 256, 320 or 384.
234      The first 128, 192 or 256 bits in the key are used for AES and the
235      rest is used to tie each cipher block to its logical position.
236
237config CRYPTO_PCBC
238    tristate "PCBC support"
239    select CRYPTO_BLKCIPHER
240    select CRYPTO_MANAGER
241    help
242      PCBC: Propagating Cipher Block Chaining mode
243      This block cipher algorithm is required for RxRPC.
244
245config CRYPTO_XTS
246    tristate "XTS support (EXPERIMENTAL)"
247    depends on EXPERIMENTAL
248    select CRYPTO_BLKCIPHER
249    select CRYPTO_MANAGER
250    select CRYPTO_GF128MUL
251    help
252      XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain,
253      key size 256, 384 or 512 bits. This implementation currently
254      can't handle a sectorsize which is not a multiple of 16 bytes.
255
256config CRYPTO_FPU
257    tristate
258    select CRYPTO_BLKCIPHER
259    select CRYPTO_MANAGER
260
261comment "Hash modes"
262
263config CRYPTO_HMAC
264    tristate "HMAC support"
265    select CRYPTO_HASH
266    select CRYPTO_MANAGER
267    help
268      HMAC: Keyed-Hashing for Message Authentication (RFC2104).
269      This is required for IPSec.
270
271config CRYPTO_XCBC
272    tristate "XCBC support"
273    depends on EXPERIMENTAL
274    select CRYPTO_HASH
275    select CRYPTO_MANAGER
276    help
277      XCBC: Keyed-Hashing with encryption algorithm
278        http://www.ietf.org/rfc/rfc3566.txt
279        http://csrc.nist.gov/encryption/modes/proposedmodes/
280         xcbc-mac/xcbc-mac-spec.pdf
281
282config CRYPTO_VMAC
283    tristate "VMAC support"
284    depends on EXPERIMENTAL
285    select CRYPTO_HASH
286    select CRYPTO_MANAGER
287    help
288      VMAC is a message authentication algorithm designed for
289      very high speed on 64-bit architectures.
290
291      See also:
292      <http://fastcrypto.org/vmac>
293
294comment "Digest"
295
296config CRYPTO_CRC32C
297    tristate "CRC32c CRC algorithm"
298    select CRYPTO_HASH
299    help
300      Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used
301      by iSCSI for header and data digests and by others.
302      See Castagnoli93. Module will be crc32c.
303
304config CRYPTO_CRC32C_INTEL
305    tristate "CRC32c INTEL hardware acceleration"
306    depends on X86
307    select CRYPTO_HASH
308    help
309      In Intel processor with SSE4.2 supported, the processor will
310      support CRC32C implementation using hardware accelerated CRC32
311      instruction. This option will create 'crc32c-intel' module,
312      which will enable any routine to use the CRC32 instruction to
313      gain performance compared with software implementation.
314      Module will be crc32c-intel.
315
316config CRYPTO_GHASH
317    tristate "GHASH digest algorithm"
318    select CRYPTO_SHASH
319    select CRYPTO_GF128MUL
320    help
321      GHASH is message digest algorithm for GCM (Galois/Counter Mode).
322
323config CRYPTO_MD4
324    tristate "MD4 digest algorithm"
325    select CRYPTO_HASH
326    help
327      MD4 message digest algorithm (RFC1320).
328
329config CRYPTO_MD5
330    tristate "MD5 digest algorithm"
331    select CRYPTO_HASH
332    help
333      MD5 message digest algorithm (RFC1321).
334
335config CRYPTO_MICHAEL_MIC
336    tristate "Michael MIC keyed digest algorithm"
337    select CRYPTO_HASH
338    help
339      Michael MIC is used for message integrity protection in TKIP
340      (IEEE 802.11i). This algorithm is required for TKIP, but it
341      should not be used for other purposes because of the weakness
342      of the algorithm.
343
344config CRYPTO_RMD128
345    tristate "RIPEMD-128 digest algorithm"
346    select CRYPTO_HASH
347    help
348      RIPEMD-128 (ISO/IEC 10118-3:2004).
349
350      RIPEMD-128 is a 128-bit cryptographic hash function. It should only
351      to be used as a secure replacement for RIPEMD. For other use cases
352      RIPEMD-160 should be used.
353
354      Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
355      See <http://home.esat.kuleuven.be/~bosselae/ripemd160.html>
356
357config CRYPTO_RMD160
358    tristate "RIPEMD-160 digest algorithm"
359    select CRYPTO_HASH
360    help
361      RIPEMD-160 (ISO/IEC 10118-3:2004).
362
363      RIPEMD-160 is a 160-bit cryptographic hash function. It is intended
364      to be used as a secure replacement for the 128-bit hash functions
365      MD4, MD5 and it's predecessor RIPEMD
366      (not to be confused with RIPEMD-128).
367
368      It's speed is comparable to SHA1 and there are no known attacks
369      against RIPEMD-160.
370
371      Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
372      See <http://home.esat.kuleuven.be/~bosselae/ripemd160.html>
373
374config CRYPTO_RMD256
375    tristate "RIPEMD-256 digest algorithm"
376    select CRYPTO_HASH
377    help
378      RIPEMD-256 is an optional extension of RIPEMD-128 with a
379      256 bit hash. It is intended for applications that require
380      longer hash-results, without needing a larger security level
381      (than RIPEMD-128).
382
383      Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
384      See <http://home.esat.kuleuven.be/~bosselae/ripemd160.html>
385
386config CRYPTO_RMD320
387    tristate "RIPEMD-320 digest algorithm"
388    select CRYPTO_HASH
389    help
390      RIPEMD-320 is an optional extension of RIPEMD-160 with a
391      320 bit hash. It is intended for applications that require
392      longer hash-results, without needing a larger security level
393      (than RIPEMD-160).
394
395      Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
396      See <http://home.esat.kuleuven.be/~bosselae/ripemd160.html>
397
398config CRYPTO_SHA1
399    tristate "SHA1 digest algorithm"
400    select CRYPTO_HASH
401    help
402      SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
403
404config CRYPTO_SHA256
405    tristate "SHA224 and SHA256 digest algorithm"
406    select CRYPTO_HASH
407    help
408      SHA256 secure hash standard (DFIPS 180-2).
409
410      This version of SHA implements a 256 bit hash with 128 bits of
411      security against collision attacks.
412
413      This code also includes SHA-224, a 224 bit hash with 112 bits
414      of security against collision attacks.
415
416config CRYPTO_SHA512
417    tristate "SHA384 and SHA512 digest algorithms"
418    select CRYPTO_HASH
419    help
420      SHA512 secure hash standard (DFIPS 180-2).
421
422      This version of SHA implements a 512 bit hash with 256 bits of
423      security against collision attacks.
424
425      This code also includes SHA-384, a 384 bit hash with 192 bits
426      of security against collision attacks.
427
428config CRYPTO_TGR192
429    tristate "Tiger digest algorithms"
430    select CRYPTO_HASH
431    help
432      Tiger hash algorithm 192, 160 and 128-bit hashes
433
434      Tiger is a hash function optimized for 64-bit processors while
435      still having decent performance on 32-bit processors.
436      Tiger was developed by Ross Anderson and Eli Biham.
437
438      See also:
439      <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
440
441config CRYPTO_WP512
442    tristate "Whirlpool digest algorithms"
443    select CRYPTO_HASH
444    help
445      Whirlpool hash algorithm 512, 384 and 256-bit hashes
446
447      Whirlpool-512 is part of the NESSIE cryptographic primitives.
448      Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
449
450      See also:
451      <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
452
453config CRYPTO_GHASH_CLMUL_NI_INTEL
454    tristate "GHASH digest algorithm (CLMUL-NI accelerated)"
455    depends on (X86 || UML_X86) && 64BIT
456    select CRYPTO_SHASH
457    select CRYPTO_CRYPTD
458    help
459      GHASH is message digest algorithm for GCM (Galois/Counter Mode).
460      The implementation is accelerated by CLMUL-NI of Intel.
461
462comment "Ciphers"
463
464config CRYPTO_AES
465    tristate "AES cipher algorithms"
466    select CRYPTO_ALGAPI
467    help
468      AES cipher algorithms (FIPS-197). AES uses the Rijndael
469      algorithm.
470
471      Rijndael appears to be consistently a very good performer in
472      both hardware and software across a wide range of computing
473      environments regardless of its use in feedback or non-feedback
474      modes. Its key setup time is excellent, and its key agility is
475      good. Rijndael's very low memory requirements make it very well
476      suited for restricted-space environments, in which it also
477      demonstrates excellent performance. Rijndael's operations are
478      among the easiest to defend against power and timing attacks.
479
480      The AES specifies three key sizes: 128, 192 and 256 bits
481
482      See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
483
484config CRYPTO_AES_586
485    tristate "AES cipher algorithms (i586)"
486    depends on (X86 || UML_X86) && !64BIT
487    select CRYPTO_ALGAPI
488    select CRYPTO_AES
489    help
490      AES cipher algorithms (FIPS-197). AES uses the Rijndael
491      algorithm.
492
493      Rijndael appears to be consistently a very good performer in
494      both hardware and software across a wide range of computing
495      environments regardless of its use in feedback or non-feedback
496      modes. Its key setup time is excellent, and its key agility is
497      good. Rijndael's very low memory requirements make it very well
498      suited for restricted-space environments, in which it also
499      demonstrates excellent performance. Rijndael's operations are
500      among the easiest to defend against power and timing attacks.
501
502      The AES specifies three key sizes: 128, 192 and 256 bits
503
504      See <http://csrc.nist.gov/encryption/aes/> for more information.
505
506config CRYPTO_AES_X86_64
507    tristate "AES cipher algorithms (x86_64)"
508    depends on (X86 || UML_X86) && 64BIT
509    select CRYPTO_ALGAPI
510    select CRYPTO_AES
511    help
512      AES cipher algorithms (FIPS-197). AES uses the Rijndael
513      algorithm.
514
515      Rijndael appears to be consistently a very good performer in
516      both hardware and software across a wide range of computing
517      environments regardless of its use in feedback or non-feedback
518      modes. Its key setup time is excellent, and its key agility is
519      good. Rijndael's very low memory requirements make it very well
520      suited for restricted-space environments, in which it also
521      demonstrates excellent performance. Rijndael's operations are
522      among the easiest to defend against power and timing attacks.
523
524      The AES specifies three key sizes: 128, 192 and 256 bits
525
526      See <http://csrc.nist.gov/encryption/aes/> for more information.
527
528config CRYPTO_AES_NI_INTEL
529    tristate "AES cipher algorithms (AES-NI)"
530    depends on (X86 || UML_X86) && 64BIT
531    select CRYPTO_AES_X86_64
532    select CRYPTO_CRYPTD
533    select CRYPTO_ALGAPI
534    select CRYPTO_FPU
535    help
536      Use Intel AES-NI instructions for AES algorithm.
537
538      AES cipher algorithms (FIPS-197). AES uses the Rijndael
539      algorithm.
540
541      Rijndael appears to be consistently a very good performer in
542      both hardware and software across a wide range of computing
543      environments regardless of its use in feedback or non-feedback
544      modes. Its key setup time is excellent, and its key agility is
545      good. Rijndael's very low memory requirements make it very well
546      suited for restricted-space environments, in which it also
547      demonstrates excellent performance. Rijndael's operations are
548      among the easiest to defend against power and timing attacks.
549
550      The AES specifies three key sizes: 128, 192 and 256 bits
551
552      See <http://csrc.nist.gov/encryption/aes/> for more information.
553
554      In addition to AES cipher algorithm support, the
555      acceleration for some popular block cipher mode is supported
556      too, including ECB, CBC, CTR, LRW, PCBC, XTS.
557
558config CRYPTO_ANUBIS
559    tristate "Anubis cipher algorithm"
560    select CRYPTO_ALGAPI
561    help
562      Anubis cipher algorithm.
563
564      Anubis is a variable key length cipher which can use keys from
565      128 bits to 320 bits in length. It was evaluated as a entrant
566      in the NESSIE competition.
567
568      See also:
569      <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
570      <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
571
572config CRYPTO_ARC4
573    tristate "ARC4 cipher algorithm"
574    select CRYPTO_ALGAPI
575    help
576      ARC4 cipher algorithm.
577
578      ARC4 is a stream cipher using keys ranging from 8 bits to 2048
579      bits in length. This algorithm is required for driver-based
580      WEP, but it should not be for other purposes because of the
581      weakness of the algorithm.
582
583config CRYPTO_BLOWFISH
584    tristate "Blowfish cipher algorithm"
585    select CRYPTO_ALGAPI
586    help
587      Blowfish cipher algorithm, by Bruce Schneier.
588
589      This is a variable key length cipher which can use keys from 32
590      bits to 448 bits in length. It's fast, simple and specifically
591      designed for use on "large microprocessors".
592
593      See also:
594      <http://www.schneier.com/blowfish.html>
595
596config CRYPTO_CAMELLIA
597    tristate "Camellia cipher algorithms"
598    depends on CRYPTO
599    select CRYPTO_ALGAPI
600    help
601      Camellia cipher algorithms module.
602
603      Camellia is a symmetric key block cipher developed jointly
604      at NTT and Mitsubishi Electric Corporation.
605
606      The Camellia specifies three key sizes: 128, 192 and 256 bits.
607
608      See also:
609      <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
610
611config CRYPTO_CAST5
612    tristate "CAST5 (CAST-128) cipher algorithm"
613    select CRYPTO_ALGAPI
614    help
615      The CAST5 encryption algorithm (synonymous with CAST-128) is
616      described in RFC2144.
617
618config CRYPTO_CAST6
619    tristate "CAST6 (CAST-256) cipher algorithm"
620    select CRYPTO_ALGAPI
621    help
622      The CAST6 encryption algorithm (synonymous with CAST-256) is
623      described in RFC2612.
624
625config CRYPTO_DES
626    tristate "DES and Triple DES EDE cipher algorithms"
627    select CRYPTO_ALGAPI
628    help
629      DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
630
631config CRYPTO_FCRYPT
632    tristate "FCrypt cipher algorithm"
633    select CRYPTO_ALGAPI
634    select CRYPTO_BLKCIPHER
635    help
636      FCrypt algorithm used by RxRPC.
637
638config CRYPTO_KHAZAD
639    tristate "Khazad cipher algorithm"
640    select CRYPTO_ALGAPI
641    help
642      Khazad cipher algorithm.
643
644      Khazad was a finalist in the initial NESSIE competition. It is
645      an algorithm optimized for 64-bit processors with good performance
646      on 32-bit processors. Khazad uses an 128 bit key size.
647
648      See also:
649      <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
650
651config CRYPTO_SALSA20
652    tristate "Salsa20 stream cipher algorithm (EXPERIMENTAL)"
653    depends on EXPERIMENTAL
654    select CRYPTO_BLKCIPHER
655    help
656      Salsa20 stream cipher algorithm.
657
658      Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
659      Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
660
661      The Salsa20 stream cipher algorithm is designed by Daniel J.
662      Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
663
664config CRYPTO_SALSA20_586
665    tristate "Salsa20 stream cipher algorithm (i586) (EXPERIMENTAL)"
666    depends on (X86 || UML_X86) && !64BIT
667    depends on EXPERIMENTAL
668    select CRYPTO_BLKCIPHER
669    help
670      Salsa20 stream cipher algorithm.
671
672      Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
673      Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
674
675      The Salsa20 stream cipher algorithm is designed by Daniel J.
676      Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
677
678config CRYPTO_SALSA20_X86_64
679    tristate "Salsa20 stream cipher algorithm (x86_64) (EXPERIMENTAL)"
680    depends on (X86 || UML_X86) && 64BIT
681    depends on EXPERIMENTAL
682    select CRYPTO_BLKCIPHER
683    help
684      Salsa20 stream cipher algorithm.
685
686      Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
687      Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
688
689      The Salsa20 stream cipher algorithm is designed by Daniel J.
690      Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
691
692config CRYPTO_SEED
693    tristate "SEED cipher algorithm"
694    select CRYPTO_ALGAPI
695    help
696      SEED cipher algorithm (RFC4269).
697
698      SEED is a 128-bit symmetric key block cipher that has been
699      developed by KISA (Korea Information Security Agency) as a
700      national standard encryption algorithm of the Republic of Korea.
701      It is a 16 round block cipher with the key size of 128 bit.
702
703      See also:
704      <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp>
705
706config CRYPTO_SERPENT
707    tristate "Serpent cipher algorithm"
708    select CRYPTO_ALGAPI
709    help
710      Serpent cipher algorithm, by Anderson, Biham & Knudsen.
711
712      Keys are allowed to be from 0 to 256 bits in length, in steps
713      of 8 bits. Also includes the 'Tnepres' algorithm, a reversed
714      variant of Serpent for compatibility with old kerneli.org code.
715
716      See also:
717      <http://www.cl.cam.ac.uk/~rja14/serpent.html>
718
719config CRYPTO_TEA
720    tristate "TEA, XTEA and XETA cipher algorithms"
721    select CRYPTO_ALGAPI
722    help
723      TEA cipher algorithm.
724
725      Tiny Encryption Algorithm is a simple cipher that uses
726      many rounds for security. It is very fast and uses
727      little memory.
728
729      Xtendend Tiny Encryption Algorithm is a modification to
730      the TEA algorithm to address a potential key weakness
731      in the TEA algorithm.
732
733      Xtendend Encryption Tiny Algorithm is a mis-implementation
734      of the XTEA algorithm for compatibility purposes.
735
736config CRYPTO_TWOFISH
737    tristate "Twofish cipher algorithm"
738    select CRYPTO_ALGAPI
739    select CRYPTO_TWOFISH_COMMON
740    help
741      Twofish cipher algorithm.
742
743      Twofish was submitted as an AES (Advanced Encryption Standard)
744      candidate cipher by researchers at CounterPane Systems. It is a
745      16 round block cipher supporting key sizes of 128, 192, and 256
746      bits.
747
748      See also:
749      <http://www.schneier.com/twofish.html>
750
751config CRYPTO_TWOFISH_COMMON
752    tristate
753    help
754      Common parts of the Twofish cipher algorithm shared by the
755      generic c and the assembler implementations.
756
757config CRYPTO_TWOFISH_586
758    tristate "Twofish cipher algorithms (i586)"
759    depends on (X86 || UML_X86) && !64BIT
760    select CRYPTO_ALGAPI
761    select CRYPTO_TWOFISH_COMMON
762    help
763      Twofish cipher algorithm.
764
765      Twofish was submitted as an AES (Advanced Encryption Standard)
766      candidate cipher by researchers at CounterPane Systems. It is a
767      16 round block cipher supporting key sizes of 128, 192, and 256
768      bits.
769
770      See also:
771      <http://www.schneier.com/twofish.html>
772
773config CRYPTO_TWOFISH_X86_64
774    tristate "Twofish cipher algorithm (x86_64)"
775    depends on (X86 || UML_X86) && 64BIT
776    select CRYPTO_ALGAPI
777    select CRYPTO_TWOFISH_COMMON
778    help
779      Twofish cipher algorithm (x86_64).
780
781      Twofish was submitted as an AES (Advanced Encryption Standard)
782      candidate cipher by researchers at CounterPane Systems. It is a
783      16 round block cipher supporting key sizes of 128, 192, and 256
784      bits.
785
786      See also:
787      <http://www.schneier.com/twofish.html>
788
789comment "Compression"
790
791config CRYPTO_DEFLATE
792    tristate "Deflate compression algorithm"
793    select CRYPTO_ALGAPI
794    select ZLIB_INFLATE
795    select ZLIB_DEFLATE
796    help
797      This is the Deflate algorithm (RFC1951), specified for use in
798      IPSec with the IPCOMP protocol (RFC3173, RFC2394).
799
800      You will most probably want this if using IPSec.
801
802config CRYPTO_ZLIB
803    tristate "Zlib compression algorithm"
804    select CRYPTO_PCOMP
805    select ZLIB_INFLATE
806    select ZLIB_DEFLATE
807    select NLATTR
808    help
809      This is the zlib algorithm.
810
811config CRYPTO_LZO
812    tristate "LZO compression algorithm"
813    select CRYPTO_ALGAPI
814    select LZO_COMPRESS
815    select LZO_DECOMPRESS
816    help
817      This is the LZO algorithm.
818
819comment "Random Number Generation"
820
821config CRYPTO_ANSI_CPRNG
822    tristate "Pseudo Random Number Generation for Cryptographic modules"
823    default m
824    select CRYPTO_AES
825    select CRYPTO_RNG
826    help
827      This option enables the generic pseudo random number generator
828      for cryptographic modules. Uses the Algorithm specified in
829      ANSI X9.31 A.2.4. Note that this option must be enabled if
830      CRYPTO_FIPS is selected
831
832source "drivers/crypto/Kconfig"
833
834endif # if CRYPTO
835

Archive Download this file



interactive