xref: /linux/crypto/Kconfig (revision 8fa5723aa7e053d498336b48448b292fc2e0458b)
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	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
32config CRYPTO_ALGAPI
33	tristate
34	help
35	  This option provides the API for cryptographic algorithms.
36
37config CRYPTO_AEAD
38	tristate
39	select CRYPTO_ALGAPI
40
41config CRYPTO_BLKCIPHER
42	tristate
43	select CRYPTO_ALGAPI
44	select CRYPTO_RNG
45
46config CRYPTO_HASH
47	tristate
48	select CRYPTO_ALGAPI
49
50config CRYPTO_RNG
51	tristate
52	select CRYPTO_ALGAPI
53
54config 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
63config 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
73config 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
80config 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
90config 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
100config CRYPTO_TEST
101	tristate "Testing module"
102	depends on m
103	select CRYPTO_MANAGER
104	help
105	  Quick & dirty crypto test module.
106
107comment "Authenticated Encryption with Associated Data"
108
109config 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
116config 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
125config 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
134comment "Block modes"
135
136config 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
144config 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
153config 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
164config 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
173config 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
186config 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
194config 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
205comment "Hash modes"
206
207config 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
215config 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
226comment "Digest"
227
228config 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
238config 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
250config CRYPTO_MD4
251	tristate "MD4 digest algorithm"
252	select CRYPTO_ALGAPI
253	help
254	  MD4 message digest algorithm (RFC1320).
255
256config CRYPTO_MD5
257	tristate "MD5 digest algorithm"
258	select CRYPTO_ALGAPI
259	help
260	  MD5 message digest algorithm (RFC1321).
261
262config 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
271config 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
284config 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
301config 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
313config 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
325config 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
331config 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
343config 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
355config 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
368config 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
380comment "Ciphers"
381
382config 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
402config 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
424config 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
446config 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
460config 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
471config 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
484config 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
499config 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
506config 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
513config 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
519config CRYPTO_FCRYPT
520	tristate "FCrypt cipher algorithm"
521	select CRYPTO_ALGAPI
522	select CRYPTO_BLKCIPHER
523	help
524	  FCrypt algorithm used by RxRPC.
525
526config 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
539config 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
552config 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
566config 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
580config 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
594config 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
607config 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
624config 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
639config 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
645config 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
661config 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
677comment "Compression"
678
679config 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
690config 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
698comment "Random Number Generation"
699
700config 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
710source "drivers/crypto/Kconfig"
711
712endif	# if CRYPTO
713