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 443config CRYPTO_GHASH_CLMUL_NI_INTEL 444 tristate "GHASH digest algorithm (CLMUL-NI accelerated)" 445 depends on (X86 || UML_X86) && 64BIT 446 select CRYPTO_SHASH 447 select CRYPTO_CRYPTD 448 help 449 GHASH is message digest algorithm for GCM (Galois/Counter Mode). 450 The implementation is accelerated by CLMUL-NI of Intel. 451 452comment "Ciphers" 453 454config CRYPTO_AES 455 tristate "AES cipher algorithms" 456 select CRYPTO_ALGAPI 457 help 458 AES cipher algorithms (FIPS-197). AES uses the Rijndael 459 algorithm. 460 461 Rijndael appears to be consistently a very good performer in 462 both hardware and software across a wide range of computing 463 environments regardless of its use in feedback or non-feedback 464 modes. Its key setup time is excellent, and its key agility is 465 good. Rijndael's very low memory requirements make it very well 466 suited for restricted-space environments, in which it also 467 demonstrates excellent performance. Rijndael's operations are 468 among the easiest to defend against power and timing attacks. 469 470 The AES specifies three key sizes: 128, 192 and 256 bits 471 472 See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information. 473 474config CRYPTO_AES_586 475 tristate "AES cipher algorithms (i586)" 476 depends on (X86 || UML_X86) && !64BIT 477 select CRYPTO_ALGAPI 478 select CRYPTO_AES 479 help 480 AES cipher algorithms (FIPS-197). AES uses the Rijndael 481 algorithm. 482 483 Rijndael appears to be consistently a very good performer in 484 both hardware and software across a wide range of computing 485 environments regardless of its use in feedback or non-feedback 486 modes. Its key setup time is excellent, and its key agility is 487 good. Rijndael's very low memory requirements make it very well 488 suited for restricted-space environments, in which it also 489 demonstrates excellent performance. Rijndael's operations are 490 among the easiest to defend against power and timing attacks. 491 492 The AES specifies three key sizes: 128, 192 and 256 bits 493 494 See <http://csrc.nist.gov/encryption/aes/> for more information. 495 496config CRYPTO_AES_X86_64 497 tristate "AES cipher algorithms (x86_64)" 498 depends on (X86 || UML_X86) && 64BIT 499 select CRYPTO_ALGAPI 500 select CRYPTO_AES 501 help 502 AES cipher algorithms (FIPS-197). AES uses the Rijndael 503 algorithm. 504 505 Rijndael appears to be consistently a very good performer in 506 both hardware and software across a wide range of computing 507 environments regardless of its use in feedback or non-feedback 508 modes. Its key setup time is excellent, and its key agility is 509 good. Rijndael's very low memory requirements make it very well 510 suited for restricted-space environments, in which it also 511 demonstrates excellent performance. Rijndael's operations are 512 among the easiest to defend against power and timing attacks. 513 514 The AES specifies three key sizes: 128, 192 and 256 bits 515 516 See <http://csrc.nist.gov/encryption/aes/> for more information. 517 518config CRYPTO_AES_NI_INTEL 519 tristate "AES cipher algorithms (AES-NI)" 520 depends on (X86 || UML_X86) && 64BIT 521 select CRYPTO_AES_X86_64 522 select CRYPTO_CRYPTD 523 select CRYPTO_ALGAPI 524 select CRYPTO_FPU 525 help 526 Use Intel AES-NI instructions for AES algorithm. 527 528 AES cipher algorithms (FIPS-197). AES uses the Rijndael 529 algorithm. 530 531 Rijndael appears to be consistently a very good performer in 532 both hardware and software across a wide range of computing 533 environments regardless of its use in feedback or non-feedback 534 modes. Its key setup time is excellent, and its key agility is 535 good. Rijndael's very low memory requirements make it very well 536 suited for restricted-space environments, in which it also 537 demonstrates excellent performance. Rijndael's operations are 538 among the easiest to defend against power and timing attacks. 539 540 The AES specifies three key sizes: 128, 192 and 256 bits 541 542 See <http://csrc.nist.gov/encryption/aes/> for more information. 543 544 In addition to AES cipher algorithm support, the 545 acceleration for some popular block cipher mode is supported 546 too, including ECB, CBC, CTR, LRW, PCBC, XTS. 547 548config CRYPTO_ANUBIS 549 tristate "Anubis cipher algorithm" 550 select CRYPTO_ALGAPI 551 help 552 Anubis cipher algorithm. 553 554 Anubis is a variable key length cipher which can use keys from 555 128 bits to 320 bits in length. It was evaluated as a entrant 556 in the NESSIE competition. 557 558 See also: 559 <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/> 560 <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html> 561 562config CRYPTO_ARC4 563 tristate "ARC4 cipher algorithm" 564 select CRYPTO_ALGAPI 565 help 566 ARC4 cipher algorithm. 567 568 ARC4 is a stream cipher using keys ranging from 8 bits to 2048 569 bits in length. This algorithm is required for driver-based 570 WEP, but it should not be for other purposes because of the 571 weakness of the algorithm. 572 573config CRYPTO_BLOWFISH 574 tristate "Blowfish cipher algorithm" 575 select CRYPTO_ALGAPI 576 help 577 Blowfish cipher algorithm, by Bruce Schneier. 578 579 This is a variable key length cipher which can use keys from 32 580 bits to 448 bits in length. It's fast, simple and specifically 581 designed for use on "large microprocessors". 582 583 See also: 584 <http://www.schneier.com/blowfish.html> 585 586config CRYPTO_CAMELLIA 587 tristate "Camellia cipher algorithms" 588 depends on CRYPTO 589 select CRYPTO_ALGAPI 590 help 591 Camellia cipher algorithms module. 592 593 Camellia is a symmetric key block cipher developed jointly 594 at NTT and Mitsubishi Electric Corporation. 595 596 The Camellia specifies three key sizes: 128, 192 and 256 bits. 597 598 See also: 599 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 600 601config CRYPTO_CAST5 602 tristate "CAST5 (CAST-128) cipher algorithm" 603 select CRYPTO_ALGAPI 604 help 605 The CAST5 encryption algorithm (synonymous with CAST-128) is 606 described in RFC2144. 607 608config CRYPTO_CAST6 609 tristate "CAST6 (CAST-256) cipher algorithm" 610 select CRYPTO_ALGAPI 611 help 612 The CAST6 encryption algorithm (synonymous with CAST-256) is 613 described in RFC2612. 614 615config CRYPTO_DES 616 tristate "DES and Triple DES EDE cipher algorithms" 617 select CRYPTO_ALGAPI 618 help 619 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 620 621config CRYPTO_FCRYPT 622 tristate "FCrypt cipher algorithm" 623 select CRYPTO_ALGAPI 624 select CRYPTO_BLKCIPHER 625 help 626 FCrypt algorithm used by RxRPC. 627 628config CRYPTO_KHAZAD 629 tristate "Khazad cipher algorithm" 630 select CRYPTO_ALGAPI 631 help 632 Khazad cipher algorithm. 633 634 Khazad was a finalist in the initial NESSIE competition. It is 635 an algorithm optimized for 64-bit processors with good performance 636 on 32-bit processors. Khazad uses an 128 bit key size. 637 638 See also: 639 <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html> 640 641config CRYPTO_SALSA20 642 tristate "Salsa20 stream cipher algorithm (EXPERIMENTAL)" 643 depends on EXPERIMENTAL 644 select CRYPTO_BLKCIPHER 645 help 646 Salsa20 stream cipher algorithm. 647 648 Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT 649 Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> 650 651 The Salsa20 stream cipher algorithm is designed by Daniel J. 652 Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> 653 654config CRYPTO_SALSA20_586 655 tristate "Salsa20 stream cipher algorithm (i586) (EXPERIMENTAL)" 656 depends on (X86 || UML_X86) && !64BIT 657 depends on EXPERIMENTAL 658 select CRYPTO_BLKCIPHER 659 help 660 Salsa20 stream cipher algorithm. 661 662 Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT 663 Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> 664 665 The Salsa20 stream cipher algorithm is designed by Daniel J. 666 Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> 667 668config CRYPTO_SALSA20_X86_64 669 tristate "Salsa20 stream cipher algorithm (x86_64) (EXPERIMENTAL)" 670 depends on (X86 || UML_X86) && 64BIT 671 depends on EXPERIMENTAL 672 select CRYPTO_BLKCIPHER 673 help 674 Salsa20 stream cipher algorithm. 675 676 Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT 677 Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> 678 679 The Salsa20 stream cipher algorithm is designed by Daniel J. 680 Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> 681 682config CRYPTO_SEED 683 tristate "SEED cipher algorithm" 684 select CRYPTO_ALGAPI 685 help 686 SEED cipher algorithm (RFC4269). 687 688 SEED is a 128-bit symmetric key block cipher that has been 689 developed by KISA (Korea Information Security Agency) as a 690 national standard encryption algorithm of the Republic of Korea. 691 It is a 16 round block cipher with the key size of 128 bit. 692 693 See also: 694 <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp> 695 696config CRYPTO_SERPENT 697 tristate "Serpent cipher algorithm" 698 select CRYPTO_ALGAPI 699 help 700 Serpent cipher algorithm, by Anderson, Biham & Knudsen. 701 702 Keys are allowed to be from 0 to 256 bits in length, in steps 703 of 8 bits. Also includes the 'Tnepres' algorithm, a reversed 704 variant of Serpent for compatibility with old kerneli.org code. 705 706 See also: 707 <http://www.cl.cam.ac.uk/~rja14/serpent.html> 708 709config CRYPTO_TEA 710 tristate "TEA, XTEA and XETA cipher algorithms" 711 select CRYPTO_ALGAPI 712 help 713 TEA cipher algorithm. 714 715 Tiny Encryption Algorithm is a simple cipher that uses 716 many rounds for security. It is very fast and uses 717 little memory. 718 719 Xtendend Tiny Encryption Algorithm is a modification to 720 the TEA algorithm to address a potential key weakness 721 in the TEA algorithm. 722 723 Xtendend Encryption Tiny Algorithm is a mis-implementation 724 of the XTEA algorithm for compatibility purposes. 725 726config CRYPTO_TWOFISH 727 tristate "Twofish cipher algorithm" 728 select CRYPTO_ALGAPI 729 select CRYPTO_TWOFISH_COMMON 730 help 731 Twofish cipher algorithm. 732 733 Twofish was submitted as an AES (Advanced Encryption Standard) 734 candidate cipher by researchers at CounterPane Systems. It is a 735 16 round block cipher supporting key sizes of 128, 192, and 256 736 bits. 737 738 See also: 739 <http://www.schneier.com/twofish.html> 740 741config CRYPTO_TWOFISH_COMMON 742 tristate 743 help 744 Common parts of the Twofish cipher algorithm shared by the 745 generic c and the assembler implementations. 746 747config CRYPTO_TWOFISH_586 748 tristate "Twofish cipher algorithms (i586)" 749 depends on (X86 || UML_X86) && !64BIT 750 select CRYPTO_ALGAPI 751 select CRYPTO_TWOFISH_COMMON 752 help 753 Twofish cipher algorithm. 754 755 Twofish was submitted as an AES (Advanced Encryption Standard) 756 candidate cipher by researchers at CounterPane Systems. It is a 757 16 round block cipher supporting key sizes of 128, 192, and 256 758 bits. 759 760 See also: 761 <http://www.schneier.com/twofish.html> 762 763config CRYPTO_TWOFISH_X86_64 764 tristate "Twofish cipher algorithm (x86_64)" 765 depends on (X86 || UML_X86) && 64BIT 766 select CRYPTO_ALGAPI 767 select CRYPTO_TWOFISH_COMMON 768 help 769 Twofish cipher algorithm (x86_64). 770 771 Twofish was submitted as an AES (Advanced Encryption Standard) 772 candidate cipher by researchers at CounterPane Systems. It is a 773 16 round block cipher supporting key sizes of 128, 192, and 256 774 bits. 775 776 See also: 777 <http://www.schneier.com/twofish.html> 778 779comment "Compression" 780 781config CRYPTO_DEFLATE 782 tristate "Deflate compression algorithm" 783 select CRYPTO_ALGAPI 784 select ZLIB_INFLATE 785 select ZLIB_DEFLATE 786 help 787 This is the Deflate algorithm (RFC1951), specified for use in 788 IPSec with the IPCOMP protocol (RFC3173, RFC2394). 789 790 You will most probably want this if using IPSec. 791 792config CRYPTO_ZLIB 793 tristate "Zlib compression algorithm" 794 select CRYPTO_PCOMP 795 select ZLIB_INFLATE 796 select ZLIB_DEFLATE 797 select NLATTR 798 help 799 This is the zlib algorithm. 800 801config CRYPTO_LZO 802 tristate "LZO compression algorithm" 803 select CRYPTO_ALGAPI 804 select LZO_COMPRESS 805 select LZO_DECOMPRESS 806 help 807 This is the LZO algorithm. 808 809comment "Random Number Generation" 810 811config CRYPTO_ANSI_CPRNG 812 tristate "Pseudo Random Number Generation for Cryptographic modules" 813 default m 814 select CRYPTO_AES 815 select CRYPTO_RNG 816 help 817 This option enables the generic pseudo random number generator 818 for cryptographic modules. Uses the Algorithm specified in 819 ANSI X9.31 A.2.4. Not this option must be enabled if CRYPTO_FIPS 820 is selected 821 822source "drivers/crypto/Kconfig" 823 824endif # if CRYPTO 825