blob: e14ff12750183c611b8079d0d89b0aaa9d6576e7 [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"
Herbert Xu47262042007-12-14 10:19:27 +080037 select CRYPTO_AEAD
Herbert Xu0a270322007-11-30 21:38:37 +110038 select CRYPTO_BLKCIPHER
39 help
40 This IV generator generates an IV based on a sequence number by
41 xoring it with a salt. This algorithm is mainly useful for CTR
42 and similar modes.
43
Herbert Xu055bcee2006-08-19 22:24:23 +100044config CRYPTO_HASH
45 tristate
46 select CRYPTO_ALGAPI
47
Herbert Xu2b8c19d2006-09-21 11:31:44 +100048config CRYPTO_MANAGER
49 tristate "Cryptographic algorithm manager"
50 select CRYPTO_ALGAPI
Herbert Xu2b8c19d2006-09-21 11:31:44 +100051 help
52 Create default cryptographic template instantiations such as
53 cbc(aes).
54
Linus Torvalds1da177e2005-04-16 15:20:36 -070055config CRYPTO_HMAC
Herbert Xu84251652006-08-20 15:25:22 +100056 tristate "HMAC support"
Herbert Xu0796ae02006-08-21 20:50:52 +100057 select CRYPTO_HASH
Herbert Xu43518402006-10-16 21:28:58 +100058 select CRYPTO_MANAGER
Linus Torvalds1da177e2005-04-16 15:20:36 -070059 help
60 HMAC: Keyed-Hashing for Message Authentication (RFC2104).
61 This is required for IPSec.
62
Kazunori MIYAZAWA333b0d72006-10-28 13:15:24 +100063config CRYPTO_XCBC
64 tristate "XCBC support"
65 depends on EXPERIMENTAL
66 select CRYPTO_HASH
67 select CRYPTO_MANAGER
68 help
69 XCBC: Keyed-Hashing with encryption algorithm
70 http://www.ietf.org/rfc/rfc3566.txt
71 http://csrc.nist.gov/encryption/modes/proposedmodes/
72 xcbc-mac/xcbc-mac-spec.pdf
73
Linus Torvalds1da177e2005-04-16 15:20:36 -070074config CRYPTO_NULL
75 tristate "Null algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +100076 select CRYPTO_ALGAPI
Adrian Bunkc8620c22008-02-18 09:00:05 +080077 select CRYPTO_BLKCIPHER
Linus Torvalds1da177e2005-04-16 15:20:36 -070078 help
79 These are 'Null' algorithms, used by IPsec, which do nothing.
80
81config CRYPTO_MD4
82 tristate "MD4 digest algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +100083 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -070084 help
85 MD4 message digest algorithm (RFC1320).
86
87config CRYPTO_MD5
88 tristate "MD5 digest algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +100089 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -070090 help
91 MD5 message digest algorithm (RFC1321).
92
93config CRYPTO_SHA1
94 tristate "SHA1 digest algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +100095 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -070096 help
97 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
98
Linus Torvalds1da177e2005-04-16 15:20:36 -070099config CRYPTO_SHA256
Jonathan Lynchcd12fb902007-11-10 20:08:25 +0800100 tristate "SHA224 and SHA256 digest algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000101 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102 help
103 SHA256 secure hash standard (DFIPS 180-2).
104
105 This version of SHA implements a 256 bit hash with 128 bits of
106 security against collision attacks.
107
Jonathan Lynchcd12fb902007-11-10 20:08:25 +0800108 This code also includes SHA-224, a 224 bit hash with 112 bits
109 of security against collision attacks.
110
Linus Torvalds1da177e2005-04-16 15:20:36 -0700111config CRYPTO_SHA512
112 tristate "SHA384 and SHA512 digest algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000113 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114 help
115 SHA512 secure hash standard (DFIPS 180-2).
116
117 This version of SHA implements a 512 bit hash with 256 bits of
118 security against collision attacks.
119
120 This code also includes SHA-384, a 384 bit hash with 192 bits
121 of security against collision attacks.
122
123config CRYPTO_WP512
124 tristate "Whirlpool digest algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000125 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700126 help
127 Whirlpool hash algorithm 512, 384 and 256-bit hashes
128
129 Whirlpool-512 is part of the NESSIE cryptographic primitives.
130 Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
131
132 See also:
133 <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
134
135config CRYPTO_TGR192
136 tristate "Tiger digest algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000137 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700138 help
139 Tiger hash algorithm 192, 160 and 128-bit hashes
140
141 Tiger is a hash function optimized for 64-bit processors while
142 still having decent performance on 32-bit processors.
143 Tiger was developed by Ross Anderson and Eli Biham.
144
145 See also:
146 <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
147
Rik Snelc494e072006-11-29 18:59:44 +1100148config CRYPTO_GF128MUL
149 tristate "GF(2^128) multiplication functions (EXPERIMENTAL)"
150 depends on EXPERIMENTAL
151 help
152 Efficient table driven implementation of multiplications in the
153 field GF(2^128). This is needed by some cypher modes. This
154 option will be selected automatically if you select such a
155 cipher mode. Only select this option by hand if you expect to load
156 an external module that requires these functions.
157
Herbert Xudb131ef2006-09-21 11:44:08 +1000158config CRYPTO_ECB
159 tristate "ECB support"
160 select CRYPTO_BLKCIPHER
Herbert Xu43518402006-10-16 21:28:58 +1000161 select CRYPTO_MANAGER
Herbert Xudb131ef2006-09-21 11:44:08 +1000162 help
163 ECB: Electronic CodeBook mode
164 This is the simplest block cipher algorithm. It simply encrypts
165 the input block by block.
166
167config CRYPTO_CBC
168 tristate "CBC support"
169 select CRYPTO_BLKCIPHER
Herbert Xu43518402006-10-16 21:28:58 +1000170 select CRYPTO_MANAGER
Herbert Xudb131ef2006-09-21 11:44:08 +1000171 help
172 CBC: Cipher Block Chaining mode
173 This block cipher algorithm is required for IPSec.
174
David Howells91652be2006-12-16 12:09:02 +1100175config CRYPTO_PCBC
176 tristate "PCBC support"
177 select CRYPTO_BLKCIPHER
178 select CRYPTO_MANAGER
David Howells91652be2006-12-16 12:09:02 +1100179 help
180 PCBC: Propagating Cipher Block Chaining mode
181 This block cipher algorithm is required for RxRPC.
182
Rik Snel64470f12006-11-26 09:43:10 +1100183config CRYPTO_LRW
184 tristate "LRW support (EXPERIMENTAL)"
185 depends on EXPERIMENTAL
186 select CRYPTO_BLKCIPHER
187 select CRYPTO_MANAGER
188 select CRYPTO_GF128MUL
189 help
190 LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable
191 narrow block cipher mode for dm-crypt. Use it with cipher
192 specification string aes-lrw-benbi, the key must be 256, 320 or 384.
193 The first 128, 192 or 256 bits in the key are used for AES and the
194 rest is used to tie each cipher block to its logical position.
195
Rik Snelf19f5112007-09-19 20:23:13 +0800196config CRYPTO_XTS
197 tristate "XTS support (EXPERIMENTAL)"
198 depends on EXPERIMENTAL
199 select CRYPTO_BLKCIPHER
200 select CRYPTO_MANAGER
201 select CRYPTO_GF128MUL
202 help
203 XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain,
204 key size 256, 384 or 512 bits. This implementation currently
205 can't handle a sectorsize which is not a multiple of 16 bytes.
206
Joy Latten23e353c2007-10-23 08:50:32 +0800207config CRYPTO_CTR
208 tristate "CTR support"
209 select CRYPTO_BLKCIPHER
Herbert Xu0a270322007-11-30 21:38:37 +1100210 select CRYPTO_SEQIV
Joy Latten23e353c2007-10-23 08:50:32 +0800211 select CRYPTO_MANAGER
Joy Latten23e353c2007-10-23 08:50:32 +0800212 help
213 CTR: Counter mode
214 This block cipher algorithm is required for IPSec.
215
Kevin Coffman76cb9522008-03-24 21:26:16 +0800216config CRYPTO_CTS
217 tristate "CTS support"
218 select CRYPTO_BLKCIPHER
219 help
220 CTS: Cipher Text Stealing
221 This is the Cipher Text Stealing mode as described by
222 Section 8 of rfc2040 and referenced by rfc3962.
223 (rfc3962 includes errata information in its Appendix A)
224 This mode is required for Kerberos gss mechanism support
225 for AES encryption.
226
Mikko Herranen28db8e32007-11-26 22:24:11 +0800227config CRYPTO_GCM
228 tristate "GCM/GMAC support"
229 select CRYPTO_CTR
230 select CRYPTO_AEAD
231 select CRYPTO_GF128MUL
232 help
233 Support for Galois/Counter Mode (GCM) and Galois Message
234 Authentication Code (GMAC). Required for IPSec.
235
Joy Latten4a49b492007-12-12 20:25:13 +0800236config CRYPTO_CCM
237 tristate "CCM support"
238 select CRYPTO_CTR
239 select CRYPTO_AEAD
240 help
241 Support for Counter with CBC MAC. Required for IPsec.
242
Herbert Xu124b53d2007-04-16 20:49:20 +1000243config CRYPTO_CRYPTD
244 tristate "Software async crypto daemon"
Herbert Xu653ebd9c2007-11-27 19:48:27 +0800245 select CRYPTO_BLKCIPHER
Herbert Xu124b53d2007-04-16 20:49:20 +1000246 select CRYPTO_MANAGER
247 help
248 This is a generic software asynchronous crypto daemon that
249 converts an arbitrary synchronous software crypto algorithm
250 into an asynchronous algorithm that executes in a kernel thread.
251
Linus Torvalds1da177e2005-04-16 15:20:36 -0700252config CRYPTO_DES
253 tristate "DES and Triple DES EDE cipher algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000254 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700255 help
256 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
257
David Howells90831632006-12-16 12:13:14 +1100258config CRYPTO_FCRYPT
259 tristate "FCrypt cipher algorithm"
260 select CRYPTO_ALGAPI
261 select CRYPTO_BLKCIPHER
262 help
263 FCrypt algorithm used by RxRPC.
264
Linus Torvalds1da177e2005-04-16 15:20:36 -0700265config CRYPTO_BLOWFISH
266 tristate "Blowfish cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000267 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700268 help
269 Blowfish cipher algorithm, by Bruce Schneier.
270
271 This is a variable key length cipher which can use keys from 32
272 bits to 448 bits in length. It's fast, simple and specifically
273 designed for use on "large microprocessors".
274
275 See also:
276 <http://www.schneier.com/blowfish.html>
277
278config CRYPTO_TWOFISH
279 tristate "Twofish cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000280 select CRYPTO_ALGAPI
Joachim Fritschi2729bb42006-06-20 20:37:23 +1000281 select CRYPTO_TWOFISH_COMMON
Linus Torvalds1da177e2005-04-16 15:20:36 -0700282 help
283 Twofish cipher algorithm.
284
285 Twofish was submitted as an AES (Advanced Encryption Standard)
286 candidate cipher by researchers at CounterPane Systems. It is a
287 16 round block cipher supporting key sizes of 128, 192, and 256
288 bits.
289
290 See also:
291 <http://www.schneier.com/twofish.html>
292
Joachim Fritschi2729bb42006-06-20 20:37:23 +1000293config CRYPTO_TWOFISH_COMMON
294 tristate
Joachim Fritschi2729bb42006-06-20 20:37:23 +1000295 help
296 Common parts of the Twofish cipher algorithm shared by the
297 generic c and the assembler implementations.
298
Joachim Fritschib9f535f2006-06-20 20:59:16 +1000299config CRYPTO_TWOFISH_586
300 tristate "Twofish cipher algorithms (i586)"
Herbert Xucce9e062006-08-21 21:08:13 +1000301 depends on (X86 || UML_X86) && !64BIT
302 select CRYPTO_ALGAPI
Joachim Fritschib9f535f2006-06-20 20:59:16 +1000303 select CRYPTO_TWOFISH_COMMON
304 help
305 Twofish cipher algorithm.
306
307 Twofish was submitted as an AES (Advanced Encryption Standard)
308 candidate cipher by researchers at CounterPane Systems. It is a
309 16 round block cipher supporting key sizes of 128, 192, and 256
310 bits.
311
312 See also:
313 <http://www.schneier.com/twofish.html>
314
Joachim Fritschieaf44082006-06-20 21:12:02 +1000315config CRYPTO_TWOFISH_X86_64
316 tristate "Twofish cipher algorithm (x86_64)"
Herbert Xucce9e062006-08-21 21:08:13 +1000317 depends on (X86 || UML_X86) && 64BIT
318 select CRYPTO_ALGAPI
Joachim Fritschieaf44082006-06-20 21:12:02 +1000319 select CRYPTO_TWOFISH_COMMON
320 help
321 Twofish cipher algorithm (x86_64).
322
323 Twofish was submitted as an AES (Advanced Encryption Standard)
324 candidate cipher by researchers at CounterPane Systems. It is a
325 16 round block cipher supporting key sizes of 128, 192, and 256
326 bits.
327
328 See also:
329 <http://www.schneier.com/twofish.html>
330
Linus Torvalds1da177e2005-04-16 15:20:36 -0700331config CRYPTO_SERPENT
332 tristate "Serpent cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000333 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700334 help
335 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
336
337 Keys are allowed to be from 0 to 256 bits in length, in steps
338 of 8 bits. Also includes the 'Tnepres' algorithm, a reversed
David Sterba3dde6ad2007-05-09 07:12:20 +0200339 variant of Serpent for compatibility with old kerneli.org code.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700340
341 See also:
342 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
343
344config CRYPTO_AES
345 tristate "AES cipher algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000346 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700347 help
348 AES cipher algorithms (FIPS-197). AES uses the Rijndael
349 algorithm.
350
351 Rijndael appears to be consistently a very good performer in
352 both hardware and software across a wide range of computing
353 environments regardless of its use in feedback or non-feedback
354 modes. Its key setup time is excellent, and its key agility is
355 good. Rijndael's very low memory requirements make it very well
356 suited for restricted-space environments, in which it also
357 demonstrates excellent performance. Rijndael's operations are
358 among the easiest to defend against power and timing attacks.
359
360 The AES specifies three key sizes: 128, 192 and 256 bits
361
362 See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
363
364config CRYPTO_AES_586
365 tristate "AES cipher algorithms (i586)"
Herbert Xucce9e062006-08-21 21:08:13 +1000366 depends on (X86 || UML_X86) && !64BIT
367 select CRYPTO_ALGAPI
Sebastian Siewior5157dea2007-11-10 19:07:16 +0800368 select CRYPTO_AES
Linus Torvalds1da177e2005-04-16 15:20:36 -0700369 help
370 AES cipher algorithms (FIPS-197). AES uses the Rijndael
371 algorithm.
372
373 Rijndael appears to be consistently a very good performer in
374 both hardware and software across a wide range of computing
375 environments regardless of its use in feedback or non-feedback
376 modes. Its key setup time is excellent, and its key agility is
377 good. Rijndael's very low memory requirements make it very well
378 suited for restricted-space environments, in which it also
379 demonstrates excellent performance. Rijndael's operations are
380 among the easiest to defend against power and timing attacks.
381
382 The AES specifies three key sizes: 128, 192 and 256 bits
383
384 See <http://csrc.nist.gov/encryption/aes/> for more information.
385
Andreas Steinmetza2a892a2005-07-06 13:55:00 -0700386config CRYPTO_AES_X86_64
387 tristate "AES cipher algorithms (x86_64)"
Herbert Xucce9e062006-08-21 21:08:13 +1000388 depends on (X86 || UML_X86) && 64BIT
389 select CRYPTO_ALGAPI
Sebastian Siewior81190b32007-11-08 21:25:04 +0800390 select CRYPTO_AES
Andreas Steinmetza2a892a2005-07-06 13:55:00 -0700391 help
392 AES cipher algorithms (FIPS-197). AES uses the Rijndael
393 algorithm.
394
395 Rijndael appears to be consistently a very good performer in
396 both hardware and software across a wide range of computing
397 environments regardless of its use in feedback or non-feedback
398 modes. Its key setup time is excellent, and its key agility is
399 good. Rijndael's very low memory requirements make it very well
400 suited for restricted-space environments, in which it also
401 demonstrates excellent performance. Rijndael's operations are
402 among the easiest to defend against power and timing attacks.
403
404 The AES specifies three key sizes: 128, 192 and 256 bits
405
406 See <http://csrc.nist.gov/encryption/aes/> for more information.
407
Linus Torvalds1da177e2005-04-16 15:20:36 -0700408config CRYPTO_CAST5
409 tristate "CAST5 (CAST-128) cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000410 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700411 help
412 The CAST5 encryption algorithm (synonymous with CAST-128) is
413 described in RFC2144.
414
415config CRYPTO_CAST6
416 tristate "CAST6 (CAST-256) cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000417 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700418 help
419 The CAST6 encryption algorithm (synonymous with CAST-256) is
420 described in RFC2612.
421
422config CRYPTO_TEA
Aaron Grothefb4f10e2005-09-01 17:42:46 -0700423 tristate "TEA, XTEA and XETA cipher algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000424 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700425 help
426 TEA cipher algorithm.
427
428 Tiny Encryption Algorithm is a simple cipher that uses
429 many rounds for security. It is very fast and uses
430 little memory.
431
432 Xtendend Tiny Encryption Algorithm is a modification to
433 the TEA algorithm to address a potential key weakness
434 in the TEA algorithm.
435
Aaron Grothefb4f10e2005-09-01 17:42:46 -0700436 Xtendend Encryption Tiny Algorithm is a mis-implementation
437 of the XTEA algorithm for compatibility purposes.
438
Linus Torvalds1da177e2005-04-16 15:20:36 -0700439config CRYPTO_ARC4
440 tristate "ARC4 cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000441 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700442 help
443 ARC4 cipher algorithm.
444
445 ARC4 is a stream cipher using keys ranging from 8 bits to 2048
446 bits in length. This algorithm is required for driver-based
447 WEP, but it should not be for other purposes because of the
448 weakness of the algorithm.
449
450config CRYPTO_KHAZAD
451 tristate "Khazad cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000452 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700453 help
454 Khazad cipher algorithm.
455
456 Khazad was a finalist in the initial NESSIE competition. It is
457 an algorithm optimized for 64-bit processors with good performance
458 on 32-bit processors. Khazad uses an 128 bit key size.
459
460 See also:
461 <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
462
463config CRYPTO_ANUBIS
464 tristate "Anubis cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000465 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700466 help
467 Anubis cipher algorithm.
468
469 Anubis is a variable key length cipher which can use keys from
470 128 bits to 320 bits in length. It was evaluated as a entrant
471 in the NESSIE competition.
472
473 See also:
474 <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
475 <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
476
Hye-Shik Change2ee95b2007-08-21 20:01:03 +0800477config CRYPTO_SEED
478 tristate "SEED cipher algorithm"
479 select CRYPTO_ALGAPI
480 help
481 SEED cipher algorithm (RFC4269).
482
483 SEED is a 128-bit symmetric key block cipher that has been
484 developed by KISA (Korea Information Security Agency) as a
485 national standard encryption algorithm of the Republic of Korea.
486 It is a 16 round block cipher with the key size of 128 bit.
487
488 See also:
489 <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp>
490
Tan Swee Heng2407d602007-11-23 19:45:00 +0800491config CRYPTO_SALSA20
492 tristate "Salsa20 stream cipher algorithm (EXPERIMENTAL)"
493 depends on EXPERIMENTAL
494 select CRYPTO_BLKCIPHER
495 help
496 Salsa20 stream cipher algorithm.
497
498 Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
499 Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
500
501 The Salsa20 stream cipher algorithm is designed by Daniel J.
502 Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700503
Tan Swee Heng974e4b72007-12-10 15:52:56 +0800504config CRYPTO_SALSA20_586
505 tristate "Salsa20 stream cipher algorithm (i586) (EXPERIMENTAL)"
506 depends on (X86 || UML_X86) && !64BIT
507 depends on EXPERIMENTAL
508 select CRYPTO_BLKCIPHER
Tan Swee Heng974e4b72007-12-10 15:52:56 +0800509 help
510 Salsa20 stream cipher algorithm.
511
512 Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
513 Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
514
515 The Salsa20 stream cipher algorithm is designed by Daniel J.
516 Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
517
Tan Swee Heng9a7dafb2007-12-18 00:04:40 +0800518config CRYPTO_SALSA20_X86_64
519 tristate "Salsa20 stream cipher algorithm (x86_64) (EXPERIMENTAL)"
520 depends on (X86 || UML_X86) && 64BIT
521 depends on EXPERIMENTAL
522 select CRYPTO_BLKCIPHER
Tan Swee Heng9a7dafb2007-12-18 00:04:40 +0800523 help
524 Salsa20 stream cipher algorithm.
525
526 Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
527 Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
528
529 The Salsa20 stream cipher algorithm is designed by Daniel J.
530 Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
531
Linus Torvalds1da177e2005-04-16 15:20:36 -0700532config CRYPTO_DEFLATE
533 tristate "Deflate compression algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000534 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700535 select ZLIB_INFLATE
536 select ZLIB_DEFLATE
537 help
538 This is the Deflate algorithm (RFC1951), specified for use in
539 IPSec with the IPCOMP protocol (RFC3173, RFC2394).
540
541 You will most probably want this if using IPSec.
542
543config CRYPTO_MICHAEL_MIC
544 tristate "Michael MIC keyed digest algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000545 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700546 help
547 Michael MIC is used for message integrity protection in TKIP
548 (IEEE 802.11i). This algorithm is required for TKIP, but it
549 should not be used for other purposes because of the weakness
550 of the algorithm.
551
552config CRYPTO_CRC32C
553 tristate "CRC32c CRC algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000554 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700555 select LIBCRC32C
556 help
557 Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used
558 by iSCSI for header and data digests and by others.
559 See Castagnoli93. This implementation uses lib/libcrc32c.
560 Module will be crc32c.
561
Noriaki TAKAMIYA04ac7db2006-10-22 14:49:17 +1000562config CRYPTO_CAMELLIA
563 tristate "Camellia cipher algorithms"
564 depends on CRYPTO
565 select CRYPTO_ALGAPI
566 help
567 Camellia cipher algorithms module.
568
569 Camellia is a symmetric key block cipher developed jointly
570 at NTT and Mitsubishi Electric Corporation.
571
572 The Camellia specifies three key sizes: 128, 192 and 256 bits.
573
574 See also:
575 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
576
Linus Torvalds1da177e2005-04-16 15:20:36 -0700577config CRYPTO_TEST
578 tristate "Testing module"
Herbert Xucce9e062006-08-21 21:08:13 +1000579 depends on m
580 select CRYPTO_ALGAPI
Sebastian Siewiord1cda4e2007-12-18 00:08:27 +0800581 select CRYPTO_AEAD
Frederik Deweerdt242f1a32008-02-15 19:19:33 +0800582 select CRYPTO_BLKCIPHER
Linus Torvalds1da177e2005-04-16 15:20:36 -0700583 help
584 Quick & dirty crypto test module.
585
Herbert Xu3c09f172007-08-30 16:24:15 +0800586config CRYPTO_AUTHENC
587 tristate "Authenc support"
588 select CRYPTO_AEAD
Herbert Xu3e16bfb2008-02-23 11:13:00 +0800589 select CRYPTO_BLKCIPHER
Herbert Xu3c09f172007-08-30 16:24:15 +0800590 select CRYPTO_MANAGER
Borislav Petkov5e553112007-12-14 16:43:32 +0800591 select CRYPTO_HASH
Herbert Xu3c09f172007-08-30 16:24:15 +0800592 help
593 Authenc: Combined mode wrapper for IPsec.
594 This is required for IPSec.
595
Zoltan Sogor0b77abb2007-12-07 16:53:23 +0800596config CRYPTO_LZO
597 tristate "LZO compression algorithm"
598 select CRYPTO_ALGAPI
599 select LZO_COMPRESS
600 select LZO_DECOMPRESS
601 help
602 This is the LZO algorithm.
603
Linus Torvalds1da177e2005-04-16 15:20:36 -0700604source "drivers/crypto/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700605
Herbert Xucce9e062006-08-21 21:08:13 +1000606endif # if CRYPTO