11da177e4SLinus Torvalds# 2685784aaSDan Williams# Generic algorithms support 3685784aaSDan Williams# 4685784aaSDan Williamsconfig XOR_BLOCKS 5685784aaSDan Williams tristate 6685784aaSDan Williams 7685784aaSDan Williams# 8*9bc89cd8SDan Williams# async_tx api: hardware offloaded memory transfer/transform support 9*9bc89cd8SDan Williams# 10*9bc89cd8SDan Williamssource "crypto/async_tx/Kconfig" 11*9bc89cd8SDan Williams 12*9bc89cd8SDan Williams# 131da177e4SLinus Torvalds# Cryptographic API Configuration 141da177e4SLinus Torvalds# 151da177e4SLinus Torvaldsmenu "Cryptographic options" 161da177e4SLinus Torvalds 171da177e4SLinus Torvaldsconfig CRYPTO 181da177e4SLinus Torvalds bool "Cryptographic API" 191da177e4SLinus Torvalds help 201da177e4SLinus Torvalds This option provides the core Cryptographic API. 211da177e4SLinus Torvalds 22cce9e06dSHerbert Xuif CRYPTO 23cce9e06dSHerbert Xu 24cce9e06dSHerbert Xuconfig CRYPTO_ALGAPI 25cce9e06dSHerbert Xu tristate 26cce9e06dSHerbert Xu help 27cce9e06dSHerbert Xu This option provides the API for cryptographic algorithms. 28cce9e06dSHerbert Xu 29b5b7f088SHerbert Xuconfig CRYPTO_ABLKCIPHER 30b5b7f088SHerbert Xu tristate 31b5b7f088SHerbert Xu select CRYPTO_BLKCIPHER 32b5b7f088SHerbert Xu 335cde0af2SHerbert Xuconfig CRYPTO_BLKCIPHER 345cde0af2SHerbert Xu tristate 355cde0af2SHerbert Xu select CRYPTO_ALGAPI 365cde0af2SHerbert Xu 37055bcee3SHerbert Xuconfig CRYPTO_HASH 38055bcee3SHerbert Xu tristate 39055bcee3SHerbert Xu select CRYPTO_ALGAPI 40055bcee3SHerbert Xu 412b8c19dbSHerbert Xuconfig CRYPTO_MANAGER 422b8c19dbSHerbert Xu tristate "Cryptographic algorithm manager" 432b8c19dbSHerbert Xu select CRYPTO_ALGAPI 442b8c19dbSHerbert Xu help 452b8c19dbSHerbert Xu Create default cryptographic template instantiations such as 462b8c19dbSHerbert Xu cbc(aes). 472b8c19dbSHerbert Xu 481da177e4SLinus Torvaldsconfig CRYPTO_HMAC 498425165dSHerbert Xu tristate "HMAC support" 500796ae06SHerbert Xu select CRYPTO_HASH 5143518407SHerbert Xu select CRYPTO_MANAGER 521da177e4SLinus Torvalds help 531da177e4SLinus Torvalds HMAC: Keyed-Hashing for Message Authentication (RFC2104). 541da177e4SLinus Torvalds This is required for IPSec. 551da177e4SLinus Torvalds 56333b0d7eSKazunori MIYAZAWAconfig CRYPTO_XCBC 57333b0d7eSKazunori MIYAZAWA tristate "XCBC support" 58333b0d7eSKazunori MIYAZAWA depends on EXPERIMENTAL 59333b0d7eSKazunori MIYAZAWA select CRYPTO_HASH 60333b0d7eSKazunori MIYAZAWA select CRYPTO_MANAGER 61333b0d7eSKazunori MIYAZAWA help 62333b0d7eSKazunori MIYAZAWA XCBC: Keyed-Hashing with encryption algorithm 63333b0d7eSKazunori MIYAZAWA http://www.ietf.org/rfc/rfc3566.txt 64333b0d7eSKazunori MIYAZAWA http://csrc.nist.gov/encryption/modes/proposedmodes/ 65333b0d7eSKazunori MIYAZAWA xcbc-mac/xcbc-mac-spec.pdf 66333b0d7eSKazunori MIYAZAWA 671da177e4SLinus Torvaldsconfig CRYPTO_NULL 681da177e4SLinus Torvalds tristate "Null algorithms" 69cce9e06dSHerbert Xu select CRYPTO_ALGAPI 701da177e4SLinus Torvalds help 711da177e4SLinus Torvalds These are 'Null' algorithms, used by IPsec, which do nothing. 721da177e4SLinus Torvalds 731da177e4SLinus Torvaldsconfig CRYPTO_MD4 741da177e4SLinus Torvalds tristate "MD4 digest algorithm" 75cce9e06dSHerbert Xu select CRYPTO_ALGAPI 761da177e4SLinus Torvalds help 771da177e4SLinus Torvalds MD4 message digest algorithm (RFC1320). 781da177e4SLinus Torvalds 791da177e4SLinus Torvaldsconfig CRYPTO_MD5 801da177e4SLinus Torvalds tristate "MD5 digest algorithm" 81cce9e06dSHerbert Xu select CRYPTO_ALGAPI 821da177e4SLinus Torvalds help 831da177e4SLinus Torvalds MD5 message digest algorithm (RFC1321). 841da177e4SLinus Torvalds 851da177e4SLinus Torvaldsconfig CRYPTO_SHA1 861da177e4SLinus Torvalds tristate "SHA1 digest algorithm" 87cce9e06dSHerbert Xu select CRYPTO_ALGAPI 881da177e4SLinus Torvalds help 891da177e4SLinus Torvalds SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 901da177e4SLinus Torvalds 911da177e4SLinus Torvaldsconfig CRYPTO_SHA256 921da177e4SLinus Torvalds tristate "SHA256 digest algorithm" 93cce9e06dSHerbert Xu select CRYPTO_ALGAPI 941da177e4SLinus Torvalds help 951da177e4SLinus Torvalds SHA256 secure hash standard (DFIPS 180-2). 961da177e4SLinus Torvalds 971da177e4SLinus Torvalds This version of SHA implements a 256 bit hash with 128 bits of 981da177e4SLinus Torvalds security against collision attacks. 991da177e4SLinus Torvalds 1001da177e4SLinus Torvaldsconfig CRYPTO_SHA512 1011da177e4SLinus Torvalds tristate "SHA384 and SHA512 digest algorithms" 102cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1031da177e4SLinus Torvalds help 1041da177e4SLinus Torvalds SHA512 secure hash standard (DFIPS 180-2). 1051da177e4SLinus Torvalds 1061da177e4SLinus Torvalds This version of SHA implements a 512 bit hash with 256 bits of 1071da177e4SLinus Torvalds security against collision attacks. 1081da177e4SLinus Torvalds 1091da177e4SLinus Torvalds This code also includes SHA-384, a 384 bit hash with 192 bits 1101da177e4SLinus Torvalds of security against collision attacks. 1111da177e4SLinus Torvalds 1121da177e4SLinus Torvaldsconfig CRYPTO_WP512 1131da177e4SLinus Torvalds tristate "Whirlpool digest algorithms" 114cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1151da177e4SLinus Torvalds help 1161da177e4SLinus Torvalds Whirlpool hash algorithm 512, 384 and 256-bit hashes 1171da177e4SLinus Torvalds 1181da177e4SLinus Torvalds Whirlpool-512 is part of the NESSIE cryptographic primitives. 1191da177e4SLinus Torvalds Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard 1201da177e4SLinus Torvalds 1211da177e4SLinus Torvalds See also: 1221da177e4SLinus Torvalds <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html> 1231da177e4SLinus Torvalds 1241da177e4SLinus Torvaldsconfig CRYPTO_TGR192 1251da177e4SLinus Torvalds tristate "Tiger digest algorithms" 126cce9e06dSHerbert Xu select CRYPTO_ALGAPI 1271da177e4SLinus Torvalds help 1281da177e4SLinus Torvalds Tiger hash algorithm 192, 160 and 128-bit hashes 1291da177e4SLinus Torvalds 1301da177e4SLinus Torvalds Tiger is a hash function optimized for 64-bit processors while 1311da177e4SLinus Torvalds still having decent performance on 32-bit processors. 1321da177e4SLinus Torvalds Tiger was developed by Ross Anderson and Eli Biham. 1331da177e4SLinus Torvalds 1341da177e4SLinus Torvalds See also: 1351da177e4SLinus Torvalds <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>. 1361da177e4SLinus Torvalds 137c494e070SRik Snelconfig CRYPTO_GF128MUL 138c494e070SRik Snel tristate "GF(2^128) multiplication functions (EXPERIMENTAL)" 139c494e070SRik Snel depends on EXPERIMENTAL 140c494e070SRik Snel help 141c494e070SRik Snel Efficient table driven implementation of multiplications in the 142c494e070SRik Snel field GF(2^128). This is needed by some cypher modes. This 143c494e070SRik Snel option will be selected automatically if you select such a 144c494e070SRik Snel cipher mode. Only select this option by hand if you expect to load 145c494e070SRik Snel an external module that requires these functions. 146c494e070SRik Snel 147db131ef9SHerbert Xuconfig CRYPTO_ECB 148db131ef9SHerbert Xu tristate "ECB support" 149db131ef9SHerbert Xu select CRYPTO_BLKCIPHER 15043518407SHerbert Xu select CRYPTO_MANAGER 151db131ef9SHerbert Xu default m 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 default m 162db131ef9SHerbert Xu help 163db131ef9SHerbert Xu CBC: Cipher Block Chaining mode 164db131ef9SHerbert Xu This block cipher algorithm is required for IPSec. 165db131ef9SHerbert Xu 16691652be5SDavid Howellsconfig CRYPTO_PCBC 16791652be5SDavid Howells tristate "PCBC support" 16891652be5SDavid Howells select CRYPTO_BLKCIPHER 16991652be5SDavid Howells select CRYPTO_MANAGER 17091652be5SDavid Howells default m 17191652be5SDavid Howells help 17291652be5SDavid Howells PCBC: Propagating Cipher Block Chaining mode 17391652be5SDavid Howells This block cipher algorithm is required for RxRPC. 17491652be5SDavid Howells 17564470f1bSRik Snelconfig CRYPTO_LRW 17664470f1bSRik Snel tristate "LRW support (EXPERIMENTAL)" 17764470f1bSRik Snel depends on EXPERIMENTAL 17864470f1bSRik Snel select CRYPTO_BLKCIPHER 17964470f1bSRik Snel select CRYPTO_MANAGER 18064470f1bSRik Snel select CRYPTO_GF128MUL 18164470f1bSRik Snel help 18264470f1bSRik Snel LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable 18364470f1bSRik Snel narrow block cipher mode for dm-crypt. Use it with cipher 18464470f1bSRik Snel specification string aes-lrw-benbi, the key must be 256, 320 or 384. 18564470f1bSRik Snel The first 128, 192 or 256 bits in the key are used for AES and the 18664470f1bSRik Snel rest is used to tie each cipher block to its logical position. 18764470f1bSRik Snel 188124b53d0SHerbert Xuconfig CRYPTO_CRYPTD 189124b53d0SHerbert Xu tristate "Software async crypto daemon" 190124b53d0SHerbert Xu select CRYPTO_ABLKCIPHER 191124b53d0SHerbert Xu select CRYPTO_MANAGER 192124b53d0SHerbert Xu help 193124b53d0SHerbert Xu This is a generic software asynchronous crypto daemon that 194124b53d0SHerbert Xu converts an arbitrary synchronous software crypto algorithm 195124b53d0SHerbert Xu into an asynchronous algorithm that executes in a kernel thread. 196124b53d0SHerbert Xu 1971da177e4SLinus Torvaldsconfig CRYPTO_DES 1981da177e4SLinus Torvalds tristate "DES and Triple DES EDE cipher algorithms" 199cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2001da177e4SLinus Torvalds help 2011da177e4SLinus Torvalds DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 2021da177e4SLinus Torvalds 20390831639SDavid Howellsconfig CRYPTO_FCRYPT 20490831639SDavid Howells tristate "FCrypt cipher algorithm" 20590831639SDavid Howells select CRYPTO_ALGAPI 20690831639SDavid Howells select CRYPTO_BLKCIPHER 20790831639SDavid Howells help 20890831639SDavid Howells FCrypt algorithm used by RxRPC. 20990831639SDavid Howells 2101da177e4SLinus Torvaldsconfig CRYPTO_BLOWFISH 2111da177e4SLinus Torvalds tristate "Blowfish cipher algorithm" 212cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2131da177e4SLinus Torvalds help 2141da177e4SLinus Torvalds Blowfish cipher algorithm, by Bruce Schneier. 2151da177e4SLinus Torvalds 2161da177e4SLinus Torvalds This is a variable key length cipher which can use keys from 32 2171da177e4SLinus Torvalds bits to 448 bits in length. It's fast, simple and specifically 2181da177e4SLinus Torvalds designed for use on "large microprocessors". 2191da177e4SLinus Torvalds 2201da177e4SLinus Torvalds See also: 2211da177e4SLinus Torvalds <http://www.schneier.com/blowfish.html> 2221da177e4SLinus Torvalds 2231da177e4SLinus Torvaldsconfig CRYPTO_TWOFISH 2241da177e4SLinus Torvalds tristate "Twofish cipher algorithm" 225cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2262729bb42SJoachim Fritschi select CRYPTO_TWOFISH_COMMON 2271da177e4SLinus Torvalds help 2281da177e4SLinus Torvalds Twofish cipher algorithm. 2291da177e4SLinus Torvalds 2301da177e4SLinus Torvalds Twofish was submitted as an AES (Advanced Encryption Standard) 2311da177e4SLinus Torvalds candidate cipher by researchers at CounterPane Systems. It is a 2321da177e4SLinus Torvalds 16 round block cipher supporting key sizes of 128, 192, and 256 2331da177e4SLinus Torvalds bits. 2341da177e4SLinus Torvalds 2351da177e4SLinus Torvalds See also: 2361da177e4SLinus Torvalds <http://www.schneier.com/twofish.html> 2371da177e4SLinus Torvalds 2382729bb42SJoachim Fritschiconfig CRYPTO_TWOFISH_COMMON 2392729bb42SJoachim Fritschi tristate 2402729bb42SJoachim Fritschi help 2412729bb42SJoachim Fritschi Common parts of the Twofish cipher algorithm shared by the 2422729bb42SJoachim Fritschi generic c and the assembler implementations. 2432729bb42SJoachim Fritschi 244b9f535ffSJoachim Fritschiconfig CRYPTO_TWOFISH_586 245b9f535ffSJoachim Fritschi tristate "Twofish cipher algorithms (i586)" 246cce9e06dSHerbert Xu depends on (X86 || UML_X86) && !64BIT 247cce9e06dSHerbert Xu select CRYPTO_ALGAPI 248b9f535ffSJoachim Fritschi select CRYPTO_TWOFISH_COMMON 249b9f535ffSJoachim Fritschi help 250b9f535ffSJoachim Fritschi Twofish cipher algorithm. 251b9f535ffSJoachim Fritschi 252b9f535ffSJoachim Fritschi Twofish was submitted as an AES (Advanced Encryption Standard) 253b9f535ffSJoachim Fritschi candidate cipher by researchers at CounterPane Systems. It is a 254b9f535ffSJoachim Fritschi 16 round block cipher supporting key sizes of 128, 192, and 256 255b9f535ffSJoachim Fritschi bits. 256b9f535ffSJoachim Fritschi 257b9f535ffSJoachim Fritschi See also: 258b9f535ffSJoachim Fritschi <http://www.schneier.com/twofish.html> 259b9f535ffSJoachim Fritschi 260eaf44088SJoachim Fritschiconfig CRYPTO_TWOFISH_X86_64 261eaf44088SJoachim Fritschi tristate "Twofish cipher algorithm (x86_64)" 262cce9e06dSHerbert Xu depends on (X86 || UML_X86) && 64BIT 263cce9e06dSHerbert Xu select CRYPTO_ALGAPI 264eaf44088SJoachim Fritschi select CRYPTO_TWOFISH_COMMON 265eaf44088SJoachim Fritschi help 266eaf44088SJoachim Fritschi Twofish cipher algorithm (x86_64). 267eaf44088SJoachim Fritschi 268eaf44088SJoachim Fritschi Twofish was submitted as an AES (Advanced Encryption Standard) 269eaf44088SJoachim Fritschi candidate cipher by researchers at CounterPane Systems. It is a 270eaf44088SJoachim Fritschi 16 round block cipher supporting key sizes of 128, 192, and 256 271eaf44088SJoachim Fritschi bits. 272eaf44088SJoachim Fritschi 273eaf44088SJoachim Fritschi See also: 274eaf44088SJoachim Fritschi <http://www.schneier.com/twofish.html> 275eaf44088SJoachim Fritschi 2761da177e4SLinus Torvaldsconfig CRYPTO_SERPENT 2771da177e4SLinus Torvalds tristate "Serpent cipher algorithm" 278cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2791da177e4SLinus Torvalds help 2801da177e4SLinus Torvalds Serpent cipher algorithm, by Anderson, Biham & Knudsen. 2811da177e4SLinus Torvalds 2821da177e4SLinus Torvalds Keys are allowed to be from 0 to 256 bits in length, in steps 2831da177e4SLinus Torvalds of 8 bits. Also includes the 'Tnepres' algorithm, a reversed 2843dde6ad8SDavid Sterba variant of Serpent for compatibility with old kerneli.org code. 2851da177e4SLinus Torvalds 2861da177e4SLinus Torvalds See also: 2871da177e4SLinus Torvalds <http://www.cl.cam.ac.uk/~rja14/serpent.html> 2881da177e4SLinus Torvalds 2891da177e4SLinus Torvaldsconfig CRYPTO_AES 2901da177e4SLinus Torvalds tristate "AES cipher algorithms" 291cce9e06dSHerbert Xu select CRYPTO_ALGAPI 2921da177e4SLinus Torvalds help 2931da177e4SLinus Torvalds AES cipher algorithms (FIPS-197). AES uses the Rijndael 2941da177e4SLinus Torvalds algorithm. 2951da177e4SLinus Torvalds 2961da177e4SLinus Torvalds Rijndael appears to be consistently a very good performer in 2971da177e4SLinus Torvalds both hardware and software across a wide range of computing 2981da177e4SLinus Torvalds environments regardless of its use in feedback or non-feedback 2991da177e4SLinus Torvalds modes. Its key setup time is excellent, and its key agility is 3001da177e4SLinus Torvalds good. Rijndael's very low memory requirements make it very well 3011da177e4SLinus Torvalds suited for restricted-space environments, in which it also 3021da177e4SLinus Torvalds demonstrates excellent performance. Rijndael's operations are 3031da177e4SLinus Torvalds among the easiest to defend against power and timing attacks. 3041da177e4SLinus Torvalds 3051da177e4SLinus Torvalds The AES specifies three key sizes: 128, 192 and 256 bits 3061da177e4SLinus Torvalds 3071da177e4SLinus Torvalds See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information. 3081da177e4SLinus Torvalds 3091da177e4SLinus Torvaldsconfig CRYPTO_AES_586 3101da177e4SLinus Torvalds tristate "AES cipher algorithms (i586)" 311cce9e06dSHerbert Xu depends on (X86 || UML_X86) && !64BIT 312cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3131da177e4SLinus Torvalds help 3141da177e4SLinus Torvalds AES cipher algorithms (FIPS-197). AES uses the Rijndael 3151da177e4SLinus Torvalds algorithm. 3161da177e4SLinus Torvalds 3171da177e4SLinus Torvalds Rijndael appears to be consistently a very good performer in 3181da177e4SLinus Torvalds both hardware and software across a wide range of computing 3191da177e4SLinus Torvalds environments regardless of its use in feedback or non-feedback 3201da177e4SLinus Torvalds modes. Its key setup time is excellent, and its key agility is 3211da177e4SLinus Torvalds good. Rijndael's very low memory requirements make it very well 3221da177e4SLinus Torvalds suited for restricted-space environments, in which it also 3231da177e4SLinus Torvalds demonstrates excellent performance. Rijndael's operations are 3241da177e4SLinus Torvalds among the easiest to defend against power and timing attacks. 3251da177e4SLinus Torvalds 3261da177e4SLinus Torvalds The AES specifies three key sizes: 128, 192 and 256 bits 3271da177e4SLinus Torvalds 3281da177e4SLinus Torvalds See <http://csrc.nist.gov/encryption/aes/> for more information. 3291da177e4SLinus Torvalds 330a2a892a2SAndreas Steinmetzconfig CRYPTO_AES_X86_64 331a2a892a2SAndreas Steinmetz tristate "AES cipher algorithms (x86_64)" 332cce9e06dSHerbert Xu depends on (X86 || UML_X86) && 64BIT 333cce9e06dSHerbert Xu select CRYPTO_ALGAPI 334a2a892a2SAndreas Steinmetz help 335a2a892a2SAndreas Steinmetz AES cipher algorithms (FIPS-197). AES uses the Rijndael 336a2a892a2SAndreas Steinmetz algorithm. 337a2a892a2SAndreas Steinmetz 338a2a892a2SAndreas Steinmetz Rijndael appears to be consistently a very good performer in 339a2a892a2SAndreas Steinmetz both hardware and software across a wide range of computing 340a2a892a2SAndreas Steinmetz environments regardless of its use in feedback or non-feedback 341a2a892a2SAndreas Steinmetz modes. Its key setup time is excellent, and its key agility is 342a2a892a2SAndreas Steinmetz good. Rijndael's very low memory requirements make it very well 343a2a892a2SAndreas Steinmetz suited for restricted-space environments, in which it also 344a2a892a2SAndreas Steinmetz demonstrates excellent performance. Rijndael's operations are 345a2a892a2SAndreas Steinmetz among the easiest to defend against power and timing attacks. 346a2a892a2SAndreas Steinmetz 347a2a892a2SAndreas Steinmetz The AES specifies three key sizes: 128, 192 and 256 bits 348a2a892a2SAndreas Steinmetz 349a2a892a2SAndreas Steinmetz See <http://csrc.nist.gov/encryption/aes/> for more information. 350a2a892a2SAndreas Steinmetz 3511da177e4SLinus Torvaldsconfig CRYPTO_CAST5 3521da177e4SLinus Torvalds tristate "CAST5 (CAST-128) cipher algorithm" 353cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3541da177e4SLinus Torvalds help 3551da177e4SLinus Torvalds The CAST5 encryption algorithm (synonymous with CAST-128) is 3561da177e4SLinus Torvalds described in RFC2144. 3571da177e4SLinus Torvalds 3581da177e4SLinus Torvaldsconfig CRYPTO_CAST6 3591da177e4SLinus Torvalds tristate "CAST6 (CAST-256) cipher algorithm" 360cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3611da177e4SLinus Torvalds help 3621da177e4SLinus Torvalds The CAST6 encryption algorithm (synonymous with CAST-256) is 3631da177e4SLinus Torvalds described in RFC2612. 3641da177e4SLinus Torvalds 3651da177e4SLinus Torvaldsconfig CRYPTO_TEA 366fb4f10edSAaron Grothe tristate "TEA, XTEA and XETA cipher algorithms" 367cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3681da177e4SLinus Torvalds help 3691da177e4SLinus Torvalds TEA cipher algorithm. 3701da177e4SLinus Torvalds 3711da177e4SLinus Torvalds Tiny Encryption Algorithm is a simple cipher that uses 3721da177e4SLinus Torvalds many rounds for security. It is very fast and uses 3731da177e4SLinus Torvalds little memory. 3741da177e4SLinus Torvalds 3751da177e4SLinus Torvalds Xtendend Tiny Encryption Algorithm is a modification to 3761da177e4SLinus Torvalds the TEA algorithm to address a potential key weakness 3771da177e4SLinus Torvalds in the TEA algorithm. 3781da177e4SLinus Torvalds 379fb4f10edSAaron Grothe Xtendend Encryption Tiny Algorithm is a mis-implementation 380fb4f10edSAaron Grothe of the XTEA algorithm for compatibility purposes. 381fb4f10edSAaron Grothe 3821da177e4SLinus Torvaldsconfig CRYPTO_ARC4 3831da177e4SLinus Torvalds tristate "ARC4 cipher algorithm" 384cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3851da177e4SLinus Torvalds help 3861da177e4SLinus Torvalds ARC4 cipher algorithm. 3871da177e4SLinus Torvalds 3881da177e4SLinus Torvalds ARC4 is a stream cipher using keys ranging from 8 bits to 2048 3891da177e4SLinus Torvalds bits in length. This algorithm is required for driver-based 3901da177e4SLinus Torvalds WEP, but it should not be for other purposes because of the 3911da177e4SLinus Torvalds weakness of the algorithm. 3921da177e4SLinus Torvalds 3931da177e4SLinus Torvaldsconfig CRYPTO_KHAZAD 3941da177e4SLinus Torvalds tristate "Khazad cipher algorithm" 395cce9e06dSHerbert Xu select CRYPTO_ALGAPI 3961da177e4SLinus Torvalds help 3971da177e4SLinus Torvalds Khazad cipher algorithm. 3981da177e4SLinus Torvalds 3991da177e4SLinus Torvalds Khazad was a finalist in the initial NESSIE competition. It is 4001da177e4SLinus Torvalds an algorithm optimized for 64-bit processors with good performance 4011da177e4SLinus Torvalds on 32-bit processors. Khazad uses an 128 bit key size. 4021da177e4SLinus Torvalds 4031da177e4SLinus Torvalds See also: 4041da177e4SLinus Torvalds <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html> 4051da177e4SLinus Torvalds 4061da177e4SLinus Torvaldsconfig CRYPTO_ANUBIS 4071da177e4SLinus Torvalds tristate "Anubis cipher algorithm" 408cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4091da177e4SLinus Torvalds help 4101da177e4SLinus Torvalds Anubis cipher algorithm. 4111da177e4SLinus Torvalds 4121da177e4SLinus Torvalds Anubis is a variable key length cipher which can use keys from 4131da177e4SLinus Torvalds 128 bits to 320 bits in length. It was evaluated as a entrant 4141da177e4SLinus Torvalds in the NESSIE competition. 4151da177e4SLinus Torvalds 4161da177e4SLinus Torvalds See also: 4171da177e4SLinus Torvalds <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/> 4181da177e4SLinus Torvalds <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html> 4191da177e4SLinus Torvalds 4201da177e4SLinus Torvalds 4211da177e4SLinus Torvaldsconfig CRYPTO_DEFLATE 4221da177e4SLinus Torvalds tristate "Deflate compression algorithm" 423cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4241da177e4SLinus Torvalds select ZLIB_INFLATE 4251da177e4SLinus Torvalds select ZLIB_DEFLATE 4261da177e4SLinus Torvalds help 4271da177e4SLinus Torvalds This is the Deflate algorithm (RFC1951), specified for use in 4281da177e4SLinus Torvalds IPSec with the IPCOMP protocol (RFC3173, RFC2394). 4291da177e4SLinus Torvalds 4301da177e4SLinus Torvalds You will most probably want this if using IPSec. 4311da177e4SLinus Torvalds 4321da177e4SLinus Torvaldsconfig CRYPTO_MICHAEL_MIC 4331da177e4SLinus Torvalds tristate "Michael MIC keyed digest algorithm" 434cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4351da177e4SLinus Torvalds help 4361da177e4SLinus Torvalds Michael MIC is used for message integrity protection in TKIP 4371da177e4SLinus Torvalds (IEEE 802.11i). This algorithm is required for TKIP, but it 4381da177e4SLinus Torvalds should not be used for other purposes because of the weakness 4391da177e4SLinus Torvalds of the algorithm. 4401da177e4SLinus Torvalds 4411da177e4SLinus Torvaldsconfig CRYPTO_CRC32C 4421da177e4SLinus Torvalds tristate "CRC32c CRC algorithm" 443cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4441da177e4SLinus Torvalds select LIBCRC32C 4451da177e4SLinus Torvalds help 4461da177e4SLinus Torvalds Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used 4471da177e4SLinus Torvalds by iSCSI for header and data digests and by others. 4481da177e4SLinus Torvalds See Castagnoli93. This implementation uses lib/libcrc32c. 4491da177e4SLinus Torvalds Module will be crc32c. 4501da177e4SLinus Torvalds 45104ac7db3SNoriaki TAKAMIYAconfig CRYPTO_CAMELLIA 45204ac7db3SNoriaki TAKAMIYA tristate "Camellia cipher algorithms" 45304ac7db3SNoriaki TAKAMIYA depends on CRYPTO 45404ac7db3SNoriaki TAKAMIYA select CRYPTO_ALGAPI 45504ac7db3SNoriaki TAKAMIYA help 45604ac7db3SNoriaki TAKAMIYA Camellia cipher algorithms module. 45704ac7db3SNoriaki TAKAMIYA 45804ac7db3SNoriaki TAKAMIYA Camellia is a symmetric key block cipher developed jointly 45904ac7db3SNoriaki TAKAMIYA at NTT and Mitsubishi Electric Corporation. 46004ac7db3SNoriaki TAKAMIYA 46104ac7db3SNoriaki TAKAMIYA The Camellia specifies three key sizes: 128, 192 and 256 bits. 46204ac7db3SNoriaki TAKAMIYA 46304ac7db3SNoriaki TAKAMIYA See also: 46404ac7db3SNoriaki TAKAMIYA <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 46504ac7db3SNoriaki TAKAMIYA 4661da177e4SLinus Torvaldsconfig CRYPTO_TEST 4671da177e4SLinus Torvalds tristate "Testing module" 468cce9e06dSHerbert Xu depends on m 469cce9e06dSHerbert Xu select CRYPTO_ALGAPI 4701da177e4SLinus Torvalds help 4711da177e4SLinus Torvalds Quick & dirty crypto test module. 4721da177e4SLinus Torvalds 4731da177e4SLinus Torvaldssource "drivers/crypto/Kconfig" 4741da177e4SLinus Torvalds 475cce9e06dSHerbert Xuendif # if CRYPTO 476cce9e06dSHerbert Xu 477cce9e06dSHerbert Xuendmenu 478