11da177e4SLinus Torvalds# 21da177e4SLinus Torvalds# Cryptographic API Configuration 31da177e4SLinus Torvalds# 41da177e4SLinus Torvalds 51da177e4SLinus Torvaldsmenu "Cryptographic options" 61da177e4SLinus Torvalds 71da177e4SLinus Torvaldsconfig CRYPTO 81da177e4SLinus Torvalds bool "Cryptographic API" 91da177e4SLinus Torvalds help 101da177e4SLinus Torvalds This option provides the core Cryptographic API. 111da177e4SLinus Torvalds 12cce9e06dSHerbert Xuif CRYPTO 13cce9e06dSHerbert Xu 14cce9e06dSHerbert Xuconfig CRYPTO_ALGAPI 15cce9e06dSHerbert Xu tristate 16cce9e06dSHerbert Xu help 17cce9e06dSHerbert Xu This option provides the API for cryptographic algorithms. 18cce9e06dSHerbert Xu 19b5b7f088SHerbert Xuconfig CRYPTO_ABLKCIPHER 20b5b7f088SHerbert Xu tristate 21b5b7f088SHerbert Xu select CRYPTO_BLKCIPHER 22b5b7f088SHerbert Xu 235cde0af2SHerbert Xuconfig CRYPTO_BLKCIPHER 245cde0af2SHerbert Xu tristate 255cde0af2SHerbert Xu select CRYPTO_ALGAPI 265cde0af2SHerbert Xu 27055bcee3SHerbert Xuconfig CRYPTO_HASH 28055bcee3SHerbert Xu tristate 29055bcee3SHerbert Xu select CRYPTO_ALGAPI 30055bcee3SHerbert Xu 312b8c19dbSHerbert Xuconfig CRYPTO_MANAGER 322b8c19dbSHerbert Xu tristate "Cryptographic algorithm manager" 332b8c19dbSHerbert Xu select CRYPTO_ALGAPI 342b8c19dbSHerbert Xu help 352b8c19dbSHerbert Xu Create default cryptographic template instantiations such as 362b8c19dbSHerbert Xu cbc(aes). 372b8c19dbSHerbert Xu 381da177e4SLinus Torvaldsconfig CRYPTO_HMAC 398425165dSHerbert Xu tristate "HMAC support" 400796ae06SHerbert Xu select CRYPTO_HASH 4143518407SHerbert Xu select CRYPTO_MANAGER 421da177e4SLinus Torvalds help 431da177e4SLinus Torvalds HMAC: Keyed-Hashing for Message Authentication (RFC2104). 441da177e4SLinus Torvalds This is required for IPSec. 451da177e4SLinus Torvalds 46333b0d7eSKazunori MIYAZAWAconfig CRYPTO_XCBC 47333b0d7eSKazunori MIYAZAWA tristate "XCBC support" 48333b0d7eSKazunori MIYAZAWA depends on EXPERIMENTAL 49333b0d7eSKazunori MIYAZAWA select CRYPTO_HASH 50333b0d7eSKazunori MIYAZAWA select CRYPTO_MANAGER 51333b0d7eSKazunori MIYAZAWA help 52333b0d7eSKazunori MIYAZAWA XCBC: Keyed-Hashing with encryption algorithm 53333b0d7eSKazunori MIYAZAWA http://www.ietf.org/rfc/rfc3566.txt 54333b0d7eSKazunori MIYAZAWA http://csrc.nist.gov/encryption/modes/proposedmodes/ 55333b0d7eSKazunori MIYAZAWA xcbc-mac/xcbc-mac-spec.pdf 56333b0d7eSKazunori MIYAZAWA 571da177e4SLinus Torvaldsconfig CRYPTO_NULL 581da177e4SLinus Torvalds tristate "Null algorithms" 59cce9e06dSHerbert Xu select CRYPTO_ALGAPI 601da177e4SLinus Torvalds help 611da177e4SLinus Torvalds These are 'Null' algorithms, used by IPsec, which do nothing. 621da177e4SLinus Torvalds 631da177e4SLinus Torvaldsconfig CRYPTO_MD4 641da177e4SLinus Torvalds tristate "MD4 digest algorithm" 65cce9e06dSHerbert Xu select CRYPTO_ALGAPI 661da177e4SLinus Torvalds help 671da177e4SLinus Torvalds MD4 message digest algorithm (RFC1320). 681da177e4SLinus Torvalds 691da177e4SLinus Torvaldsconfig CRYPTO_MD5 701da177e4SLinus Torvalds tristate "MD5 digest algorithm" 71cce9e06dSHerbert Xu select CRYPTO_ALGAPI 721da177e4SLinus Torvalds help 731da177e4SLinus Torvalds MD5 message digest algorithm (RFC1321). 741da177e4SLinus Torvalds 751da177e4SLinus Torvaldsconfig CRYPTO_SHA1 761da177e4SLinus Torvalds tristate "SHA1 digest algorithm" 77cce9e06dSHerbert Xu select CRYPTO_ALGAPI 781da177e4SLinus Torvalds help 791da177e4SLinus Torvalds SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 801da177e4SLinus Torvalds 811da177e4SLinus Torvaldsconfig CRYPTO_SHA256 821da177e4SLinus Torvalds tristate "SHA256 digest algorithm" 83cce9e06dSHerbert Xu select CRYPTO_ALGAPI 841da177e4SLinus Torvalds help 851da177e4SLinus Torvalds SHA256 secure hash standard (DFIPS 180-2). 861da177e4SLinus Torvalds 871da177e4SLinus Torvalds This version of SHA implements a 256 bit hash with 128 bits of 881da177e4SLinus Torvalds security against collision attacks. 891da177e4SLinus Torvalds 901da177e4SLinus Torvaldsconfig CRYPTO_SHA512 911da177e4SLinus Torvalds tristate "SHA384 and SHA512 digest algorithms" 92cce9e06dSHerbert Xu select CRYPTO_ALGAPI 931da177e4SLinus Torvalds help 941da177e4SLinus Torvalds SHA512 secure hash standard (DFIPS 180-2). 951da177e4SLinus Torvalds 961da177e4SLinus Torvalds This version of SHA implements a 512 bit hash with 256 bits of 971da177e4SLinus Torvalds security against collision attacks. 981da177e4SLinus Torvalds 991da177e4SLinus Torvalds This code also includes SHA-384, a 384 bit hash with 192 bits 1001da177e4SLinus Torvalds of security against collision attacks. 1011da177e4SLinus Torvalds 1021da177e4SLinus Torvaldsconfig CRYPTO_WP512 1031da177e4SLinus Torvalds tristate "Whirlpool digest algorithms" 104cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1051da177e4SLinus Torvalds help 1061da177e4SLinus Torvalds Whirlpool hash algorithm 512, 384 and 256-bit hashes 1071da177e4SLinus Torvalds 1081da177e4SLinus Torvalds Whirlpool-512 is part of the NESSIE cryptographic primitives. 1091da177e4SLinus Torvalds Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard 1101da177e4SLinus Torvalds 1111da177e4SLinus Torvalds See also: 1121da177e4SLinus Torvalds <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html> 1131da177e4SLinus Torvalds 1141da177e4SLinus Torvaldsconfig CRYPTO_TGR192 1151da177e4SLinus Torvalds tristate "Tiger digest algorithms" 116cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1171da177e4SLinus Torvalds help 1181da177e4SLinus Torvalds Tiger hash algorithm 192, 160 and 128-bit hashes 1191da177e4SLinus Torvalds 1201da177e4SLinus Torvalds Tiger is a hash function optimized for 64-bit processors while 1211da177e4SLinus Torvalds still having decent performance on 32-bit processors. 1221da177e4SLinus Torvalds Tiger was developed by Ross Anderson and Eli Biham. 1231da177e4SLinus Torvalds 1241da177e4SLinus Torvalds See also: 1251da177e4SLinus Torvalds <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>. 1261da177e4SLinus Torvalds 127c494e070SRik Snelconfig CRYPTO_GF128MUL 128c494e070SRik Snel tristate "GF(2^128) multiplication functions (EXPERIMENTAL)" 129c494e070SRik Snel depends on EXPERIMENTAL 130c494e070SRik Snel help 131c494e070SRik Snel Efficient table driven implementation of multiplications in the 132c494e070SRik Snel field GF(2^128). This is needed by some cypher modes. This 133c494e070SRik Snel option will be selected automatically if you select such a 134c494e070SRik Snel cipher mode. Only select this option by hand if you expect to load 135c494e070SRik Snel an external module that requires these functions. 136c494e070SRik Snel 137db131ef9SHerbert Xuconfig CRYPTO_ECB 138db131ef9SHerbert Xu tristate "ECB support" 139db131ef9SHerbert Xu select CRYPTO_BLKCIPHER 14043518407SHerbert Xu select CRYPTO_MANAGER 141db131ef9SHerbert Xu default m 142db131ef9SHerbert Xu help 143db131ef9SHerbert Xu ECB: Electronic CodeBook mode 144db131ef9SHerbert Xu This is the simplest block cipher algorithm. It simply encrypts 145db131ef9SHerbert Xu the input block by block. 146db131ef9SHerbert Xu 147db131ef9SHerbert Xuconfig CRYPTO_CBC 148db131ef9SHerbert Xu tristate "CBC support" 149db131ef9SHerbert Xu select CRYPTO_BLKCIPHER 15043518407SHerbert Xu select CRYPTO_MANAGER 151db131ef9SHerbert Xu default m 152db131ef9SHerbert Xu help 153db131ef9SHerbert Xu CBC: Cipher Block Chaining mode 154db131ef9SHerbert Xu This block cipher algorithm is required for IPSec. 155db131ef9SHerbert Xu 15691652be5SDavid Howellsconfig CRYPTO_PCBC 15791652be5SDavid Howells tristate "PCBC support" 15891652be5SDavid Howells select CRYPTO_BLKCIPHER 15991652be5SDavid Howells select CRYPTO_MANAGER 16091652be5SDavid Howells default m 16191652be5SDavid Howells help 16291652be5SDavid Howells PCBC: Propagating Cipher Block Chaining mode 16391652be5SDavid Howells This block cipher algorithm is required for RxRPC. 16491652be5SDavid Howells 16564470f1bSRik Snelconfig CRYPTO_LRW 16664470f1bSRik Snel tristate "LRW support (EXPERIMENTAL)" 16764470f1bSRik Snel depends on EXPERIMENTAL 16864470f1bSRik Snel select CRYPTO_BLKCIPHER 16964470f1bSRik Snel select CRYPTO_MANAGER 17064470f1bSRik Snel select CRYPTO_GF128MUL 17164470f1bSRik Snel help 17264470f1bSRik Snel LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable 17364470f1bSRik Snel narrow block cipher mode for dm-crypt. Use it with cipher 17464470f1bSRik Snel specification string aes-lrw-benbi, the key must be 256, 320 or 384. 17564470f1bSRik Snel The first 128, 192 or 256 bits in the key are used for AES and the 17664470f1bSRik Snel rest is used to tie each cipher block to its logical position. 17764470f1bSRik Snel 178*124b53d0SHerbert Xuconfig CRYPTO_CRYPTD 179*124b53d0SHerbert Xu tristate "Software async crypto daemon" 180*124b53d0SHerbert Xu select CRYPTO_ABLKCIPHER 181*124b53d0SHerbert Xu select CRYPTO_MANAGER 182*124b53d0SHerbert Xu help 183*124b53d0SHerbert Xu This is a generic software asynchronous crypto daemon that 184*124b53d0SHerbert Xu converts an arbitrary synchronous software crypto algorithm 185*124b53d0SHerbert Xu into an asynchronous algorithm that executes in a kernel thread. 186*124b53d0SHerbert Xu 1871da177e4SLinus Torvaldsconfig CRYPTO_DES 1881da177e4SLinus Torvalds tristate "DES and Triple DES EDE cipher algorithms" 189cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1901da177e4SLinus Torvalds help 1911da177e4SLinus Torvalds DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 1921da177e4SLinus Torvalds 19390831639SDavid Howellsconfig CRYPTO_FCRYPT 19490831639SDavid Howells tristate "FCrypt cipher algorithm" 19590831639SDavid Howells select CRYPTO_ALGAPI 19690831639SDavid Howells select CRYPTO_BLKCIPHER 19790831639SDavid Howells help 19890831639SDavid Howells FCrypt algorithm used by RxRPC. 19990831639SDavid Howells 2001da177e4SLinus Torvaldsconfig CRYPTO_BLOWFISH 2011da177e4SLinus Torvalds tristate "Blowfish cipher algorithm" 202cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2031da177e4SLinus Torvalds help 2041da177e4SLinus Torvalds Blowfish cipher algorithm, by Bruce Schneier. 2051da177e4SLinus Torvalds 2061da177e4SLinus Torvalds This is a variable key length cipher which can use keys from 32 2071da177e4SLinus Torvalds bits to 448 bits in length. It's fast, simple and specifically 2081da177e4SLinus Torvalds designed for use on "large microprocessors". 2091da177e4SLinus Torvalds 2101da177e4SLinus Torvalds See also: 2111da177e4SLinus Torvalds <http://www.schneier.com/blowfish.html> 2121da177e4SLinus Torvalds 2131da177e4SLinus Torvaldsconfig CRYPTO_TWOFISH 2141da177e4SLinus Torvalds tristate "Twofish cipher algorithm" 215cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2162729bb42SJoachim Fritschi select CRYPTO_TWOFISH_COMMON 2171da177e4SLinus Torvalds help 2181da177e4SLinus Torvalds Twofish cipher algorithm. 2191da177e4SLinus Torvalds 2201da177e4SLinus Torvalds Twofish was submitted as an AES (Advanced Encryption Standard) 2211da177e4SLinus Torvalds candidate cipher by researchers at CounterPane Systems. It is a 2221da177e4SLinus Torvalds 16 round block cipher supporting key sizes of 128, 192, and 256 2231da177e4SLinus Torvalds bits. 2241da177e4SLinus Torvalds 2251da177e4SLinus Torvalds See also: 2261da177e4SLinus Torvalds <http://www.schneier.com/twofish.html> 2271da177e4SLinus Torvalds 2282729bb42SJoachim Fritschiconfig CRYPTO_TWOFISH_COMMON 2292729bb42SJoachim Fritschi tristate 2302729bb42SJoachim Fritschi help 2312729bb42SJoachim Fritschi Common parts of the Twofish cipher algorithm shared by the 2322729bb42SJoachim Fritschi generic c and the assembler implementations. 2332729bb42SJoachim Fritschi 234b9f535ffSJoachim Fritschiconfig CRYPTO_TWOFISH_586 235b9f535ffSJoachim Fritschi tristate "Twofish cipher algorithms (i586)" 236cce9e06dSHerbert Xu depends on (X86 || UML_X86) && !64BIT 237cce9e06dSHerbert Xu select CRYPTO_ALGAPI 238b9f535ffSJoachim Fritschi select CRYPTO_TWOFISH_COMMON 239b9f535ffSJoachim Fritschi help 240b9f535ffSJoachim Fritschi Twofish cipher algorithm. 241b9f535ffSJoachim Fritschi 242b9f535ffSJoachim Fritschi Twofish was submitted as an AES (Advanced Encryption Standard) 243b9f535ffSJoachim Fritschi candidate cipher by researchers at CounterPane Systems. It is a 244b9f535ffSJoachim Fritschi 16 round block cipher supporting key sizes of 128, 192, and 256 245b9f535ffSJoachim Fritschi bits. 246b9f535ffSJoachim Fritschi 247b9f535ffSJoachim Fritschi See also: 248b9f535ffSJoachim Fritschi <http://www.schneier.com/twofish.html> 249b9f535ffSJoachim Fritschi 250eaf44088SJoachim Fritschiconfig CRYPTO_TWOFISH_X86_64 251eaf44088SJoachim Fritschi tristate "Twofish cipher algorithm (x86_64)" 252cce9e06dSHerbert Xu depends on (X86 || UML_X86) && 64BIT 253cce9e06dSHerbert Xu select CRYPTO_ALGAPI 254eaf44088SJoachim Fritschi select CRYPTO_TWOFISH_COMMON 255eaf44088SJoachim Fritschi help 256eaf44088SJoachim Fritschi Twofish cipher algorithm (x86_64). 257eaf44088SJoachim Fritschi 258eaf44088SJoachim Fritschi Twofish was submitted as an AES (Advanced Encryption Standard) 259eaf44088SJoachim Fritschi candidate cipher by researchers at CounterPane Systems. It is a 260eaf44088SJoachim Fritschi 16 round block cipher supporting key sizes of 128, 192, and 256 261eaf44088SJoachim Fritschi bits. 262eaf44088SJoachim Fritschi 263eaf44088SJoachim Fritschi See also: 264eaf44088SJoachim Fritschi <http://www.schneier.com/twofish.html> 265eaf44088SJoachim Fritschi 2661da177e4SLinus Torvaldsconfig CRYPTO_SERPENT 2671da177e4SLinus Torvalds tristate "Serpent cipher algorithm" 268cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2691da177e4SLinus Torvalds help 2701da177e4SLinus Torvalds Serpent cipher algorithm, by Anderson, Biham & Knudsen. 2711da177e4SLinus Torvalds 2721da177e4SLinus Torvalds Keys are allowed to be from 0 to 256 bits in length, in steps 2731da177e4SLinus Torvalds of 8 bits. Also includes the 'Tnepres' algorithm, a reversed 2741da177e4SLinus Torvalds variant of Serpent for compatibility with old kerneli code. 2751da177e4SLinus Torvalds 2761da177e4SLinus Torvalds See also: 2771da177e4SLinus Torvalds <http://www.cl.cam.ac.uk/~rja14/serpent.html> 2781da177e4SLinus Torvalds 2791da177e4SLinus Torvaldsconfig CRYPTO_AES 2801da177e4SLinus Torvalds tristate "AES cipher algorithms" 281cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2821da177e4SLinus Torvalds help 2831da177e4SLinus Torvalds AES cipher algorithms (FIPS-197). AES uses the Rijndael 2841da177e4SLinus Torvalds algorithm. 2851da177e4SLinus Torvalds 2861da177e4SLinus Torvalds Rijndael appears to be consistently a very good performer in 2871da177e4SLinus Torvalds both hardware and software across a wide range of computing 2881da177e4SLinus Torvalds environments regardless of its use in feedback or non-feedback 2891da177e4SLinus Torvalds modes. Its key setup time is excellent, and its key agility is 2901da177e4SLinus Torvalds good. Rijndael's very low memory requirements make it very well 2911da177e4SLinus Torvalds suited for restricted-space environments, in which it also 2921da177e4SLinus Torvalds demonstrates excellent performance. Rijndael's operations are 2931da177e4SLinus Torvalds among the easiest to defend against power and timing attacks. 2941da177e4SLinus Torvalds 2951da177e4SLinus Torvalds The AES specifies three key sizes: 128, 192 and 256 bits 2961da177e4SLinus Torvalds 2971da177e4SLinus Torvalds See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information. 2981da177e4SLinus Torvalds 2991da177e4SLinus Torvaldsconfig CRYPTO_AES_586 3001da177e4SLinus Torvalds tristate "AES cipher algorithms (i586)" 301cce9e06dSHerbert Xu depends on (X86 || UML_X86) && !64BIT 302cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3031da177e4SLinus Torvalds help 3041da177e4SLinus Torvalds AES cipher algorithms (FIPS-197). AES uses the Rijndael 3051da177e4SLinus Torvalds algorithm. 3061da177e4SLinus Torvalds 3071da177e4SLinus Torvalds Rijndael appears to be consistently a very good performer in 3081da177e4SLinus Torvalds both hardware and software across a wide range of computing 3091da177e4SLinus Torvalds environments regardless of its use in feedback or non-feedback 3101da177e4SLinus Torvalds modes. Its key setup time is excellent, and its key agility is 3111da177e4SLinus Torvalds good. Rijndael's very low memory requirements make it very well 3121da177e4SLinus Torvalds suited for restricted-space environments, in which it also 3131da177e4SLinus Torvalds demonstrates excellent performance. Rijndael's operations are 3141da177e4SLinus Torvalds among the easiest to defend against power and timing attacks. 3151da177e4SLinus Torvalds 3161da177e4SLinus Torvalds The AES specifies three key sizes: 128, 192 and 256 bits 3171da177e4SLinus Torvalds 3181da177e4SLinus Torvalds See <http://csrc.nist.gov/encryption/aes/> for more information. 3191da177e4SLinus Torvalds 320a2a892a2SAndreas Steinmetzconfig CRYPTO_AES_X86_64 321a2a892a2SAndreas Steinmetz tristate "AES cipher algorithms (x86_64)" 322cce9e06dSHerbert Xu depends on (X86 || UML_X86) && 64BIT 323cce9e06dSHerbert Xu select CRYPTO_ALGAPI 324a2a892a2SAndreas Steinmetz help 325a2a892a2SAndreas Steinmetz AES cipher algorithms (FIPS-197). AES uses the Rijndael 326a2a892a2SAndreas Steinmetz algorithm. 327a2a892a2SAndreas Steinmetz 328a2a892a2SAndreas Steinmetz Rijndael appears to be consistently a very good performer in 329a2a892a2SAndreas Steinmetz both hardware and software across a wide range of computing 330a2a892a2SAndreas Steinmetz environments regardless of its use in feedback or non-feedback 331a2a892a2SAndreas Steinmetz modes. Its key setup time is excellent, and its key agility is 332a2a892a2SAndreas Steinmetz good. Rijndael's very low memory requirements make it very well 333a2a892a2SAndreas Steinmetz suited for restricted-space environments, in which it also 334a2a892a2SAndreas Steinmetz demonstrates excellent performance. Rijndael's operations are 335a2a892a2SAndreas Steinmetz among the easiest to defend against power and timing attacks. 336a2a892a2SAndreas Steinmetz 337a2a892a2SAndreas Steinmetz The AES specifies three key sizes: 128, 192 and 256 bits 338a2a892a2SAndreas Steinmetz 339a2a892a2SAndreas Steinmetz See <http://csrc.nist.gov/encryption/aes/> for more information. 340a2a892a2SAndreas Steinmetz 3411da177e4SLinus Torvaldsconfig CRYPTO_CAST5 3421da177e4SLinus Torvalds tristate "CAST5 (CAST-128) cipher algorithm" 343cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3441da177e4SLinus Torvalds help 3451da177e4SLinus Torvalds The CAST5 encryption algorithm (synonymous with CAST-128) is 3461da177e4SLinus Torvalds described in RFC2144. 3471da177e4SLinus Torvalds 3481da177e4SLinus Torvaldsconfig CRYPTO_CAST6 3491da177e4SLinus Torvalds tristate "CAST6 (CAST-256) cipher algorithm" 350cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3511da177e4SLinus Torvalds help 3521da177e4SLinus Torvalds The CAST6 encryption algorithm (synonymous with CAST-256) is 3531da177e4SLinus Torvalds described in RFC2612. 3541da177e4SLinus Torvalds 3551da177e4SLinus Torvaldsconfig CRYPTO_TEA 356fb4f10edSAaron Grothe tristate "TEA, XTEA and XETA cipher algorithms" 357cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3581da177e4SLinus Torvalds help 3591da177e4SLinus Torvalds TEA cipher algorithm. 3601da177e4SLinus Torvalds 3611da177e4SLinus Torvalds Tiny Encryption Algorithm is a simple cipher that uses 3621da177e4SLinus Torvalds many rounds for security. It is very fast and uses 3631da177e4SLinus Torvalds little memory. 3641da177e4SLinus Torvalds 3651da177e4SLinus Torvalds Xtendend Tiny Encryption Algorithm is a modification to 3661da177e4SLinus Torvalds the TEA algorithm to address a potential key weakness 3671da177e4SLinus Torvalds in the TEA algorithm. 3681da177e4SLinus Torvalds 369fb4f10edSAaron Grothe Xtendend Encryption Tiny Algorithm is a mis-implementation 370fb4f10edSAaron Grothe of the XTEA algorithm for compatibility purposes. 371fb4f10edSAaron Grothe 3721da177e4SLinus Torvaldsconfig CRYPTO_ARC4 3731da177e4SLinus Torvalds tristate "ARC4 cipher algorithm" 374cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3751da177e4SLinus Torvalds help 3761da177e4SLinus Torvalds ARC4 cipher algorithm. 3771da177e4SLinus Torvalds 3781da177e4SLinus Torvalds ARC4 is a stream cipher using keys ranging from 8 bits to 2048 3791da177e4SLinus Torvalds bits in length. This algorithm is required for driver-based 3801da177e4SLinus Torvalds WEP, but it should not be for other purposes because of the 3811da177e4SLinus Torvalds weakness of the algorithm. 3821da177e4SLinus Torvalds 3831da177e4SLinus Torvaldsconfig CRYPTO_KHAZAD 3841da177e4SLinus Torvalds tristate "Khazad cipher algorithm" 385cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3861da177e4SLinus Torvalds help 3871da177e4SLinus Torvalds Khazad cipher algorithm. 3881da177e4SLinus Torvalds 3891da177e4SLinus Torvalds Khazad was a finalist in the initial NESSIE competition. It is 3901da177e4SLinus Torvalds an algorithm optimized for 64-bit processors with good performance 3911da177e4SLinus Torvalds on 32-bit processors. Khazad uses an 128 bit key size. 3921da177e4SLinus Torvalds 3931da177e4SLinus Torvalds See also: 3941da177e4SLinus Torvalds <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html> 3951da177e4SLinus Torvalds 3961da177e4SLinus Torvaldsconfig CRYPTO_ANUBIS 3971da177e4SLinus Torvalds tristate "Anubis cipher algorithm" 398cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3991da177e4SLinus Torvalds help 4001da177e4SLinus Torvalds Anubis cipher algorithm. 4011da177e4SLinus Torvalds 4021da177e4SLinus Torvalds Anubis is a variable key length cipher which can use keys from 4031da177e4SLinus Torvalds 128 bits to 320 bits in length. It was evaluated as a entrant 4041da177e4SLinus Torvalds in the NESSIE competition. 4051da177e4SLinus Torvalds 4061da177e4SLinus Torvalds See also: 4071da177e4SLinus Torvalds <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/> 4081da177e4SLinus Torvalds <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html> 4091da177e4SLinus Torvalds 4101da177e4SLinus Torvalds 4111da177e4SLinus Torvaldsconfig CRYPTO_DEFLATE 4121da177e4SLinus Torvalds tristate "Deflate compression algorithm" 413cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4141da177e4SLinus Torvalds select ZLIB_INFLATE 4151da177e4SLinus Torvalds select ZLIB_DEFLATE 4161da177e4SLinus Torvalds help 4171da177e4SLinus Torvalds This is the Deflate algorithm (RFC1951), specified for use in 4181da177e4SLinus Torvalds IPSec with the IPCOMP protocol (RFC3173, RFC2394). 4191da177e4SLinus Torvalds 4201da177e4SLinus Torvalds You will most probably want this if using IPSec. 4211da177e4SLinus Torvalds 4221da177e4SLinus Torvaldsconfig CRYPTO_MICHAEL_MIC 4231da177e4SLinus Torvalds tristate "Michael MIC keyed digest algorithm" 424cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4251da177e4SLinus Torvalds help 4261da177e4SLinus Torvalds Michael MIC is used for message integrity protection in TKIP 4271da177e4SLinus Torvalds (IEEE 802.11i). This algorithm is required for TKIP, but it 4281da177e4SLinus Torvalds should not be used for other purposes because of the weakness 4291da177e4SLinus Torvalds of the algorithm. 4301da177e4SLinus Torvalds 4311da177e4SLinus Torvaldsconfig CRYPTO_CRC32C 4321da177e4SLinus Torvalds tristate "CRC32c CRC algorithm" 433cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4341da177e4SLinus Torvalds select LIBCRC32C 4351da177e4SLinus Torvalds help 4361da177e4SLinus Torvalds Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used 4371da177e4SLinus Torvalds by iSCSI for header and data digests and by others. 4381da177e4SLinus Torvalds See Castagnoli93. This implementation uses lib/libcrc32c. 4391da177e4SLinus Torvalds Module will be crc32c. 4401da177e4SLinus Torvalds 44104ac7db3SNoriaki TAKAMIYAconfig CRYPTO_CAMELLIA 44204ac7db3SNoriaki TAKAMIYA tristate "Camellia cipher algorithms" 44304ac7db3SNoriaki TAKAMIYA depends on CRYPTO 44404ac7db3SNoriaki TAKAMIYA select CRYPTO_ALGAPI 44504ac7db3SNoriaki TAKAMIYA help 44604ac7db3SNoriaki TAKAMIYA Camellia cipher algorithms module. 44704ac7db3SNoriaki TAKAMIYA 44804ac7db3SNoriaki TAKAMIYA Camellia is a symmetric key block cipher developed jointly 44904ac7db3SNoriaki TAKAMIYA at NTT and Mitsubishi Electric Corporation. 45004ac7db3SNoriaki TAKAMIYA 45104ac7db3SNoriaki TAKAMIYA The Camellia specifies three key sizes: 128, 192 and 256 bits. 45204ac7db3SNoriaki TAKAMIYA 45304ac7db3SNoriaki TAKAMIYA See also: 45404ac7db3SNoriaki TAKAMIYA <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 45504ac7db3SNoriaki TAKAMIYA 4561da177e4SLinus Torvaldsconfig CRYPTO_TEST 4571da177e4SLinus Torvalds tristate "Testing module" 458cce9e06dSHerbert Xu depends on m 459cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4601da177e4SLinus Torvalds help 4611da177e4SLinus Torvalds Quick & dirty crypto test module. 4621da177e4SLinus Torvalds 4631da177e4SLinus Torvaldssource "drivers/crypto/Kconfig" 4641da177e4SLinus Torvalds 465cce9e06dSHerbert Xuendif # if CRYPTO 466cce9e06dSHerbert Xu 467cce9e06dSHerbert Xuendmenu 468