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