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 195cde0af2SHerbert Xuconfig CRYPTO_BLKCIPHER 205cde0af2SHerbert Xu tristate 215cde0af2SHerbert Xu select CRYPTO_ALGAPI 225cde0af2SHerbert Xu 23055bcee3SHerbert Xuconfig CRYPTO_HASH 24055bcee3SHerbert Xu tristate 25055bcee3SHerbert Xu select CRYPTO_ALGAPI 26055bcee3SHerbert Xu 272b8c19dbSHerbert Xuconfig CRYPTO_MANAGER 282b8c19dbSHerbert Xu tristate "Cryptographic algorithm manager" 292b8c19dbSHerbert Xu select CRYPTO_ALGAPI 302b8c19dbSHerbert Xu help 312b8c19dbSHerbert Xu Create default cryptographic template instantiations such as 322b8c19dbSHerbert Xu cbc(aes). 332b8c19dbSHerbert Xu 341da177e4SLinus Torvaldsconfig CRYPTO_HMAC 358425165dSHerbert Xu tristate "HMAC support" 360796ae06SHerbert Xu select CRYPTO_HASH 3743518407SHerbert Xu select CRYPTO_MANAGER 381da177e4SLinus Torvalds help 391da177e4SLinus Torvalds HMAC: Keyed-Hashing for Message Authentication (RFC2104). 401da177e4SLinus Torvalds This is required for IPSec. 411da177e4SLinus Torvalds 42*333b0d7eSKazunori MIYAZAWAconfig CRYPTO_XCBC 43*333b0d7eSKazunori MIYAZAWA tristate "XCBC support" 44*333b0d7eSKazunori MIYAZAWA depends on EXPERIMENTAL 45*333b0d7eSKazunori MIYAZAWA select CRYPTO_HASH 46*333b0d7eSKazunori MIYAZAWA select CRYPTO_MANAGER 47*333b0d7eSKazunori MIYAZAWA help 48*333b0d7eSKazunori MIYAZAWA XCBC: Keyed-Hashing with encryption algorithm 49*333b0d7eSKazunori MIYAZAWA http://www.ietf.org/rfc/rfc3566.txt 50*333b0d7eSKazunori MIYAZAWA http://csrc.nist.gov/encryption/modes/proposedmodes/ 51*333b0d7eSKazunori MIYAZAWA xcbc-mac/xcbc-mac-spec.pdf 52*333b0d7eSKazunori MIYAZAWA 531da177e4SLinus Torvaldsconfig CRYPTO_NULL 541da177e4SLinus Torvalds tristate "Null algorithms" 55cce9e06dSHerbert Xu select CRYPTO_ALGAPI 561da177e4SLinus Torvalds help 571da177e4SLinus Torvalds These are 'Null' algorithms, used by IPsec, which do nothing. 581da177e4SLinus Torvalds 591da177e4SLinus Torvaldsconfig CRYPTO_MD4 601da177e4SLinus Torvalds tristate "MD4 digest algorithm" 61cce9e06dSHerbert Xu select CRYPTO_ALGAPI 621da177e4SLinus Torvalds help 631da177e4SLinus Torvalds MD4 message digest algorithm (RFC1320). 641da177e4SLinus Torvalds 651da177e4SLinus Torvaldsconfig CRYPTO_MD5 661da177e4SLinus Torvalds tristate "MD5 digest algorithm" 67cce9e06dSHerbert Xu select CRYPTO_ALGAPI 681da177e4SLinus Torvalds help 691da177e4SLinus Torvalds MD5 message digest algorithm (RFC1321). 701da177e4SLinus Torvalds 711da177e4SLinus Torvaldsconfig CRYPTO_SHA1 721da177e4SLinus Torvalds tristate "SHA1 digest algorithm" 73cce9e06dSHerbert Xu select CRYPTO_ALGAPI 741da177e4SLinus Torvalds help 751da177e4SLinus Torvalds SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 761da177e4SLinus Torvalds 77c1e26e1eSJan Glauberconfig CRYPTO_SHA1_S390 78c1e26e1eSJan Glauber tristate "SHA1 digest algorithm (s390)" 79cce9e06dSHerbert Xu depends on S390 80cce9e06dSHerbert Xu select CRYPTO_ALGAPI 811da177e4SLinus Torvalds help 820a497c17SJan Glauber This is the s390 hardware accelerated implementation of the 831da177e4SLinus Torvalds SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 841da177e4SLinus Torvalds 851da177e4SLinus Torvaldsconfig CRYPTO_SHA256 861da177e4SLinus Torvalds tristate "SHA256 digest algorithm" 87cce9e06dSHerbert Xu select CRYPTO_ALGAPI 881da177e4SLinus Torvalds help 891da177e4SLinus Torvalds SHA256 secure hash standard (DFIPS 180-2). 901da177e4SLinus Torvalds 911da177e4SLinus Torvalds This version of SHA implements a 256 bit hash with 128 bits of 921da177e4SLinus Torvalds security against collision attacks. 931da177e4SLinus Torvalds 940a497c17SJan Glauberconfig CRYPTO_SHA256_S390 950a497c17SJan Glauber tristate "SHA256 digest algorithm (s390)" 96cce9e06dSHerbert Xu depends on S390 97cce9e06dSHerbert Xu select CRYPTO_ALGAPI 980a497c17SJan Glauber help 990a497c17SJan Glauber This is the s390 hardware accelerated implementation of the 1000a497c17SJan Glauber SHA256 secure hash standard (DFIPS 180-2). 1010a497c17SJan Glauber 1020a497c17SJan Glauber This version of SHA implements a 256 bit hash with 128 bits of 1030a497c17SJan Glauber security against collision attacks. 1040a497c17SJan Glauber 1051da177e4SLinus Torvaldsconfig CRYPTO_SHA512 1061da177e4SLinus Torvalds tristate "SHA384 and SHA512 digest algorithms" 107cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1081da177e4SLinus Torvalds help 1091da177e4SLinus Torvalds SHA512 secure hash standard (DFIPS 180-2). 1101da177e4SLinus Torvalds 1111da177e4SLinus Torvalds This version of SHA implements a 512 bit hash with 256 bits of 1121da177e4SLinus Torvalds security against collision attacks. 1131da177e4SLinus Torvalds 1141da177e4SLinus Torvalds This code also includes SHA-384, a 384 bit hash with 192 bits 1151da177e4SLinus Torvalds of security against collision attacks. 1161da177e4SLinus Torvalds 1171da177e4SLinus Torvaldsconfig CRYPTO_WP512 1181da177e4SLinus Torvalds tristate "Whirlpool digest algorithms" 119cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1201da177e4SLinus Torvalds help 1211da177e4SLinus Torvalds Whirlpool hash algorithm 512, 384 and 256-bit hashes 1221da177e4SLinus Torvalds 1231da177e4SLinus Torvalds Whirlpool-512 is part of the NESSIE cryptographic primitives. 1241da177e4SLinus Torvalds Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard 1251da177e4SLinus Torvalds 1261da177e4SLinus Torvalds See also: 1271da177e4SLinus Torvalds <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html> 1281da177e4SLinus Torvalds 1291da177e4SLinus Torvaldsconfig CRYPTO_TGR192 1301da177e4SLinus Torvalds tristate "Tiger digest algorithms" 131cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1321da177e4SLinus Torvalds help 1331da177e4SLinus Torvalds Tiger hash algorithm 192, 160 and 128-bit hashes 1341da177e4SLinus Torvalds 1351da177e4SLinus Torvalds Tiger is a hash function optimized for 64-bit processors while 1361da177e4SLinus Torvalds still having decent performance on 32-bit processors. 1371da177e4SLinus Torvalds Tiger was developed by Ross Anderson and Eli Biham. 1381da177e4SLinus Torvalds 1391da177e4SLinus Torvalds See also: 1401da177e4SLinus Torvalds <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>. 1411da177e4SLinus Torvalds 142db131ef9SHerbert Xuconfig CRYPTO_ECB 143db131ef9SHerbert Xu tristate "ECB support" 144db131ef9SHerbert Xu select CRYPTO_BLKCIPHER 14543518407SHerbert Xu select CRYPTO_MANAGER 146db131ef9SHerbert Xu default m 147db131ef9SHerbert Xu help 148db131ef9SHerbert Xu ECB: Electronic CodeBook mode 149db131ef9SHerbert Xu This is the simplest block cipher algorithm. It simply encrypts 150db131ef9SHerbert Xu the input block by block. 151db131ef9SHerbert Xu 152db131ef9SHerbert Xuconfig CRYPTO_CBC 153db131ef9SHerbert Xu tristate "CBC support" 154db131ef9SHerbert Xu select CRYPTO_BLKCIPHER 15543518407SHerbert Xu select CRYPTO_MANAGER 156db131ef9SHerbert Xu default m 157db131ef9SHerbert Xu help 158db131ef9SHerbert Xu CBC: Cipher Block Chaining mode 159db131ef9SHerbert Xu This block cipher algorithm is required for IPSec. 160db131ef9SHerbert Xu 1611da177e4SLinus Torvaldsconfig CRYPTO_DES 1621da177e4SLinus Torvalds tristate "DES and Triple DES EDE cipher algorithms" 163cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1641da177e4SLinus Torvalds help 1651da177e4SLinus Torvalds DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 1661da177e4SLinus Torvalds 167c1e26e1eSJan Glauberconfig CRYPTO_DES_S390 168c1e26e1eSJan Glauber tristate "DES and Triple DES cipher algorithms (s390)" 169cce9e06dSHerbert Xu depends on S390 170cce9e06dSHerbert Xu select CRYPTO_ALGAPI 171a9e62fadSHerbert Xu select CRYPTO_BLKCIPHER 1721da177e4SLinus Torvalds help 1731da177e4SLinus Torvalds DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 1741da177e4SLinus Torvalds 1751da177e4SLinus Torvaldsconfig CRYPTO_BLOWFISH 1761da177e4SLinus Torvalds tristate "Blowfish cipher algorithm" 177cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1781da177e4SLinus Torvalds help 1791da177e4SLinus Torvalds Blowfish cipher algorithm, by Bruce Schneier. 1801da177e4SLinus Torvalds 1811da177e4SLinus Torvalds This is a variable key length cipher which can use keys from 32 1821da177e4SLinus Torvalds bits to 448 bits in length. It's fast, simple and specifically 1831da177e4SLinus Torvalds designed for use on "large microprocessors". 1841da177e4SLinus Torvalds 1851da177e4SLinus Torvalds See also: 1861da177e4SLinus Torvalds <http://www.schneier.com/blowfish.html> 1871da177e4SLinus Torvalds 1881da177e4SLinus Torvaldsconfig CRYPTO_TWOFISH 1891da177e4SLinus Torvalds tristate "Twofish cipher algorithm" 190cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1912729bb42SJoachim Fritschi select CRYPTO_TWOFISH_COMMON 1921da177e4SLinus Torvalds help 1931da177e4SLinus Torvalds Twofish cipher algorithm. 1941da177e4SLinus Torvalds 1951da177e4SLinus Torvalds Twofish was submitted as an AES (Advanced Encryption Standard) 1961da177e4SLinus Torvalds candidate cipher by researchers at CounterPane Systems. It is a 1971da177e4SLinus Torvalds 16 round block cipher supporting key sizes of 128, 192, and 256 1981da177e4SLinus Torvalds bits. 1991da177e4SLinus Torvalds 2001da177e4SLinus Torvalds See also: 2011da177e4SLinus Torvalds <http://www.schneier.com/twofish.html> 2021da177e4SLinus Torvalds 2032729bb42SJoachim Fritschiconfig CRYPTO_TWOFISH_COMMON 2042729bb42SJoachim Fritschi tristate 2052729bb42SJoachim Fritschi help 2062729bb42SJoachim Fritschi Common parts of the Twofish cipher algorithm shared by the 2072729bb42SJoachim Fritschi generic c and the assembler implementations. 2082729bb42SJoachim Fritschi 209b9f535ffSJoachim Fritschiconfig CRYPTO_TWOFISH_586 210b9f535ffSJoachim Fritschi tristate "Twofish cipher algorithms (i586)" 211cce9e06dSHerbert Xu depends on (X86 || UML_X86) && !64BIT 212cce9e06dSHerbert Xu select CRYPTO_ALGAPI 213b9f535ffSJoachim Fritschi select CRYPTO_TWOFISH_COMMON 214b9f535ffSJoachim Fritschi help 215b9f535ffSJoachim Fritschi Twofish cipher algorithm. 216b9f535ffSJoachim Fritschi 217b9f535ffSJoachim Fritschi Twofish was submitted as an AES (Advanced Encryption Standard) 218b9f535ffSJoachim Fritschi candidate cipher by researchers at CounterPane Systems. It is a 219b9f535ffSJoachim Fritschi 16 round block cipher supporting key sizes of 128, 192, and 256 220b9f535ffSJoachim Fritschi bits. 221b9f535ffSJoachim Fritschi 222b9f535ffSJoachim Fritschi See also: 223b9f535ffSJoachim Fritschi <http://www.schneier.com/twofish.html> 224b9f535ffSJoachim Fritschi 225eaf44088SJoachim Fritschiconfig CRYPTO_TWOFISH_X86_64 226eaf44088SJoachim Fritschi tristate "Twofish cipher algorithm (x86_64)" 227cce9e06dSHerbert Xu depends on (X86 || UML_X86) && 64BIT 228cce9e06dSHerbert Xu select CRYPTO_ALGAPI 229eaf44088SJoachim Fritschi select CRYPTO_TWOFISH_COMMON 230eaf44088SJoachim Fritschi help 231eaf44088SJoachim Fritschi Twofish cipher algorithm (x86_64). 232eaf44088SJoachim Fritschi 233eaf44088SJoachim Fritschi Twofish was submitted as an AES (Advanced Encryption Standard) 234eaf44088SJoachim Fritschi candidate cipher by researchers at CounterPane Systems. It is a 235eaf44088SJoachim Fritschi 16 round block cipher supporting key sizes of 128, 192, and 256 236eaf44088SJoachim Fritschi bits. 237eaf44088SJoachim Fritschi 238eaf44088SJoachim Fritschi See also: 239eaf44088SJoachim Fritschi <http://www.schneier.com/twofish.html> 240eaf44088SJoachim Fritschi 2411da177e4SLinus Torvaldsconfig CRYPTO_SERPENT 2421da177e4SLinus Torvalds tristate "Serpent cipher algorithm" 243cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2441da177e4SLinus Torvalds help 2451da177e4SLinus Torvalds Serpent cipher algorithm, by Anderson, Biham & Knudsen. 2461da177e4SLinus Torvalds 2471da177e4SLinus Torvalds Keys are allowed to be from 0 to 256 bits in length, in steps 2481da177e4SLinus Torvalds of 8 bits. Also includes the 'Tnepres' algorithm, a reversed 2491da177e4SLinus Torvalds variant of Serpent for compatibility with old kerneli code. 2501da177e4SLinus Torvalds 2511da177e4SLinus Torvalds See also: 2521da177e4SLinus Torvalds <http://www.cl.cam.ac.uk/~rja14/serpent.html> 2531da177e4SLinus Torvalds 2541da177e4SLinus Torvaldsconfig CRYPTO_AES 2551da177e4SLinus Torvalds tristate "AES cipher algorithms" 256cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2571da177e4SLinus Torvalds help 2581da177e4SLinus Torvalds AES cipher algorithms (FIPS-197). AES uses the Rijndael 2591da177e4SLinus Torvalds algorithm. 2601da177e4SLinus Torvalds 2611da177e4SLinus Torvalds Rijndael appears to be consistently a very good performer in 2621da177e4SLinus Torvalds both hardware and software across a wide range of computing 2631da177e4SLinus Torvalds environments regardless of its use in feedback or non-feedback 2641da177e4SLinus Torvalds modes. Its key setup time is excellent, and its key agility is 2651da177e4SLinus Torvalds good. Rijndael's very low memory requirements make it very well 2661da177e4SLinus Torvalds suited for restricted-space environments, in which it also 2671da177e4SLinus Torvalds demonstrates excellent performance. Rijndael's operations are 2681da177e4SLinus Torvalds among the easiest to defend against power and timing attacks. 2691da177e4SLinus Torvalds 2701da177e4SLinus Torvalds The AES specifies three key sizes: 128, 192 and 256 bits 2711da177e4SLinus Torvalds 2721da177e4SLinus Torvalds See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information. 2731da177e4SLinus Torvalds 2741da177e4SLinus Torvaldsconfig CRYPTO_AES_586 2751da177e4SLinus Torvalds tristate "AES cipher algorithms (i586)" 276cce9e06dSHerbert Xu depends on (X86 || UML_X86) && !64BIT 277cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2781da177e4SLinus Torvalds help 2791da177e4SLinus Torvalds AES cipher algorithms (FIPS-197). AES uses the Rijndael 2801da177e4SLinus Torvalds algorithm. 2811da177e4SLinus Torvalds 2821da177e4SLinus Torvalds Rijndael appears to be consistently a very good performer in 2831da177e4SLinus Torvalds both hardware and software across a wide range of computing 2841da177e4SLinus Torvalds environments regardless of its use in feedback or non-feedback 2851da177e4SLinus Torvalds modes. Its key setup time is excellent, and its key agility is 2861da177e4SLinus Torvalds good. Rijndael's very low memory requirements make it very well 2871da177e4SLinus Torvalds suited for restricted-space environments, in which it also 2881da177e4SLinus Torvalds demonstrates excellent performance. Rijndael's operations are 2891da177e4SLinus Torvalds among the easiest to defend against power and timing attacks. 2901da177e4SLinus Torvalds 2911da177e4SLinus Torvalds The AES specifies three key sizes: 128, 192 and 256 bits 2921da177e4SLinus Torvalds 2931da177e4SLinus Torvalds See <http://csrc.nist.gov/encryption/aes/> for more information. 2941da177e4SLinus Torvalds 295a2a892a2SAndreas Steinmetzconfig CRYPTO_AES_X86_64 296a2a892a2SAndreas Steinmetz tristate "AES cipher algorithms (x86_64)" 297cce9e06dSHerbert Xu depends on (X86 || UML_X86) && 64BIT 298cce9e06dSHerbert Xu select CRYPTO_ALGAPI 299a2a892a2SAndreas Steinmetz help 300a2a892a2SAndreas Steinmetz AES cipher algorithms (FIPS-197). AES uses the Rijndael 301a2a892a2SAndreas Steinmetz algorithm. 302a2a892a2SAndreas Steinmetz 303a2a892a2SAndreas Steinmetz Rijndael appears to be consistently a very good performer in 304a2a892a2SAndreas Steinmetz both hardware and software across a wide range of computing 305a2a892a2SAndreas Steinmetz environments regardless of its use in feedback or non-feedback 306a2a892a2SAndreas Steinmetz modes. Its key setup time is excellent, and its key agility is 307a2a892a2SAndreas Steinmetz good. Rijndael's very low memory requirements make it very well 308a2a892a2SAndreas Steinmetz suited for restricted-space environments, in which it also 309a2a892a2SAndreas Steinmetz demonstrates excellent performance. Rijndael's operations are 310a2a892a2SAndreas Steinmetz among the easiest to defend against power and timing attacks. 311a2a892a2SAndreas Steinmetz 312a2a892a2SAndreas Steinmetz The AES specifies three key sizes: 128, 192 and 256 bits 313a2a892a2SAndreas Steinmetz 314a2a892a2SAndreas Steinmetz See <http://csrc.nist.gov/encryption/aes/> for more information. 315a2a892a2SAndreas Steinmetz 316bf754ae8SJan Glauberconfig CRYPTO_AES_S390 317bf754ae8SJan Glauber tristate "AES cipher algorithms (s390)" 318cce9e06dSHerbert Xu depends on S390 319cce9e06dSHerbert Xu select CRYPTO_ALGAPI 320a9e62fadSHerbert Xu select CRYPTO_BLKCIPHER 321bf754ae8SJan Glauber help 322bf754ae8SJan Glauber This is the s390 hardware accelerated implementation of the 323bf754ae8SJan Glauber AES cipher algorithms (FIPS-197). AES uses the Rijndael 324bf754ae8SJan Glauber algorithm. 325bf754ae8SJan Glauber 326bf754ae8SJan Glauber Rijndael appears to be consistently a very good performer in 327bf754ae8SJan Glauber both hardware and software across a wide range of computing 328bf754ae8SJan Glauber environments regardless of its use in feedback or non-feedback 329bf754ae8SJan Glauber modes. Its key setup time is excellent, and its key agility is 330bf754ae8SJan Glauber good. Rijndael's very low memory requirements make it very well 331bf754ae8SJan Glauber suited for restricted-space environments, in which it also 332bf754ae8SJan Glauber demonstrates excellent performance. Rijndael's operations are 333bf754ae8SJan Glauber among the easiest to defend against power and timing attacks. 334bf754ae8SJan Glauber 335bf754ae8SJan Glauber On s390 the System z9-109 currently only supports the key size 336bf754ae8SJan Glauber of 128 bit. 337bf754ae8SJan Glauber 3381da177e4SLinus Torvaldsconfig CRYPTO_CAST5 3391da177e4SLinus Torvalds tristate "CAST5 (CAST-128) cipher algorithm" 340cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3411da177e4SLinus Torvalds help 3421da177e4SLinus Torvalds The CAST5 encryption algorithm (synonymous with CAST-128) is 3431da177e4SLinus Torvalds described in RFC2144. 3441da177e4SLinus Torvalds 3451da177e4SLinus Torvaldsconfig CRYPTO_CAST6 3461da177e4SLinus Torvalds tristate "CAST6 (CAST-256) cipher algorithm" 347cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3481da177e4SLinus Torvalds help 3491da177e4SLinus Torvalds The CAST6 encryption algorithm (synonymous with CAST-256) is 3501da177e4SLinus Torvalds described in RFC2612. 3511da177e4SLinus Torvalds 3521da177e4SLinus Torvaldsconfig CRYPTO_TEA 353fb4f10edSAaron Grothe tristate "TEA, XTEA and XETA cipher algorithms" 354cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3551da177e4SLinus Torvalds help 3561da177e4SLinus Torvalds TEA cipher algorithm. 3571da177e4SLinus Torvalds 3581da177e4SLinus Torvalds Tiny Encryption Algorithm is a simple cipher that uses 3591da177e4SLinus Torvalds many rounds for security. It is very fast and uses 3601da177e4SLinus Torvalds little memory. 3611da177e4SLinus Torvalds 3621da177e4SLinus Torvalds Xtendend Tiny Encryption Algorithm is a modification to 3631da177e4SLinus Torvalds the TEA algorithm to address a potential key weakness 3641da177e4SLinus Torvalds in the TEA algorithm. 3651da177e4SLinus Torvalds 366fb4f10edSAaron Grothe Xtendend Encryption Tiny Algorithm is a mis-implementation 367fb4f10edSAaron Grothe of the XTEA algorithm for compatibility purposes. 368fb4f10edSAaron Grothe 3691da177e4SLinus Torvaldsconfig CRYPTO_ARC4 3701da177e4SLinus Torvalds tristate "ARC4 cipher algorithm" 371cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3721da177e4SLinus Torvalds help 3731da177e4SLinus Torvalds ARC4 cipher algorithm. 3741da177e4SLinus Torvalds 3751da177e4SLinus Torvalds ARC4 is a stream cipher using keys ranging from 8 bits to 2048 3761da177e4SLinus Torvalds bits in length. This algorithm is required for driver-based 3771da177e4SLinus Torvalds WEP, but it should not be for other purposes because of the 3781da177e4SLinus Torvalds weakness of the algorithm. 3791da177e4SLinus Torvalds 3801da177e4SLinus Torvaldsconfig CRYPTO_KHAZAD 3811da177e4SLinus Torvalds tristate "Khazad cipher algorithm" 382cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3831da177e4SLinus Torvalds help 3841da177e4SLinus Torvalds Khazad cipher algorithm. 3851da177e4SLinus Torvalds 3861da177e4SLinus Torvalds Khazad was a finalist in the initial NESSIE competition. It is 3871da177e4SLinus Torvalds an algorithm optimized for 64-bit processors with good performance 3881da177e4SLinus Torvalds on 32-bit processors. Khazad uses an 128 bit key size. 3891da177e4SLinus Torvalds 3901da177e4SLinus Torvalds See also: 3911da177e4SLinus Torvalds <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html> 3921da177e4SLinus Torvalds 3931da177e4SLinus Torvaldsconfig CRYPTO_ANUBIS 3941da177e4SLinus Torvalds tristate "Anubis cipher algorithm" 395cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3961da177e4SLinus Torvalds help 3971da177e4SLinus Torvalds Anubis cipher algorithm. 3981da177e4SLinus Torvalds 3991da177e4SLinus Torvalds Anubis is a variable key length cipher which can use keys from 4001da177e4SLinus Torvalds 128 bits to 320 bits in length. It was evaluated as a entrant 4011da177e4SLinus Torvalds in the NESSIE competition. 4021da177e4SLinus Torvalds 4031da177e4SLinus Torvalds See also: 4041da177e4SLinus Torvalds <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/> 4051da177e4SLinus Torvalds <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html> 4061da177e4SLinus Torvalds 4071da177e4SLinus Torvalds 4081da177e4SLinus Torvaldsconfig CRYPTO_DEFLATE 4091da177e4SLinus Torvalds tristate "Deflate compression algorithm" 410cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4111da177e4SLinus Torvalds select ZLIB_INFLATE 4121da177e4SLinus Torvalds select ZLIB_DEFLATE 4131da177e4SLinus Torvalds help 4141da177e4SLinus Torvalds This is the Deflate algorithm (RFC1951), specified for use in 4151da177e4SLinus Torvalds IPSec with the IPCOMP protocol (RFC3173, RFC2394). 4161da177e4SLinus Torvalds 4171da177e4SLinus Torvalds You will most probably want this if using IPSec. 4181da177e4SLinus Torvalds 4191da177e4SLinus Torvaldsconfig CRYPTO_MICHAEL_MIC 4201da177e4SLinus Torvalds tristate "Michael MIC keyed digest algorithm" 421cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4221da177e4SLinus Torvalds help 4231da177e4SLinus Torvalds Michael MIC is used for message integrity protection in TKIP 4241da177e4SLinus Torvalds (IEEE 802.11i). This algorithm is required for TKIP, but it 4251da177e4SLinus Torvalds should not be used for other purposes because of the weakness 4261da177e4SLinus Torvalds of the algorithm. 4271da177e4SLinus Torvalds 4281da177e4SLinus Torvaldsconfig CRYPTO_CRC32C 4291da177e4SLinus Torvalds tristate "CRC32c CRC algorithm" 430cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4311da177e4SLinus Torvalds select LIBCRC32C 4321da177e4SLinus Torvalds help 4331da177e4SLinus Torvalds Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used 4341da177e4SLinus Torvalds by iSCSI for header and data digests and by others. 4351da177e4SLinus Torvalds See Castagnoli93. This implementation uses lib/libcrc32c. 4361da177e4SLinus Torvalds Module will be crc32c. 4371da177e4SLinus Torvalds 4381da177e4SLinus Torvaldsconfig CRYPTO_TEST 4391da177e4SLinus Torvalds tristate "Testing module" 440cce9e06dSHerbert Xu depends on m 441cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4421da177e4SLinus Torvalds help 4431da177e4SLinus Torvalds Quick & dirty crypto test module. 4441da177e4SLinus Torvalds 4451da177e4SLinus Torvaldssource "drivers/crypto/Kconfig" 4461da177e4SLinus Torvalds 447cce9e06dSHerbert Xuendif # if CRYPTO 448cce9e06dSHerbert Xu 449cce9e06dSHerbert Xuendmenu 450