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