blob: 0d89f77428e5f062f2c51838e226852c6f062838 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
Dan Williams685784a2007-07-09 11:56:42 -07002# Generic algorithms support
3#
4config XOR_BLOCKS
5 tristate
6
7#
Dan Williams9bc89cd2007-01-02 11:10:44 -07008# async_tx api: hardware offloaded memory transfer/transform support
9#
10source "crypto/async_tx/Kconfig"
11
12#
Linus Torvalds1da177e2005-04-16 15:20:36 -070013# Cryptographic API Configuration
14#
Jan Engelhardt2e290f42007-05-18 15:11:01 +100015menuconfig CRYPTO
Linus Torvalds1da177e2005-04-16 15:20:36 -070016 bool "Cryptographic API"
17 help
18 This option provides the core Cryptographic API.
19
Herbert Xucce9e062006-08-21 21:08:13 +100020if CRYPTO
21
22config CRYPTO_ALGAPI
23 tristate
24 help
25 This option provides the API for cryptographic algorithms.
26
Herbert Xu1ae97822007-08-30 15:36:14 +080027config CRYPTO_AEAD
28 tristate
29 select CRYPTO_ALGAPI
30
Herbert Xu5cde0af2006-08-22 00:07:53 +100031config CRYPTO_BLKCIPHER
32 tristate
33 select CRYPTO_ALGAPI
34
Herbert Xu0a270322007-11-30 21:38:37 +110035config CRYPTO_SEQIV
36 tristate "Sequence Number IV Generator"
37 select CRYPTO_BLKCIPHER
38 help
39 This IV generator generates an IV based on a sequence number by
40 xoring it with a salt. This algorithm is mainly useful for CTR
41 and similar modes.
42
Herbert Xu055bcee2006-08-19 22:24:23 +100043config CRYPTO_HASH
44 tristate
45 select CRYPTO_ALGAPI
46
Herbert Xu2b8c19d2006-09-21 11:31:44 +100047config CRYPTO_MANAGER
48 tristate "Cryptographic algorithm manager"
49 select CRYPTO_ALGAPI
Herbert Xu2b8c19d2006-09-21 11:31:44 +100050 help
51 Create default cryptographic template instantiations such as
52 cbc(aes).
53
Linus Torvalds1da177e2005-04-16 15:20:36 -070054config CRYPTO_HMAC
Herbert Xu84251652006-08-20 15:25:22 +100055 tristate "HMAC support"
Herbert Xu0796ae02006-08-21 20:50:52 +100056 select CRYPTO_HASH
Herbert Xu43518402006-10-16 21:28:58 +100057 select CRYPTO_MANAGER
Linus Torvalds1da177e2005-04-16 15:20:36 -070058 help
59 HMAC: Keyed-Hashing for Message Authentication (RFC2104).
60 This is required for IPSec.
61
Kazunori MIYAZAWA333b0d72006-10-28 13:15:24 +100062config CRYPTO_XCBC
63 tristate "XCBC support"
64 depends on EXPERIMENTAL
65 select CRYPTO_HASH
66 select CRYPTO_MANAGER
67 help
68 XCBC: Keyed-Hashing with encryption algorithm
69 http://www.ietf.org/rfc/rfc3566.txt
70 http://csrc.nist.gov/encryption/modes/proposedmodes/
71 xcbc-mac/xcbc-mac-spec.pdf
72
Linus Torvalds1da177e2005-04-16 15:20:36 -070073config CRYPTO_NULL
74 tristate "Null algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +100075 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -070076 help
77 These are 'Null' algorithms, used by IPsec, which do nothing.
78
79config CRYPTO_MD4
80 tristate "MD4 digest algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +100081 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -070082 help
83 MD4 message digest algorithm (RFC1320).
84
85config CRYPTO_MD5
86 tristate "MD5 digest algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +100087 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -070088 help
89 MD5 message digest algorithm (RFC1321).
90
91config CRYPTO_SHA1
92 tristate "SHA1 digest algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +100093 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -070094 help
95 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
96
Linus Torvalds1da177e2005-04-16 15:20:36 -070097config CRYPTO_SHA256
Jonathan Lynchcd12fb902007-11-10 20:08:25 +080098 tristate "SHA224 and SHA256 digest algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +100099 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700100 help
101 SHA256 secure hash standard (DFIPS 180-2).
102
103 This version of SHA implements a 256 bit hash with 128 bits of
104 security against collision attacks.
105
Jonathan Lynchcd12fb902007-11-10 20:08:25 +0800106 This code also includes SHA-224, a 224 bit hash with 112 bits
107 of security against collision attacks.
108
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109config CRYPTO_SHA512
110 tristate "SHA384 and SHA512 digest algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000111 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700112 help
113 SHA512 secure hash standard (DFIPS 180-2).
114
115 This version of SHA implements a 512 bit hash with 256 bits of
116 security against collision attacks.
117
118 This code also includes SHA-384, a 384 bit hash with 192 bits
119 of security against collision attacks.
120
121config CRYPTO_WP512
122 tristate "Whirlpool digest algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000123 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124 help
125 Whirlpool hash algorithm 512, 384 and 256-bit hashes
126
127 Whirlpool-512 is part of the NESSIE cryptographic primitives.
128 Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
129
130 See also:
131 <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
132
133config CRYPTO_TGR192
134 tristate "Tiger digest algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000135 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700136 help
137 Tiger hash algorithm 192, 160 and 128-bit hashes
138
139 Tiger is a hash function optimized for 64-bit processors while
140 still having decent performance on 32-bit processors.
141 Tiger was developed by Ross Anderson and Eli Biham.
142
143 See also:
144 <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
145
Rik Snelc494e072006-11-29 18:59:44 +1100146config CRYPTO_GF128MUL
147 tristate "GF(2^128) multiplication functions (EXPERIMENTAL)"
148 depends on EXPERIMENTAL
149 help
150 Efficient table driven implementation of multiplications in the
151 field GF(2^128). This is needed by some cypher modes. This
152 option will be selected automatically if you select such a
153 cipher mode. Only select this option by hand if you expect to load
154 an external module that requires these functions.
155
Herbert Xudb131ef2006-09-21 11:44:08 +1000156config CRYPTO_ECB
157 tristate "ECB support"
158 select CRYPTO_BLKCIPHER
Herbert Xu43518402006-10-16 21:28:58 +1000159 select CRYPTO_MANAGER
Herbert Xudb131ef2006-09-21 11:44:08 +1000160 help
161 ECB: Electronic CodeBook mode
162 This is the simplest block cipher algorithm. It simply encrypts
163 the input block by block.
164
165config CRYPTO_CBC
166 tristate "CBC support"
167 select CRYPTO_BLKCIPHER
Herbert Xu43518402006-10-16 21:28:58 +1000168 select CRYPTO_MANAGER
Herbert Xudb131ef2006-09-21 11:44:08 +1000169 help
170 CBC: Cipher Block Chaining mode
171 This block cipher algorithm is required for IPSec.
172
David Howells91652be2006-12-16 12:09:02 +1100173config CRYPTO_PCBC
174 tristate "PCBC support"
175 select CRYPTO_BLKCIPHER
176 select CRYPTO_MANAGER
David Howells91652be2006-12-16 12:09:02 +1100177 help
178 PCBC: Propagating Cipher Block Chaining mode
179 This block cipher algorithm is required for RxRPC.
180
Rik Snel64470f12006-11-26 09:43:10 +1100181config CRYPTO_LRW
182 tristate "LRW support (EXPERIMENTAL)"
183 depends on EXPERIMENTAL
184 select CRYPTO_BLKCIPHER
185 select CRYPTO_MANAGER
186 select CRYPTO_GF128MUL
187 help
188 LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable
189 narrow block cipher mode for dm-crypt. Use it with cipher
190 specification string aes-lrw-benbi, the key must be 256, 320 or 384.
191 The first 128, 192 or 256 bits in the key are used for AES and the
192 rest is used to tie each cipher block to its logical position.
193
Rik Snelf19f5112007-09-19 20:23:13 +0800194config 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
Joy Latten23e353c2007-10-23 08:50:32 +0800205config CRYPTO_CTR
206 tristate "CTR support"
207 select CRYPTO_BLKCIPHER
Herbert Xu0a270322007-11-30 21:38:37 +1100208 select CRYPTO_SEQIV
Joy Latten23e353c2007-10-23 08:50:32 +0800209 select CRYPTO_MANAGER
Joy Latten23e353c2007-10-23 08:50:32 +0800210 help
211 CTR: Counter mode
212 This block cipher algorithm is required for IPSec.
213
Mikko Herranen28db8e32007-11-26 22:24:11 +0800214config CRYPTO_GCM
215 tristate "GCM/GMAC support"
216 select CRYPTO_CTR
217 select CRYPTO_AEAD
218 select CRYPTO_GF128MUL
219 help
220 Support for Galois/Counter Mode (GCM) and Galois Message
221 Authentication Code (GMAC). Required for IPSec.
222
Joy Latten4a49b492007-12-12 20:25:13 +0800223config CRYPTO_CCM
224 tristate "CCM support"
225 select CRYPTO_CTR
226 select CRYPTO_AEAD
227 help
228 Support for Counter with CBC MAC. Required for IPsec.
229
Herbert Xu124b53d2007-04-16 20:49:20 +1000230config CRYPTO_CRYPTD
231 tristate "Software async crypto daemon"
Herbert Xu653ebd9c2007-11-27 19:48:27 +0800232 select CRYPTO_BLKCIPHER
Herbert Xu124b53d2007-04-16 20:49:20 +1000233 select CRYPTO_MANAGER
234 help
235 This is a generic software asynchronous crypto daemon that
236 converts an arbitrary synchronous software crypto algorithm
237 into an asynchronous algorithm that executes in a kernel thread.
238
Linus Torvalds1da177e2005-04-16 15:20:36 -0700239config CRYPTO_DES
240 tristate "DES and Triple DES EDE cipher algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000241 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700242 help
243 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
244
David Howells90831632006-12-16 12:13:14 +1100245config CRYPTO_FCRYPT
246 tristate "FCrypt cipher algorithm"
247 select CRYPTO_ALGAPI
248 select CRYPTO_BLKCIPHER
249 help
250 FCrypt algorithm used by RxRPC.
251
Linus Torvalds1da177e2005-04-16 15:20:36 -0700252config CRYPTO_BLOWFISH
253 tristate "Blowfish cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000254 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700255 help
256 Blowfish cipher algorithm, by Bruce Schneier.
257
258 This is a variable key length cipher which can use keys from 32
259 bits to 448 bits in length. It's fast, simple and specifically
260 designed for use on "large microprocessors".
261
262 See also:
263 <http://www.schneier.com/blowfish.html>
264
265config CRYPTO_TWOFISH
266 tristate "Twofish cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000267 select CRYPTO_ALGAPI
Joachim Fritschi2729bb42006-06-20 20:37:23 +1000268 select CRYPTO_TWOFISH_COMMON
Linus Torvalds1da177e2005-04-16 15:20:36 -0700269 help
270 Twofish cipher algorithm.
271
272 Twofish was submitted as an AES (Advanced Encryption Standard)
273 candidate cipher by researchers at CounterPane Systems. It is a
274 16 round block cipher supporting key sizes of 128, 192, and 256
275 bits.
276
277 See also:
278 <http://www.schneier.com/twofish.html>
279
Joachim Fritschi2729bb42006-06-20 20:37:23 +1000280config CRYPTO_TWOFISH_COMMON
281 tristate
Joachim Fritschi2729bb42006-06-20 20:37:23 +1000282 help
283 Common parts of the Twofish cipher algorithm shared by the
284 generic c and the assembler implementations.
285
Joachim Fritschib9f535f2006-06-20 20:59:16 +1000286config CRYPTO_TWOFISH_586
287 tristate "Twofish cipher algorithms (i586)"
Herbert Xucce9e062006-08-21 21:08:13 +1000288 depends on (X86 || UML_X86) && !64BIT
289 select CRYPTO_ALGAPI
Joachim Fritschib9f535f2006-06-20 20:59:16 +1000290 select CRYPTO_TWOFISH_COMMON
291 help
292 Twofish cipher algorithm.
293
294 Twofish was submitted as an AES (Advanced Encryption Standard)
295 candidate cipher by researchers at CounterPane Systems. It is a
296 16 round block cipher supporting key sizes of 128, 192, and 256
297 bits.
298
299 See also:
300 <http://www.schneier.com/twofish.html>
301
Joachim Fritschieaf44082006-06-20 21:12:02 +1000302config CRYPTO_TWOFISH_X86_64
303 tristate "Twofish cipher algorithm (x86_64)"
Herbert Xucce9e062006-08-21 21:08:13 +1000304 depends on (X86 || UML_X86) && 64BIT
305 select CRYPTO_ALGAPI
Joachim Fritschieaf44082006-06-20 21:12:02 +1000306 select CRYPTO_TWOFISH_COMMON
307 help
308 Twofish cipher algorithm (x86_64).
309
310 Twofish was submitted as an AES (Advanced Encryption Standard)
311 candidate cipher by researchers at CounterPane Systems. It is a
312 16 round block cipher supporting key sizes of 128, 192, and 256
313 bits.
314
315 See also:
316 <http://www.schneier.com/twofish.html>
317
Linus Torvalds1da177e2005-04-16 15:20:36 -0700318config CRYPTO_SERPENT
319 tristate "Serpent cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000320 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700321 help
322 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
323
324 Keys are allowed to be from 0 to 256 bits in length, in steps
325 of 8 bits. Also includes the 'Tnepres' algorithm, a reversed
David Sterba3dde6ad2007-05-09 07:12:20 +0200326 variant of Serpent for compatibility with old kerneli.org code.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700327
328 See also:
329 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
330
331config CRYPTO_AES
332 tristate "AES cipher algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000333 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700334 help
335 AES cipher algorithms (FIPS-197). AES uses the Rijndael
336 algorithm.
337
338 Rijndael appears to be consistently a very good performer in
339 both hardware and software across a wide range of computing
340 environments regardless of its use in feedback or non-feedback
341 modes. Its key setup time is excellent, and its key agility is
342 good. Rijndael's very low memory requirements make it very well
343 suited for restricted-space environments, in which it also
344 demonstrates excellent performance. Rijndael's operations are
345 among the easiest to defend against power and timing attacks.
346
347 The AES specifies three key sizes: 128, 192 and 256 bits
348
349 See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
350
351config CRYPTO_AES_586
352 tristate "AES cipher algorithms (i586)"
Herbert Xucce9e062006-08-21 21:08:13 +1000353 depends on (X86 || UML_X86) && !64BIT
354 select CRYPTO_ALGAPI
Sebastian Siewior5157dea2007-11-10 19:07:16 +0800355 select CRYPTO_AES
Linus Torvalds1da177e2005-04-16 15:20:36 -0700356 help
357 AES cipher algorithms (FIPS-197). AES uses the Rijndael
358 algorithm.
359
360 Rijndael appears to be consistently a very good performer in
361 both hardware and software across a wide range of computing
362 environments regardless of its use in feedback or non-feedback
363 modes. Its key setup time is excellent, and its key agility is
364 good. Rijndael's very low memory requirements make it very well
365 suited for restricted-space environments, in which it also
366 demonstrates excellent performance. Rijndael's operations are
367 among the easiest to defend against power and timing attacks.
368
369 The AES specifies three key sizes: 128, 192 and 256 bits
370
371 See <http://csrc.nist.gov/encryption/aes/> for more information.
372
Andreas Steinmetza2a892a2005-07-06 13:55:00 -0700373config CRYPTO_AES_X86_64
374 tristate "AES cipher algorithms (x86_64)"
Herbert Xucce9e062006-08-21 21:08:13 +1000375 depends on (X86 || UML_X86) && 64BIT
376 select CRYPTO_ALGAPI
Sebastian Siewior81190b32007-11-08 21:25:04 +0800377 select CRYPTO_AES
Andreas Steinmetza2a892a2005-07-06 13:55:00 -0700378 help
379 AES cipher algorithms (FIPS-197). AES uses the Rijndael
380 algorithm.
381
382 Rijndael appears to be consistently a very good performer in
383 both hardware and software across a wide range of computing
384 environments regardless of its use in feedback or non-feedback
385 modes. Its key setup time is excellent, and its key agility is
386 good. Rijndael's very low memory requirements make it very well
387 suited for restricted-space environments, in which it also
388 demonstrates excellent performance. Rijndael's operations are
389 among the easiest to defend against power and timing attacks.
390
391 The AES specifies three key sizes: 128, 192 and 256 bits
392
393 See <http://csrc.nist.gov/encryption/aes/> for more information.
394
Linus Torvalds1da177e2005-04-16 15:20:36 -0700395config CRYPTO_CAST5
396 tristate "CAST5 (CAST-128) cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000397 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700398 help
399 The CAST5 encryption algorithm (synonymous with CAST-128) is
400 described in RFC2144.
401
402config CRYPTO_CAST6
403 tristate "CAST6 (CAST-256) cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000404 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700405 help
406 The CAST6 encryption algorithm (synonymous with CAST-256) is
407 described in RFC2612.
408
409config CRYPTO_TEA
Aaron Grothefb4f10e2005-09-01 17:42:46 -0700410 tristate "TEA, XTEA and XETA cipher algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000411 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700412 help
413 TEA cipher algorithm.
414
415 Tiny Encryption Algorithm is a simple cipher that uses
416 many rounds for security. It is very fast and uses
417 little memory.
418
419 Xtendend Tiny Encryption Algorithm is a modification to
420 the TEA algorithm to address a potential key weakness
421 in the TEA algorithm.
422
Aaron Grothefb4f10e2005-09-01 17:42:46 -0700423 Xtendend Encryption Tiny Algorithm is a mis-implementation
424 of the XTEA algorithm for compatibility purposes.
425
Linus Torvalds1da177e2005-04-16 15:20:36 -0700426config CRYPTO_ARC4
427 tristate "ARC4 cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000428 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700429 help
430 ARC4 cipher algorithm.
431
432 ARC4 is a stream cipher using keys ranging from 8 bits to 2048
433 bits in length. This algorithm is required for driver-based
434 WEP, but it should not be for other purposes because of the
435 weakness of the algorithm.
436
437config CRYPTO_KHAZAD
438 tristate "Khazad cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000439 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700440 help
441 Khazad cipher algorithm.
442
443 Khazad was a finalist in the initial NESSIE competition. It is
444 an algorithm optimized for 64-bit processors with good performance
445 on 32-bit processors. Khazad uses an 128 bit key size.
446
447 See also:
448 <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
449
450config CRYPTO_ANUBIS
451 tristate "Anubis cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000452 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700453 help
454 Anubis cipher algorithm.
455
456 Anubis is a variable key length cipher which can use keys from
457 128 bits to 320 bits in length. It was evaluated as a entrant
458 in the NESSIE competition.
459
460 See also:
461 <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
462 <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
463
Hye-Shik Change2ee95b2007-08-21 20:01:03 +0800464config CRYPTO_SEED
465 tristate "SEED cipher algorithm"
466 select CRYPTO_ALGAPI
467 help
468 SEED cipher algorithm (RFC4269).
469
470 SEED is a 128-bit symmetric key block cipher that has been
471 developed by KISA (Korea Information Security Agency) as a
472 national standard encryption algorithm of the Republic of Korea.
473 It is a 16 round block cipher with the key size of 128 bit.
474
475 See also:
476 <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp>
477
Tan Swee Heng2407d602007-11-23 19:45:00 +0800478config CRYPTO_SALSA20
479 tristate "Salsa20 stream cipher algorithm (EXPERIMENTAL)"
480 depends on EXPERIMENTAL
481 select CRYPTO_BLKCIPHER
482 help
483 Salsa20 stream cipher algorithm.
484
485 Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
486 Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
487
488 The Salsa20 stream cipher algorithm is designed by Daniel J.
489 Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700490
491config CRYPTO_DEFLATE
492 tristate "Deflate compression algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000493 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700494 select ZLIB_INFLATE
495 select ZLIB_DEFLATE
496 help
497 This is the Deflate algorithm (RFC1951), specified for use in
498 IPSec with the IPCOMP protocol (RFC3173, RFC2394).
499
500 You will most probably want this if using IPSec.
501
502config CRYPTO_MICHAEL_MIC
503 tristate "Michael MIC keyed digest algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000504 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700505 help
506 Michael MIC is used for message integrity protection in TKIP
507 (IEEE 802.11i). This algorithm is required for TKIP, but it
508 should not be used for other purposes because of the weakness
509 of the algorithm.
510
511config CRYPTO_CRC32C
512 tristate "CRC32c CRC algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000513 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700514 select LIBCRC32C
515 help
516 Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used
517 by iSCSI for header and data digests and by others.
518 See Castagnoli93. This implementation uses lib/libcrc32c.
519 Module will be crc32c.
520
Noriaki TAKAMIYA04ac7db2006-10-22 14:49:17 +1000521config CRYPTO_CAMELLIA
522 tristate "Camellia cipher algorithms"
523 depends on CRYPTO
524 select CRYPTO_ALGAPI
525 help
526 Camellia cipher algorithms module.
527
528 Camellia is a symmetric key block cipher developed jointly
529 at NTT and Mitsubishi Electric Corporation.
530
531 The Camellia specifies three key sizes: 128, 192 and 256 bits.
532
533 See also:
534 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
535
Linus Torvalds1da177e2005-04-16 15:20:36 -0700536config CRYPTO_TEST
537 tristate "Testing module"
Herbert Xucce9e062006-08-21 21:08:13 +1000538 depends on m
539 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700540 help
541 Quick & dirty crypto test module.
542
Herbert Xu3c09f172007-08-30 16:24:15 +0800543config CRYPTO_AUTHENC
544 tristate "Authenc support"
545 select CRYPTO_AEAD
546 select CRYPTO_MANAGER
Borislav Petkov5e553112007-12-14 16:43:32 +0800547 select CRYPTO_HASH
Herbert Xu3c09f172007-08-30 16:24:15 +0800548 help
549 Authenc: Combined mode wrapper for IPsec.
550 This is required for IPSec.
551
Zoltan Sogor0b77abb2007-12-07 16:53:23 +0800552config CRYPTO_LZO
553 tristate "LZO compression algorithm"
554 select CRYPTO_ALGAPI
555 select LZO_COMPRESS
556 select LZO_DECOMPRESS
557 help
558 This is the LZO algorithm.
559
Linus Torvalds1da177e2005-04-16 15:20:36 -0700560source "drivers/crypto/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700561
Herbert Xucce9e062006-08-21 21:08:13 +1000562endif # if CRYPTO