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