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