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