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