11da177e4SLinus Torvalds# 2685784aaSDan Williams# Generic algorithms support 3685784aaSDan Williams# 4685784aaSDan Williamsconfig XOR_BLOCKS 5685784aaSDan Williams tristate 6685784aaSDan Williams 7685784aaSDan Williams# 89bc89cd8SDan Williams# async_tx api: hardware offloaded memory transfer/transform support 99bc89cd8SDan Williams# 109bc89cd8SDan Williamssource "crypto/async_tx/Kconfig" 119bc89cd8SDan Williams 129bc89cd8SDan Williams# 131da177e4SLinus Torvalds# Cryptographic API Configuration 141da177e4SLinus Torvalds# 152e290f43SJan Engelhardtmenuconfig CRYPTO 161da177e4SLinus Torvalds bool "Cryptographic API" 171da177e4SLinus Torvalds help 181da177e4SLinus Torvalds This option provides the core Cryptographic API. 191da177e4SLinus Torvalds 20cce9e06dSHerbert Xuif CRYPTO 21cce9e06dSHerbert Xu 22cce9e06dSHerbert Xuconfig CRYPTO_ALGAPI 23cce9e06dSHerbert Xu tristate 24cce9e06dSHerbert Xu help 25cce9e06dSHerbert Xu This option provides the API for cryptographic algorithms. 26cce9e06dSHerbert Xu 271ae97820SHerbert Xuconfig CRYPTO_AEAD 281ae97820SHerbert Xu tristate 291ae97820SHerbert Xu select CRYPTO_ALGAPI 301ae97820SHerbert Xu 315cde0af2SHerbert Xuconfig CRYPTO_BLKCIPHER 325cde0af2SHerbert Xu tristate 335cde0af2SHerbert Xu select CRYPTO_ALGAPI 345cde0af2SHerbert Xu 35055bcee3SHerbert Xuconfig CRYPTO_HASH 36055bcee3SHerbert Xu tristate 37055bcee3SHerbert Xu select CRYPTO_ALGAPI 38055bcee3SHerbert Xu 392b8c19dbSHerbert Xuconfig CRYPTO_MANAGER 402b8c19dbSHerbert Xu tristate "Cryptographic algorithm manager" 412b8c19dbSHerbert Xu select CRYPTO_ALGAPI 422b8c19dbSHerbert Xu help 432b8c19dbSHerbert Xu Create default cryptographic template instantiations such as 442b8c19dbSHerbert Xu cbc(aes). 452b8c19dbSHerbert Xu 461da177e4SLinus Torvaldsconfig CRYPTO_HMAC 478425165dSHerbert Xu tristate "HMAC support" 480796ae06SHerbert Xu select CRYPTO_HASH 4943518407SHerbert Xu select CRYPTO_MANAGER 501da177e4SLinus Torvalds help 511da177e4SLinus Torvalds HMAC: Keyed-Hashing for Message Authentication (RFC2104). 521da177e4SLinus Torvalds This is required for IPSec. 531da177e4SLinus Torvalds 54333b0d7eSKazunori MIYAZAWAconfig CRYPTO_XCBC 55333b0d7eSKazunori MIYAZAWA tristate "XCBC support" 56333b0d7eSKazunori MIYAZAWA depends on EXPERIMENTAL 57333b0d7eSKazunori MIYAZAWA select CRYPTO_HASH 58333b0d7eSKazunori MIYAZAWA select CRYPTO_MANAGER 59333b0d7eSKazunori MIYAZAWA help 60333b0d7eSKazunori MIYAZAWA XCBC: Keyed-Hashing with encryption algorithm 61333b0d7eSKazunori MIYAZAWA http://www.ietf.org/rfc/rfc3566.txt 62333b0d7eSKazunori MIYAZAWA http://csrc.nist.gov/encryption/modes/proposedmodes/ 63333b0d7eSKazunori MIYAZAWA xcbc-mac/xcbc-mac-spec.pdf 64333b0d7eSKazunori MIYAZAWA 651da177e4SLinus Torvaldsconfig CRYPTO_NULL 661da177e4SLinus Torvalds tristate "Null algorithms" 67cce9e06dSHerbert Xu select CRYPTO_ALGAPI 681da177e4SLinus Torvalds help 691da177e4SLinus Torvalds These are 'Null' algorithms, used by IPsec, which do nothing. 701da177e4SLinus Torvalds 711da177e4SLinus Torvaldsconfig CRYPTO_MD4 721da177e4SLinus Torvalds tristate "MD4 digest algorithm" 73cce9e06dSHerbert Xu select CRYPTO_ALGAPI 741da177e4SLinus Torvalds help 751da177e4SLinus Torvalds MD4 message digest algorithm (RFC1320). 761da177e4SLinus Torvalds 771da177e4SLinus Torvaldsconfig CRYPTO_MD5 781da177e4SLinus Torvalds tristate "MD5 digest algorithm" 79cce9e06dSHerbert Xu select CRYPTO_ALGAPI 801da177e4SLinus Torvalds help 811da177e4SLinus Torvalds MD5 message digest algorithm (RFC1321). 821da177e4SLinus Torvalds 831da177e4SLinus Torvaldsconfig CRYPTO_SHA1 841da177e4SLinus Torvalds tristate "SHA1 digest algorithm" 85cce9e06dSHerbert Xu select CRYPTO_ALGAPI 861da177e4SLinus Torvalds help 871da177e4SLinus Torvalds SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 881da177e4SLinus Torvalds 891da177e4SLinus Torvaldsconfig CRYPTO_SHA256 90cd12fb90SJonathan Lynch tristate "SHA224 and SHA256 digest algorithm" 91cce9e06dSHerbert Xu select CRYPTO_ALGAPI 921da177e4SLinus Torvalds help 931da177e4SLinus Torvalds SHA256 secure hash standard (DFIPS 180-2). 941da177e4SLinus Torvalds 951da177e4SLinus Torvalds This version of SHA implements a 256 bit hash with 128 bits of 961da177e4SLinus Torvalds security against collision attacks. 971da177e4SLinus Torvalds 98cd12fb90SJonathan Lynch This code also includes SHA-224, a 224 bit hash with 112 bits 99cd12fb90SJonathan Lynch of security against collision attacks. 100cd12fb90SJonathan Lynch 1011da177e4SLinus Torvaldsconfig CRYPTO_SHA512 1021da177e4SLinus Torvalds tristate "SHA384 and SHA512 digest algorithms" 103cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1041da177e4SLinus Torvalds help 1051da177e4SLinus Torvalds SHA512 secure hash standard (DFIPS 180-2). 1061da177e4SLinus Torvalds 1071da177e4SLinus Torvalds This version of SHA implements a 512 bit hash with 256 bits of 1081da177e4SLinus Torvalds security against collision attacks. 1091da177e4SLinus Torvalds 1101da177e4SLinus Torvalds This code also includes SHA-384, a 384 bit hash with 192 bits 1111da177e4SLinus Torvalds of security against collision attacks. 1121da177e4SLinus Torvalds 1131da177e4SLinus Torvaldsconfig CRYPTO_WP512 1141da177e4SLinus Torvalds tristate "Whirlpool digest algorithms" 115cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1161da177e4SLinus Torvalds help 1171da177e4SLinus Torvalds Whirlpool hash algorithm 512, 384 and 256-bit hashes 1181da177e4SLinus Torvalds 1191da177e4SLinus Torvalds Whirlpool-512 is part of the NESSIE cryptographic primitives. 1201da177e4SLinus Torvalds Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard 1211da177e4SLinus Torvalds 1221da177e4SLinus Torvalds See also: 1231da177e4SLinus Torvalds <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html> 1241da177e4SLinus Torvalds 1251da177e4SLinus Torvaldsconfig CRYPTO_TGR192 1261da177e4SLinus Torvalds tristate "Tiger digest algorithms" 127cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1281da177e4SLinus Torvalds help 1291da177e4SLinus Torvalds Tiger hash algorithm 192, 160 and 128-bit hashes 1301da177e4SLinus Torvalds 1311da177e4SLinus Torvalds Tiger is a hash function optimized for 64-bit processors while 1321da177e4SLinus Torvalds still having decent performance on 32-bit processors. 1331da177e4SLinus Torvalds Tiger was developed by Ross Anderson and Eli Biham. 1341da177e4SLinus Torvalds 1351da177e4SLinus Torvalds See also: 1361da177e4SLinus Torvalds <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>. 1371da177e4SLinus Torvalds 138c494e070SRik Snelconfig CRYPTO_GF128MUL 139c494e070SRik Snel tristate "GF(2^128) multiplication functions (EXPERIMENTAL)" 140c494e070SRik Snel depends on EXPERIMENTAL 141c494e070SRik Snel help 142c494e070SRik Snel Efficient table driven implementation of multiplications in the 143c494e070SRik Snel field GF(2^128). This is needed by some cypher modes. This 144c494e070SRik Snel option will be selected automatically if you select such a 145c494e070SRik Snel cipher mode. Only select this option by hand if you expect to load 146c494e070SRik Snel an external module that requires these functions. 147c494e070SRik Snel 148db131ef9SHerbert Xuconfig CRYPTO_ECB 149db131ef9SHerbert Xu tristate "ECB support" 150db131ef9SHerbert Xu select CRYPTO_BLKCIPHER 15143518407SHerbert Xu select CRYPTO_MANAGER 152db131ef9SHerbert Xu help 153db131ef9SHerbert Xu ECB: Electronic CodeBook mode 154db131ef9SHerbert Xu This is the simplest block cipher algorithm. It simply encrypts 155db131ef9SHerbert Xu the input block by block. 156db131ef9SHerbert Xu 157db131ef9SHerbert Xuconfig CRYPTO_CBC 158db131ef9SHerbert Xu tristate "CBC support" 159db131ef9SHerbert Xu select CRYPTO_BLKCIPHER 16043518407SHerbert Xu select CRYPTO_MANAGER 161db131ef9SHerbert Xu help 162db131ef9SHerbert Xu CBC: Cipher Block Chaining mode 163db131ef9SHerbert Xu This block cipher algorithm is required for IPSec. 164db131ef9SHerbert Xu 16591652be5SDavid Howellsconfig CRYPTO_PCBC 16691652be5SDavid Howells tristate "PCBC support" 16791652be5SDavid Howells select CRYPTO_BLKCIPHER 16891652be5SDavid Howells select CRYPTO_MANAGER 16991652be5SDavid Howells help 17091652be5SDavid Howells PCBC: Propagating Cipher Block Chaining mode 17191652be5SDavid Howells This block cipher algorithm is required for RxRPC. 17291652be5SDavid Howells 17364470f1bSRik Snelconfig CRYPTO_LRW 17464470f1bSRik Snel tristate "LRW support (EXPERIMENTAL)" 17564470f1bSRik Snel depends on EXPERIMENTAL 17664470f1bSRik Snel select CRYPTO_BLKCIPHER 17764470f1bSRik Snel select CRYPTO_MANAGER 17864470f1bSRik Snel select CRYPTO_GF128MUL 17964470f1bSRik Snel help 18064470f1bSRik Snel LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable 18164470f1bSRik Snel narrow block cipher mode for dm-crypt. Use it with cipher 18264470f1bSRik Snel specification string aes-lrw-benbi, the key must be 256, 320 or 384. 18364470f1bSRik Snel The first 128, 192 or 256 bits in the key are used for AES and the 18464470f1bSRik Snel rest is used to tie each cipher block to its logical position. 18564470f1bSRik Snel 186f19f5111SRik Snelconfig CRYPTO_XTS 187f19f5111SRik Snel tristate "XTS support (EXPERIMENTAL)" 188f19f5111SRik Snel depends on EXPERIMENTAL 189f19f5111SRik Snel select CRYPTO_BLKCIPHER 190f19f5111SRik Snel select CRYPTO_MANAGER 191f19f5111SRik Snel select CRYPTO_GF128MUL 192f19f5111SRik Snel help 193f19f5111SRik Snel XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain, 194f19f5111SRik Snel key size 256, 384 or 512 bits. This implementation currently 195f19f5111SRik Snel can't handle a sectorsize which is not a multiple of 16 bytes. 196f19f5111SRik Snel 19723e353c8SJoy Lattenconfig CRYPTO_CTR 19823e353c8SJoy Latten tristate "CTR support" 19923e353c8SJoy Latten select CRYPTO_BLKCIPHER 20023e353c8SJoy Latten select CRYPTO_MANAGER 20123e353c8SJoy Latten help 20223e353c8SJoy Latten CTR: Counter mode 20323e353c8SJoy Latten This block cipher algorithm is required for IPSec. 20423e353c8SJoy Latten 20528db8e3eSMikko Herranenconfig CRYPTO_GCM 20628db8e3eSMikko Herranen tristate "GCM/GMAC support" 20728db8e3eSMikko Herranen select CRYPTO_CTR 20828db8e3eSMikko Herranen select CRYPTO_AEAD 20928db8e3eSMikko Herranen select CRYPTO_GF128MUL 21028db8e3eSMikko Herranen help 21128db8e3eSMikko Herranen Support for Galois/Counter Mode (GCM) and Galois Message 21228db8e3eSMikko Herranen Authentication Code (GMAC). Required for IPSec. 21328db8e3eSMikko Herranen 214124b53d0SHerbert Xuconfig CRYPTO_CRYPTD 215124b53d0SHerbert Xu tristate "Software async crypto daemon" 216*653ebd9cSHerbert Xu select CRYPTO_BLKCIPHER 217124b53d0SHerbert Xu select CRYPTO_MANAGER 218124b53d0SHerbert Xu help 219124b53d0SHerbert Xu This is a generic software asynchronous crypto daemon that 220124b53d0SHerbert Xu converts an arbitrary synchronous software crypto algorithm 221124b53d0SHerbert Xu into an asynchronous algorithm that executes in a kernel thread. 222124b53d0SHerbert Xu 2231da177e4SLinus Torvaldsconfig CRYPTO_DES 2241da177e4SLinus Torvalds tristate "DES and Triple DES EDE cipher algorithms" 225cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2261da177e4SLinus Torvalds help 2271da177e4SLinus Torvalds DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 2281da177e4SLinus Torvalds 22990831639SDavid Howellsconfig CRYPTO_FCRYPT 23090831639SDavid Howells tristate "FCrypt cipher algorithm" 23190831639SDavid Howells select CRYPTO_ALGAPI 23290831639SDavid Howells select CRYPTO_BLKCIPHER 23390831639SDavid Howells help 23490831639SDavid Howells FCrypt algorithm used by RxRPC. 23590831639SDavid Howells 2361da177e4SLinus Torvaldsconfig CRYPTO_BLOWFISH 2371da177e4SLinus Torvalds tristate "Blowfish cipher algorithm" 238cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2391da177e4SLinus Torvalds help 2401da177e4SLinus Torvalds Blowfish cipher algorithm, by Bruce Schneier. 2411da177e4SLinus Torvalds 2421da177e4SLinus Torvalds This is a variable key length cipher which can use keys from 32 2431da177e4SLinus Torvalds bits to 448 bits in length. It's fast, simple and specifically 2441da177e4SLinus Torvalds designed for use on "large microprocessors". 2451da177e4SLinus Torvalds 2461da177e4SLinus Torvalds See also: 2471da177e4SLinus Torvalds <http://www.schneier.com/blowfish.html> 2481da177e4SLinus Torvalds 2491da177e4SLinus Torvaldsconfig CRYPTO_TWOFISH 2501da177e4SLinus Torvalds tristate "Twofish cipher algorithm" 251cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2522729bb42SJoachim Fritschi select CRYPTO_TWOFISH_COMMON 2531da177e4SLinus Torvalds help 2541da177e4SLinus Torvalds Twofish cipher algorithm. 2551da177e4SLinus Torvalds 2561da177e4SLinus Torvalds Twofish was submitted as an AES (Advanced Encryption Standard) 2571da177e4SLinus Torvalds candidate cipher by researchers at CounterPane Systems. It is a 2581da177e4SLinus Torvalds 16 round block cipher supporting key sizes of 128, 192, and 256 2591da177e4SLinus Torvalds bits. 2601da177e4SLinus Torvalds 2611da177e4SLinus Torvalds See also: 2621da177e4SLinus Torvalds <http://www.schneier.com/twofish.html> 2631da177e4SLinus Torvalds 2642729bb42SJoachim Fritschiconfig CRYPTO_TWOFISH_COMMON 2652729bb42SJoachim Fritschi tristate 2662729bb42SJoachim Fritschi help 2672729bb42SJoachim Fritschi Common parts of the Twofish cipher algorithm shared by the 2682729bb42SJoachim Fritschi generic c and the assembler implementations. 2692729bb42SJoachim Fritschi 270b9f535ffSJoachim Fritschiconfig CRYPTO_TWOFISH_586 271b9f535ffSJoachim Fritschi tristate "Twofish cipher algorithms (i586)" 272cce9e06dSHerbert Xu depends on (X86 || UML_X86) && !64BIT 273cce9e06dSHerbert Xu select CRYPTO_ALGAPI 274b9f535ffSJoachim Fritschi select CRYPTO_TWOFISH_COMMON 275b9f535ffSJoachim Fritschi help 276b9f535ffSJoachim Fritschi Twofish cipher algorithm. 277b9f535ffSJoachim Fritschi 278b9f535ffSJoachim Fritschi Twofish was submitted as an AES (Advanced Encryption Standard) 279b9f535ffSJoachim Fritschi candidate cipher by researchers at CounterPane Systems. It is a 280b9f535ffSJoachim Fritschi 16 round block cipher supporting key sizes of 128, 192, and 256 281b9f535ffSJoachim Fritschi bits. 282b9f535ffSJoachim Fritschi 283b9f535ffSJoachim Fritschi See also: 284b9f535ffSJoachim Fritschi <http://www.schneier.com/twofish.html> 285b9f535ffSJoachim Fritschi 286eaf44088SJoachim Fritschiconfig CRYPTO_TWOFISH_X86_64 287eaf44088SJoachim Fritschi tristate "Twofish cipher algorithm (x86_64)" 288cce9e06dSHerbert Xu depends on (X86 || UML_X86) && 64BIT 289cce9e06dSHerbert Xu select CRYPTO_ALGAPI 290eaf44088SJoachim Fritschi select CRYPTO_TWOFISH_COMMON 291eaf44088SJoachim Fritschi help 292eaf44088SJoachim Fritschi Twofish cipher algorithm (x86_64). 293eaf44088SJoachim Fritschi 294eaf44088SJoachim Fritschi Twofish was submitted as an AES (Advanced Encryption Standard) 295eaf44088SJoachim Fritschi candidate cipher by researchers at CounterPane Systems. It is a 296eaf44088SJoachim Fritschi 16 round block cipher supporting key sizes of 128, 192, and 256 297eaf44088SJoachim Fritschi bits. 298eaf44088SJoachim Fritschi 299eaf44088SJoachim Fritschi See also: 300eaf44088SJoachim Fritschi <http://www.schneier.com/twofish.html> 301eaf44088SJoachim Fritschi 3021da177e4SLinus Torvaldsconfig CRYPTO_SERPENT 3031da177e4SLinus Torvalds tristate "Serpent cipher algorithm" 304cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3051da177e4SLinus Torvalds help 3061da177e4SLinus Torvalds Serpent cipher algorithm, by Anderson, Biham & Knudsen. 3071da177e4SLinus Torvalds 3081da177e4SLinus Torvalds Keys are allowed to be from 0 to 256 bits in length, in steps 3091da177e4SLinus Torvalds of 8 bits. Also includes the 'Tnepres' algorithm, a reversed 3103dde6ad8SDavid Sterba variant of Serpent for compatibility with old kerneli.org code. 3111da177e4SLinus Torvalds 3121da177e4SLinus Torvalds See also: 3131da177e4SLinus Torvalds <http://www.cl.cam.ac.uk/~rja14/serpent.html> 3141da177e4SLinus Torvalds 3151da177e4SLinus Torvaldsconfig CRYPTO_AES 3161da177e4SLinus Torvalds tristate "AES cipher algorithms" 317cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3181da177e4SLinus Torvalds help 3191da177e4SLinus Torvalds AES cipher algorithms (FIPS-197). AES uses the Rijndael 3201da177e4SLinus Torvalds algorithm. 3211da177e4SLinus Torvalds 3221da177e4SLinus Torvalds Rijndael appears to be consistently a very good performer in 3231da177e4SLinus Torvalds both hardware and software across a wide range of computing 3241da177e4SLinus Torvalds environments regardless of its use in feedback or non-feedback 3251da177e4SLinus Torvalds modes. Its key setup time is excellent, and its key agility is 3261da177e4SLinus Torvalds good. Rijndael's very low memory requirements make it very well 3271da177e4SLinus Torvalds suited for restricted-space environments, in which it also 3281da177e4SLinus Torvalds demonstrates excellent performance. Rijndael's operations are 3291da177e4SLinus Torvalds among the easiest to defend against power and timing attacks. 3301da177e4SLinus Torvalds 3311da177e4SLinus Torvalds The AES specifies three key sizes: 128, 192 and 256 bits 3321da177e4SLinus Torvalds 3331da177e4SLinus Torvalds See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information. 3341da177e4SLinus Torvalds 3351da177e4SLinus Torvaldsconfig CRYPTO_AES_586 3361da177e4SLinus Torvalds tristate "AES cipher algorithms (i586)" 337cce9e06dSHerbert Xu depends on (X86 || UML_X86) && !64BIT 338cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3395157dea8SSebastian Siewior select CRYPTO_AES 3401da177e4SLinus Torvalds help 3411da177e4SLinus Torvalds AES cipher algorithms (FIPS-197). AES uses the Rijndael 3421da177e4SLinus Torvalds algorithm. 3431da177e4SLinus Torvalds 3441da177e4SLinus Torvalds Rijndael appears to be consistently a very good performer in 3451da177e4SLinus Torvalds both hardware and software across a wide range of computing 3461da177e4SLinus Torvalds environments regardless of its use in feedback or non-feedback 3471da177e4SLinus Torvalds modes. Its key setup time is excellent, and its key agility is 3481da177e4SLinus Torvalds good. Rijndael's very low memory requirements make it very well 3491da177e4SLinus Torvalds suited for restricted-space environments, in which it also 3501da177e4SLinus Torvalds demonstrates excellent performance. Rijndael's operations are 3511da177e4SLinus Torvalds among the easiest to defend against power and timing attacks. 3521da177e4SLinus Torvalds 3531da177e4SLinus Torvalds The AES specifies three key sizes: 128, 192 and 256 bits 3541da177e4SLinus Torvalds 3551da177e4SLinus Torvalds See <http://csrc.nist.gov/encryption/aes/> for more information. 3561da177e4SLinus Torvalds 357a2a892a2SAndreas Steinmetzconfig CRYPTO_AES_X86_64 358a2a892a2SAndreas Steinmetz tristate "AES cipher algorithms (x86_64)" 359cce9e06dSHerbert Xu depends on (X86 || UML_X86) && 64BIT 360cce9e06dSHerbert Xu select CRYPTO_ALGAPI 36181190b32SSebastian Siewior select CRYPTO_AES 362a2a892a2SAndreas Steinmetz help 363a2a892a2SAndreas Steinmetz AES cipher algorithms (FIPS-197). AES uses the Rijndael 364a2a892a2SAndreas Steinmetz algorithm. 365a2a892a2SAndreas Steinmetz 366a2a892a2SAndreas Steinmetz Rijndael appears to be consistently a very good performer in 367a2a892a2SAndreas Steinmetz both hardware and software across a wide range of computing 368a2a892a2SAndreas Steinmetz environments regardless of its use in feedback or non-feedback 369a2a892a2SAndreas Steinmetz modes. Its key setup time is excellent, and its key agility is 370a2a892a2SAndreas Steinmetz good. Rijndael's very low memory requirements make it very well 371a2a892a2SAndreas Steinmetz suited for restricted-space environments, in which it also 372a2a892a2SAndreas Steinmetz demonstrates excellent performance. Rijndael's operations are 373a2a892a2SAndreas Steinmetz among the easiest to defend against power and timing attacks. 374a2a892a2SAndreas Steinmetz 375a2a892a2SAndreas Steinmetz The AES specifies three key sizes: 128, 192 and 256 bits 376a2a892a2SAndreas Steinmetz 377a2a892a2SAndreas Steinmetz See <http://csrc.nist.gov/encryption/aes/> for more information. 378a2a892a2SAndreas Steinmetz 3791da177e4SLinus Torvaldsconfig CRYPTO_CAST5 3801da177e4SLinus Torvalds tristate "CAST5 (CAST-128) cipher algorithm" 381cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3821da177e4SLinus Torvalds help 3831da177e4SLinus Torvalds The CAST5 encryption algorithm (synonymous with CAST-128) is 3841da177e4SLinus Torvalds described in RFC2144. 3851da177e4SLinus Torvalds 3861da177e4SLinus Torvaldsconfig CRYPTO_CAST6 3871da177e4SLinus Torvalds tristate "CAST6 (CAST-256) cipher algorithm" 388cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3891da177e4SLinus Torvalds help 3901da177e4SLinus Torvalds The CAST6 encryption algorithm (synonymous with CAST-256) is 3911da177e4SLinus Torvalds described in RFC2612. 3921da177e4SLinus Torvalds 3931da177e4SLinus Torvaldsconfig CRYPTO_TEA 394fb4f10edSAaron Grothe tristate "TEA, XTEA and XETA cipher algorithms" 395cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3961da177e4SLinus Torvalds help 3971da177e4SLinus Torvalds TEA cipher algorithm. 3981da177e4SLinus Torvalds 3991da177e4SLinus Torvalds Tiny Encryption Algorithm is a simple cipher that uses 4001da177e4SLinus Torvalds many rounds for security. It is very fast and uses 4011da177e4SLinus Torvalds little memory. 4021da177e4SLinus Torvalds 4031da177e4SLinus Torvalds Xtendend Tiny Encryption Algorithm is a modification to 4041da177e4SLinus Torvalds the TEA algorithm to address a potential key weakness 4051da177e4SLinus Torvalds in the TEA algorithm. 4061da177e4SLinus Torvalds 407fb4f10edSAaron Grothe Xtendend Encryption Tiny Algorithm is a mis-implementation 408fb4f10edSAaron Grothe of the XTEA algorithm for compatibility purposes. 409fb4f10edSAaron Grothe 4101da177e4SLinus Torvaldsconfig CRYPTO_ARC4 4111da177e4SLinus Torvalds tristate "ARC4 cipher algorithm" 412cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4131da177e4SLinus Torvalds help 4141da177e4SLinus Torvalds ARC4 cipher algorithm. 4151da177e4SLinus Torvalds 4161da177e4SLinus Torvalds ARC4 is a stream cipher using keys ranging from 8 bits to 2048 4171da177e4SLinus Torvalds bits in length. This algorithm is required for driver-based 4181da177e4SLinus Torvalds WEP, but it should not be for other purposes because of the 4191da177e4SLinus Torvalds weakness of the algorithm. 4201da177e4SLinus Torvalds 4211da177e4SLinus Torvaldsconfig CRYPTO_KHAZAD 4221da177e4SLinus Torvalds tristate "Khazad cipher algorithm" 423cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4241da177e4SLinus Torvalds help 4251da177e4SLinus Torvalds Khazad cipher algorithm. 4261da177e4SLinus Torvalds 4271da177e4SLinus Torvalds Khazad was a finalist in the initial NESSIE competition. It is 4281da177e4SLinus Torvalds an algorithm optimized for 64-bit processors with good performance 4291da177e4SLinus Torvalds on 32-bit processors. Khazad uses an 128 bit key size. 4301da177e4SLinus Torvalds 4311da177e4SLinus Torvalds See also: 4321da177e4SLinus Torvalds <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html> 4331da177e4SLinus Torvalds 4341da177e4SLinus Torvaldsconfig CRYPTO_ANUBIS 4351da177e4SLinus Torvalds tristate "Anubis cipher algorithm" 436cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4371da177e4SLinus Torvalds help 4381da177e4SLinus Torvalds Anubis cipher algorithm. 4391da177e4SLinus Torvalds 4401da177e4SLinus Torvalds Anubis is a variable key length cipher which can use keys from 4411da177e4SLinus Torvalds 128 bits to 320 bits in length. It was evaluated as a entrant 4421da177e4SLinus Torvalds in the NESSIE competition. 4431da177e4SLinus Torvalds 4441da177e4SLinus Torvalds See also: 4451da177e4SLinus Torvalds <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/> 4461da177e4SLinus Torvalds <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html> 4471da177e4SLinus Torvalds 448e2ee95b8SHye-Shik Changconfig CRYPTO_SEED 449e2ee95b8SHye-Shik Chang tristate "SEED cipher algorithm" 450e2ee95b8SHye-Shik Chang select CRYPTO_ALGAPI 451e2ee95b8SHye-Shik Chang help 452e2ee95b8SHye-Shik Chang SEED cipher algorithm (RFC4269). 453e2ee95b8SHye-Shik Chang 454e2ee95b8SHye-Shik Chang SEED is a 128-bit symmetric key block cipher that has been 455e2ee95b8SHye-Shik Chang developed by KISA (Korea Information Security Agency) as a 456e2ee95b8SHye-Shik Chang national standard encryption algorithm of the Republic of Korea. 457e2ee95b8SHye-Shik Chang It is a 16 round block cipher with the key size of 128 bit. 458e2ee95b8SHye-Shik Chang 459e2ee95b8SHye-Shik Chang See also: 460e2ee95b8SHye-Shik Chang <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp> 461e2ee95b8SHye-Shik Chang 4622407d608STan Swee Hengconfig CRYPTO_SALSA20 4632407d608STan Swee Heng tristate "Salsa20 stream cipher algorithm (EXPERIMENTAL)" 4642407d608STan Swee Heng depends on EXPERIMENTAL 4652407d608STan Swee Heng select CRYPTO_BLKCIPHER 4662407d608STan Swee Heng help 4672407d608STan Swee Heng Salsa20 stream cipher algorithm. 4682407d608STan Swee Heng 4692407d608STan Swee Heng Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT 4702407d608STan Swee Heng Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> 4712407d608STan Swee Heng 4722407d608STan Swee Heng The Salsa20 stream cipher algorithm is designed by Daniel J. 4732407d608STan Swee Heng Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> 4741da177e4SLinus Torvalds 4751da177e4SLinus Torvaldsconfig CRYPTO_DEFLATE 4761da177e4SLinus Torvalds tristate "Deflate compression algorithm" 477cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4781da177e4SLinus Torvalds select ZLIB_INFLATE 4791da177e4SLinus Torvalds select ZLIB_DEFLATE 4801da177e4SLinus Torvalds help 4811da177e4SLinus Torvalds This is the Deflate algorithm (RFC1951), specified for use in 4821da177e4SLinus Torvalds IPSec with the IPCOMP protocol (RFC3173, RFC2394). 4831da177e4SLinus Torvalds 4841da177e4SLinus Torvalds You will most probably want this if using IPSec. 4851da177e4SLinus Torvalds 4861da177e4SLinus Torvaldsconfig CRYPTO_MICHAEL_MIC 4871da177e4SLinus Torvalds tristate "Michael MIC keyed digest algorithm" 488cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4891da177e4SLinus Torvalds help 4901da177e4SLinus Torvalds Michael MIC is used for message integrity protection in TKIP 4911da177e4SLinus Torvalds (IEEE 802.11i). This algorithm is required for TKIP, but it 4921da177e4SLinus Torvalds should not be used for other purposes because of the weakness 4931da177e4SLinus Torvalds of the algorithm. 4941da177e4SLinus Torvalds 4951da177e4SLinus Torvaldsconfig CRYPTO_CRC32C 4961da177e4SLinus Torvalds tristate "CRC32c CRC algorithm" 497cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4981da177e4SLinus Torvalds select LIBCRC32C 4991da177e4SLinus Torvalds help 5001da177e4SLinus Torvalds Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used 5011da177e4SLinus Torvalds by iSCSI for header and data digests and by others. 5021da177e4SLinus Torvalds See Castagnoli93. This implementation uses lib/libcrc32c. 5031da177e4SLinus Torvalds Module will be crc32c. 5041da177e4SLinus Torvalds 50504ac7db3SNoriaki TAKAMIYAconfig CRYPTO_CAMELLIA 50604ac7db3SNoriaki TAKAMIYA tristate "Camellia cipher algorithms" 50704ac7db3SNoriaki TAKAMIYA depends on CRYPTO 50804ac7db3SNoriaki TAKAMIYA select CRYPTO_ALGAPI 50904ac7db3SNoriaki TAKAMIYA help 51004ac7db3SNoriaki TAKAMIYA Camellia cipher algorithms module. 51104ac7db3SNoriaki TAKAMIYA 51204ac7db3SNoriaki TAKAMIYA Camellia is a symmetric key block cipher developed jointly 51304ac7db3SNoriaki TAKAMIYA at NTT and Mitsubishi Electric Corporation. 51404ac7db3SNoriaki TAKAMIYA 51504ac7db3SNoriaki TAKAMIYA The Camellia specifies three key sizes: 128, 192 and 256 bits. 51604ac7db3SNoriaki TAKAMIYA 51704ac7db3SNoriaki TAKAMIYA See also: 51804ac7db3SNoriaki TAKAMIYA <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 51904ac7db3SNoriaki TAKAMIYA 5201da177e4SLinus Torvaldsconfig CRYPTO_TEST 5211da177e4SLinus Torvalds tristate "Testing module" 522cce9e06dSHerbert Xu depends on m 523cce9e06dSHerbert Xu select CRYPTO_ALGAPI 5241da177e4SLinus Torvalds help 5251da177e4SLinus Torvalds Quick & dirty crypto test module. 5261da177e4SLinus Torvalds 5273c09f17cSHerbert Xuconfig CRYPTO_AUTHENC 5283c09f17cSHerbert Xu tristate "Authenc support" 5293c09f17cSHerbert Xu select CRYPTO_AEAD 5303c09f17cSHerbert Xu select CRYPTO_MANAGER 5315e553110SBorislav Petkov select CRYPTO_HASH 5323c09f17cSHerbert Xu help 5333c09f17cSHerbert Xu Authenc: Combined mode wrapper for IPsec. 5343c09f17cSHerbert Xu This is required for IPSec. 5353c09f17cSHerbert Xu 5360b77abb3SZoltan Sogorconfig CRYPTO_LZO 5370b77abb3SZoltan Sogor tristate "LZO compression algorithm" 5380b77abb3SZoltan Sogor select CRYPTO_ALGAPI 5390b77abb3SZoltan Sogor select LZO_COMPRESS 5400b77abb3SZoltan Sogor select LZO_DECOMPRESS 5410b77abb3SZoltan Sogor help 5420b77abb3SZoltan Sogor This is the LZO algorithm. 5430b77abb3SZoltan Sogor 5441da177e4SLinus Torvaldssource "drivers/crypto/Kconfig" 5451da177e4SLinus Torvalds 546cce9e06dSHerbert Xuendif # if CRYPTO 547