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