X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=crypto%2FKconfig;h=39dbd8e4dde13c2769a1acb71c8d9937f12b3499;hb=93b851c1c93c7d5cd8d94cd3f3a268b2d5460e9e;hp=3d1a1e27944f059e6cca382cf02636e5d308df23;hpb=d09f51b6997f3f443c5741bc696651e479576715;p=safe%2Fjmp%2Flinux-2.6 diff --git a/crypto/Kconfig b/crypto/Kconfig index 3d1a1e2..39dbd8e 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -13,36 +13,197 @@ source "crypto/async_tx/Kconfig" # Cryptographic API Configuration # menuconfig CRYPTO - bool "Cryptographic API" + tristate "Cryptographic API" help This option provides the core Cryptographic API. if CRYPTO +comment "Crypto core or helper" + +config CRYPTO_FIPS + bool "FIPS 200 compliance" + help + This options enables the fips boot option which is + required if you want to system to operate in a FIPS 200 + certification. You should say no unless you know what + this is. + config CRYPTO_ALGAPI tristate help This option provides the API for cryptographic algorithms. -config CRYPTO_ABLKCIPHER +config CRYPTO_AEAD tristate - select CRYPTO_BLKCIPHER + select CRYPTO_ALGAPI config CRYPTO_BLKCIPHER tristate select CRYPTO_ALGAPI + select CRYPTO_RNG config CRYPTO_HASH tristate select CRYPTO_ALGAPI +config CRYPTO_RNG + tristate + select CRYPTO_ALGAPI + config CRYPTO_MANAGER tristate "Cryptographic algorithm manager" - select CRYPTO_ALGAPI + select CRYPTO_AEAD + select CRYPTO_HASH + select CRYPTO_BLKCIPHER help Create default cryptographic template instantiations such as cbc(aes). +config CRYPTO_GF128MUL + tristate "GF(2^128) multiplication functions (EXPERIMENTAL)" + depends on EXPERIMENTAL + help + Efficient table driven implementation of multiplications in the + field GF(2^128). This is needed by some cypher modes. This + option will be selected automatically if you select such a + cipher mode. Only select this option by hand if you expect to load + an external module that requires these functions. + +config CRYPTO_NULL + tristate "Null algorithms" + select CRYPTO_ALGAPI + select CRYPTO_BLKCIPHER + help + These are 'Null' algorithms, used by IPsec, which do nothing. + +config CRYPTO_CRYPTD + tristate "Software async crypto daemon" + select CRYPTO_BLKCIPHER + select CRYPTO_HASH + select CRYPTO_MANAGER + help + This is a generic software asynchronous crypto daemon that + converts an arbitrary synchronous software crypto algorithm + into an asynchronous algorithm that executes in a kernel thread. + +config CRYPTO_AUTHENC + tristate "Authenc support" + select CRYPTO_AEAD + select CRYPTO_BLKCIPHER + select CRYPTO_MANAGER + select CRYPTO_HASH + help + Authenc: Combined mode wrapper for IPsec. + This is required for IPSec. + +config CRYPTO_TEST + tristate "Testing module" + depends on m + select CRYPTO_MANAGER + help + Quick & dirty crypto test module. + +comment "Authenticated Encryption with Associated Data" + +config CRYPTO_CCM + tristate "CCM support" + select CRYPTO_CTR + select CRYPTO_AEAD + help + Support for Counter with CBC MAC. Required for IPsec. + +config CRYPTO_GCM + tristate "GCM/GMAC support" + select CRYPTO_CTR + select CRYPTO_AEAD + select CRYPTO_GF128MUL + help + Support for Galois/Counter Mode (GCM) and Galois Message + Authentication Code (GMAC). Required for IPSec. + +config CRYPTO_SEQIV + tristate "Sequence Number IV Generator" + select CRYPTO_AEAD + select CRYPTO_BLKCIPHER + select CRYPTO_RNG + help + This IV generator generates an IV based on a sequence number by + xoring it with a salt. This algorithm is mainly useful for CTR + +comment "Block modes" + +config CRYPTO_CBC + tristate "CBC support" + select CRYPTO_BLKCIPHER + select CRYPTO_MANAGER + help + CBC: Cipher Block Chaining mode + This block cipher algorithm is required for IPSec. + +config CRYPTO_CTR + tristate "CTR support" + select CRYPTO_BLKCIPHER + select CRYPTO_SEQIV + select CRYPTO_MANAGER + help + CTR: Counter mode + This block cipher algorithm is required for IPSec. + +config CRYPTO_CTS + tristate "CTS support" + select CRYPTO_BLKCIPHER + help + CTS: Cipher Text Stealing + This is the Cipher Text Stealing mode as described by + Section 8 of rfc2040 and referenced by rfc3962. + (rfc3962 includes errata information in its Appendix A) + This mode is required for Kerberos gss mechanism support + for AES encryption. + +config CRYPTO_ECB + tristate "ECB support" + select CRYPTO_BLKCIPHER + select CRYPTO_MANAGER + help + ECB: Electronic CodeBook mode + This is the simplest block cipher algorithm. It simply encrypts + the input block by block. + +config CRYPTO_LRW + tristate "LRW support (EXPERIMENTAL)" + depends on EXPERIMENTAL + select CRYPTO_BLKCIPHER + select CRYPTO_MANAGER + select CRYPTO_GF128MUL + help + LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable + narrow block cipher mode for dm-crypt. Use it with cipher + specification string aes-lrw-benbi, the key must be 256, 320 or 384. + The first 128, 192 or 256 bits in the key are used for AES and the + rest is used to tie each cipher block to its logical position. + +config CRYPTO_PCBC + tristate "PCBC support" + select CRYPTO_BLKCIPHER + select CRYPTO_MANAGER + help + PCBC: Propagating Cipher Block Chaining mode + This block cipher algorithm is required for RxRPC. + +config CRYPTO_XTS + tristate "XTS support (EXPERIMENTAL)" + depends on EXPERIMENTAL + select CRYPTO_BLKCIPHER + select CRYPTO_MANAGER + select CRYPTO_GF128MUL + help + XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain, + key size 256, 384 or 512 bits. This implementation currently + can't handle a sectorsize which is not a multiple of 16 bytes. + +comment "Hash modes" + config CRYPTO_HMAC tristate "HMAC support" select CRYPTO_HASH @@ -62,11 +223,29 @@ config CRYPTO_XCBC http://csrc.nist.gov/encryption/modes/proposedmodes/ xcbc-mac/xcbc-mac-spec.pdf -config CRYPTO_NULL - tristate "Null algorithms" - select CRYPTO_ALGAPI +comment "Digest" + +config CRYPTO_CRC32C + tristate "CRC32c CRC algorithm" + select CRYPTO_HASH + select LIBCRC32C help - These are 'Null' algorithms, used by IPsec, which do nothing. + Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used + by iSCSI for header and data digests and by others. + See Castagnoli93. This implementation uses lib/libcrc32c. + Module will be crc32c. + +config CRYPTO_CRC32C_INTEL + tristate "CRC32c INTEL hardware acceleration" + depends on X86 + select CRYPTO_HASH + help + In Intel processor with SSE4.2 supported, the processor will + support CRC32C implementation using hardware accelerated CRC32 + instruction. This option will create 'crc32c-intel' module, + which will enable any routine to use the CRC32 instruction to + gain performance compared with software implementation. + Module will be crc32c-intel. config CRYPTO_MD4 tristate "MD4 digest algorithm" @@ -80,6 +259,69 @@ config CRYPTO_MD5 help MD5 message digest algorithm (RFC1321). +config CRYPTO_MICHAEL_MIC + tristate "Michael MIC keyed digest algorithm" + select CRYPTO_ALGAPI + help + Michael MIC is used for message integrity protection in TKIP + (IEEE 802.11i). This algorithm is required for TKIP, but it + should not be used for other purposes because of the weakness + of the algorithm. + +config CRYPTO_RMD128 + tristate "RIPEMD-128 digest algorithm" + select CRYPTO_ALGAPI + help + RIPEMD-128 (ISO/IEC 10118-3:2004). + + RIPEMD-128 is a 128-bit cryptographic hash function. It should only + to be used as a secure replacement for RIPEMD. For other use cases + RIPEMD-160 should be used. + + Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. + See + +config CRYPTO_RMD160 + tristate "RIPEMD-160 digest algorithm" + select CRYPTO_ALGAPI + help + RIPEMD-160 (ISO/IEC 10118-3:2004). + + RIPEMD-160 is a 160-bit cryptographic hash function. It is intended + to be used as a secure replacement for the 128-bit hash functions + MD4, MD5 and it's predecessor RIPEMD + (not to be confused with RIPEMD-128). + + It's speed is comparable to SHA1 and there are no known attacks + against RIPEMD-160. + + Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. + See + +config CRYPTO_RMD256 + tristate "RIPEMD-256 digest algorithm" + select CRYPTO_ALGAPI + help + RIPEMD-256 is an optional extension of RIPEMD-128 with a + 256 bit hash. It is intended for applications that require + longer hash-results, without needing a larger security level + (than RIPEMD-128). + + Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. + See + +config CRYPTO_RMD320 + tristate "RIPEMD-320 digest algorithm" + select CRYPTO_ALGAPI + help + RIPEMD-320 is an optional extension of RIPEMD-160 with a + 320 bit hash. It is intended for applications that require + longer hash-results, without needing a larger security level + (than RIPEMD-160). + + Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. + See + config CRYPTO_SHA1 tristate "SHA1 digest algorithm" select CRYPTO_ALGAPI @@ -87,26 +329,42 @@ config CRYPTO_SHA1 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). config CRYPTO_SHA256 - tristate "SHA256 digest algorithm" + tristate "SHA224 and SHA256 digest algorithm" select CRYPTO_ALGAPI help SHA256 secure hash standard (DFIPS 180-2). - + This version of SHA implements a 256 bit hash with 128 bits of security against collision attacks. + This code also includes SHA-224, a 224 bit hash with 112 bits + of security against collision attacks. + config CRYPTO_SHA512 tristate "SHA384 and SHA512 digest algorithms" select CRYPTO_ALGAPI help SHA512 secure hash standard (DFIPS 180-2). - + This version of SHA implements a 512 bit hash with 256 bits of security against collision attacks. This code also includes SHA-384, a 384 bit hash with 192 bits of security against collision attacks. +config CRYPTO_TGR192 + tristate "Tiger digest algorithms" + select CRYPTO_ALGAPI + help + Tiger hash algorithm 192, 160 and 128-bit hashes + + Tiger is a hash function optimized for 64-bit processors while + still having decent performance on 32-bit processors. + Tiger was developed by Ross Anderson and Eli Biham. + + See also: + . + config CRYPTO_WP512 tristate "Whirlpool digest algorithms" select CRYPTO_ALGAPI @@ -119,246 +377,232 @@ config CRYPTO_WP512 See also: -config CRYPTO_TGR192 - tristate "Tiger digest algorithms" +comment "Ciphers" + +config CRYPTO_AES + tristate "AES cipher algorithms" select CRYPTO_ALGAPI help - Tiger hash algorithm 192, 160 and 128-bit hashes + AES cipher algorithms (FIPS-197). AES uses the Rijndael + algorithm. - Tiger is a hash function optimized for 64-bit processors while - still having decent performance on 32-bit processors. - Tiger was developed by Ross Anderson and Eli Biham. + Rijndael appears to be consistently a very good performer in + both hardware and software across a wide range of computing + environments regardless of its use in feedback or non-feedback + modes. Its key setup time is excellent, and its key agility is + good. Rijndael's very low memory requirements make it very well + suited for restricted-space environments, in which it also + demonstrates excellent performance. Rijndael's operations are + among the easiest to defend against power and timing attacks. - See also: - . + The AES specifies three key sizes: 128, 192 and 256 bits -config CRYPTO_GF128MUL - tristate "GF(2^128) multiplication functions (EXPERIMENTAL)" - depends on EXPERIMENTAL - help - Efficient table driven implementation of multiplications in the - field GF(2^128). This is needed by some cypher modes. This - option will be selected automatically if you select such a - cipher mode. Only select this option by hand if you expect to load - an external module that requires these functions. + See for more information. -config CRYPTO_ECB - tristate "ECB support" - select CRYPTO_BLKCIPHER - select CRYPTO_MANAGER - default m +config CRYPTO_AES_586 + tristate "AES cipher algorithms (i586)" + depends on (X86 || UML_X86) && !64BIT + select CRYPTO_ALGAPI + select CRYPTO_AES help - ECB: Electronic CodeBook mode - This is the simplest block cipher algorithm. It simply encrypts - the input block by block. + AES cipher algorithms (FIPS-197). AES uses the Rijndael + algorithm. -config CRYPTO_CBC - tristate "CBC support" - select CRYPTO_BLKCIPHER - select CRYPTO_MANAGER - default m - help - CBC: Cipher Block Chaining mode - This block cipher algorithm is required for IPSec. + Rijndael appears to be consistently a very good performer in + both hardware and software across a wide range of computing + environments regardless of its use in feedback or non-feedback + modes. Its key setup time is excellent, and its key agility is + good. Rijndael's very low memory requirements make it very well + suited for restricted-space environments, in which it also + demonstrates excellent performance. Rijndael's operations are + among the easiest to defend against power and timing attacks. -config CRYPTO_PCBC - tristate "PCBC support" - select CRYPTO_BLKCIPHER - select CRYPTO_MANAGER - default m - help - PCBC: Propagating Cipher Block Chaining mode - This block cipher algorithm is required for RxRPC. + The AES specifies three key sizes: 128, 192 and 256 bits -config CRYPTO_LRW - tristate "LRW support (EXPERIMENTAL)" - depends on EXPERIMENTAL - select CRYPTO_BLKCIPHER - select CRYPTO_MANAGER - select CRYPTO_GF128MUL - help - LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable - narrow block cipher mode for dm-crypt. Use it with cipher - specification string aes-lrw-benbi, the key must be 256, 320 or 384. - The first 128, 192 or 256 bits in the key are used for AES and the - rest is used to tie each cipher block to its logical position. + See for more information. -config CRYPTO_CRYPTD - tristate "Software async crypto daemon" - select CRYPTO_ABLKCIPHER - select CRYPTO_MANAGER +config CRYPTO_AES_X86_64 + tristate "AES cipher algorithms (x86_64)" + depends on (X86 || UML_X86) && 64BIT + select CRYPTO_ALGAPI + select CRYPTO_AES help - This is a generic software asynchronous crypto daemon that - converts an arbitrary synchronous software crypto algorithm - into an asynchronous algorithm that executes in a kernel thread. + AES cipher algorithms (FIPS-197). AES uses the Rijndael + algorithm. -config CRYPTO_DES - tristate "DES and Triple DES EDE cipher algorithms" + Rijndael appears to be consistently a very good performer in + both hardware and software across a wide range of computing + environments regardless of its use in feedback or non-feedback + modes. Its key setup time is excellent, and its key agility is + good. Rijndael's very low memory requirements make it very well + suited for restricted-space environments, in which it also + demonstrates excellent performance. Rijndael's operations are + among the easiest to defend against power and timing attacks. + + The AES specifies three key sizes: 128, 192 and 256 bits + + See for more information. + +config CRYPTO_ANUBIS + tristate "Anubis cipher algorithm" select CRYPTO_ALGAPI help - DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). + Anubis cipher algorithm. -config CRYPTO_FCRYPT - tristate "FCrypt cipher algorithm" + Anubis is a variable key length cipher which can use keys from + 128 bits to 320 bits in length. It was evaluated as a entrant + in the NESSIE competition. + + See also: + + + +config CRYPTO_ARC4 + tristate "ARC4 cipher algorithm" select CRYPTO_ALGAPI - select CRYPTO_BLKCIPHER help - FCrypt algorithm used by RxRPC. + ARC4 cipher algorithm. + + ARC4 is a stream cipher using keys ranging from 8 bits to 2048 + bits in length. This algorithm is required for driver-based + WEP, but it should not be for other purposes because of the + weakness of the algorithm. config CRYPTO_BLOWFISH tristate "Blowfish cipher algorithm" select CRYPTO_ALGAPI help Blowfish cipher algorithm, by Bruce Schneier. - + This is a variable key length cipher which can use keys from 32 bits to 448 bits in length. It's fast, simple and specifically designed for use on "large microprocessors". - + See also: -config CRYPTO_TWOFISH - tristate "Twofish cipher algorithm" +config CRYPTO_CAMELLIA + tristate "Camellia cipher algorithms" + depends on CRYPTO select CRYPTO_ALGAPI - select CRYPTO_TWOFISH_COMMON help - Twofish cipher algorithm. - - Twofish was submitted as an AES (Advanced Encryption Standard) - candidate cipher by researchers at CounterPane Systems. It is a - 16 round block cipher supporting key sizes of 128, 192, and 256 - bits. - + Camellia cipher algorithms module. + + Camellia is a symmetric key block cipher developed jointly + at NTT and Mitsubishi Electric Corporation. + + The Camellia specifies three key sizes: 128, 192 and 256 bits. + See also: - + -config CRYPTO_TWOFISH_COMMON - tristate +config CRYPTO_CAST5 + tristate "CAST5 (CAST-128) cipher algorithm" + select CRYPTO_ALGAPI help - Common parts of the Twofish cipher algorithm shared by the - generic c and the assembler implementations. + The CAST5 encryption algorithm (synonymous with CAST-128) is + described in RFC2144. -config CRYPTO_TWOFISH_586 - tristate "Twofish cipher algorithms (i586)" - depends on (X86 || UML_X86) && !64BIT +config CRYPTO_CAST6 + tristate "CAST6 (CAST-256) cipher algorithm" select CRYPTO_ALGAPI - select CRYPTO_TWOFISH_COMMON help - Twofish cipher algorithm. - - Twofish was submitted as an AES (Advanced Encryption Standard) - candidate cipher by researchers at CounterPane Systems. It is a - 16 round block cipher supporting key sizes of 128, 192, and 256 - bits. - - See also: - + The CAST6 encryption algorithm (synonymous with CAST-256) is + described in RFC2612. -config CRYPTO_TWOFISH_X86_64 - tristate "Twofish cipher algorithm (x86_64)" - depends on (X86 || UML_X86) && 64BIT +config CRYPTO_DES + tristate "DES and Triple DES EDE cipher algorithms" select CRYPTO_ALGAPI - select CRYPTO_TWOFISH_COMMON help - Twofish cipher algorithm (x86_64). - - Twofish was submitted as an AES (Advanced Encryption Standard) - candidate cipher by researchers at CounterPane Systems. It is a - 16 round block cipher supporting key sizes of 128, 192, and 256 - bits. + DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). - See also: - +config CRYPTO_FCRYPT + tristate "FCrypt cipher algorithm" + select CRYPTO_ALGAPI + select CRYPTO_BLKCIPHER + help + FCrypt algorithm used by RxRPC. -config CRYPTO_SERPENT - tristate "Serpent cipher algorithm" +config CRYPTO_KHAZAD + tristate "Khazad cipher algorithm" select CRYPTO_ALGAPI help - Serpent cipher algorithm, by Anderson, Biham & Knudsen. + Khazad cipher algorithm. - Keys are allowed to be from 0 to 256 bits in length, in steps - of 8 bits. Also includes the 'Tnepres' algorithm, a reversed - variant of Serpent for compatibility with old kerneli.org code. + Khazad was a finalist in the initial NESSIE competition. It is + an algorithm optimized for 64-bit processors with good performance + on 32-bit processors. Khazad uses an 128 bit key size. See also: - + -config CRYPTO_AES - tristate "AES cipher algorithms" - select CRYPTO_ALGAPI +config CRYPTO_SALSA20 + tristate "Salsa20 stream cipher algorithm (EXPERIMENTAL)" + depends on EXPERIMENTAL + select CRYPTO_BLKCIPHER help - AES cipher algorithms (FIPS-197). AES uses the Rijndael - algorithm. - - Rijndael appears to be consistently a very good performer in - both hardware and software across a wide range of computing - environments regardless of its use in feedback or non-feedback - modes. Its key setup time is excellent, and its key agility is - good. Rijndael's very low memory requirements make it very well - suited for restricted-space environments, in which it also - demonstrates excellent performance. Rijndael's operations are - among the easiest to defend against power and timing attacks. + Salsa20 stream cipher algorithm. - The AES specifies three key sizes: 128, 192 and 256 bits + Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT + Stream Cipher Project. See - See for more information. + The Salsa20 stream cipher algorithm is designed by Daniel J. + Bernstein . See -config CRYPTO_AES_586 - tristate "AES cipher algorithms (i586)" +config CRYPTO_SALSA20_586 + tristate "Salsa20 stream cipher algorithm (i586) (EXPERIMENTAL)" depends on (X86 || UML_X86) && !64BIT - select CRYPTO_ALGAPI + depends on EXPERIMENTAL + select CRYPTO_BLKCIPHER help - AES cipher algorithms (FIPS-197). AES uses the Rijndael - algorithm. - - Rijndael appears to be consistently a very good performer in - both hardware and software across a wide range of computing - environments regardless of its use in feedback or non-feedback - modes. Its key setup time is excellent, and its key agility is - good. Rijndael's very low memory requirements make it very well - suited for restricted-space environments, in which it also - demonstrates excellent performance. Rijndael's operations are - among the easiest to defend against power and timing attacks. + Salsa20 stream cipher algorithm. - The AES specifies three key sizes: 128, 192 and 256 bits + Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT + Stream Cipher Project. See - See for more information. + The Salsa20 stream cipher algorithm is designed by Daniel J. + Bernstein . See -config CRYPTO_AES_X86_64 - tristate "AES cipher algorithms (x86_64)" +config CRYPTO_SALSA20_X86_64 + tristate "Salsa20 stream cipher algorithm (x86_64) (EXPERIMENTAL)" depends on (X86 || UML_X86) && 64BIT - select CRYPTO_ALGAPI + depends on EXPERIMENTAL + select CRYPTO_BLKCIPHER help - AES cipher algorithms (FIPS-197). AES uses the Rijndael - algorithm. + Salsa20 stream cipher algorithm. - Rijndael appears to be consistently a very good performer in - both hardware and software across a wide range of computing - environments regardless of its use in feedback or non-feedback - modes. Its key setup time is excellent, and its key agility is - good. Rijndael's very low memory requirements make it very well - suited for restricted-space environments, in which it also - demonstrates excellent performance. Rijndael's operations are - among the easiest to defend against power and timing attacks. - - The AES specifies three key sizes: 128, 192 and 256 bits + Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT + Stream Cipher Project. See - See for more information. + The Salsa20 stream cipher algorithm is designed by Daniel J. + Bernstein . See -config CRYPTO_CAST5 - tristate "CAST5 (CAST-128) cipher algorithm" +config CRYPTO_SEED + tristate "SEED cipher algorithm" select CRYPTO_ALGAPI help - The CAST5 encryption algorithm (synonymous with CAST-128) is - described in RFC2144. + SEED cipher algorithm (RFC4269). -config CRYPTO_CAST6 - tristate "CAST6 (CAST-256) cipher algorithm" + SEED is a 128-bit symmetric key block cipher that has been + developed by KISA (Korea Information Security Agency) as a + national standard encryption algorithm of the Republic of Korea. + It is a 16 round block cipher with the key size of 128 bit. + + See also: + + +config CRYPTO_SERPENT + tristate "Serpent cipher algorithm" select CRYPTO_ALGAPI help - The CAST6 encryption algorithm (synonymous with CAST-256) is - described in RFC2612. + Serpent cipher algorithm, by Anderson, Biham & Knudsen. + + Keys are allowed to be from 0 to 256 bits in length, in steps + of 8 bits. Also includes the 'Tnepres' algorithm, a reversed + variant of Serpent for compatibility with old kerneli.org code. + + See also: + config CRYPTO_TEA tristate "TEA, XTEA and XETA cipher algorithms" @@ -374,47 +618,63 @@ config CRYPTO_TEA the TEA algorithm to address a potential key weakness in the TEA algorithm. - Xtendend Encryption Tiny Algorithm is a mis-implementation + Xtendend Encryption Tiny Algorithm is a mis-implementation of the XTEA algorithm for compatibility purposes. -config CRYPTO_ARC4 - tristate "ARC4 cipher algorithm" +config CRYPTO_TWOFISH + tristate "Twofish cipher algorithm" select CRYPTO_ALGAPI + select CRYPTO_TWOFISH_COMMON help - ARC4 cipher algorithm. + Twofish cipher algorithm. - ARC4 is a stream cipher using keys ranging from 8 bits to 2048 - bits in length. This algorithm is required for driver-based - WEP, but it should not be for other purposes because of the - weakness of the algorithm. + Twofish was submitted as an AES (Advanced Encryption Standard) + candidate cipher by researchers at CounterPane Systems. It is a + 16 round block cipher supporting key sizes of 128, 192, and 256 + bits. -config CRYPTO_KHAZAD - tristate "Khazad cipher algorithm" + See also: + + +config CRYPTO_TWOFISH_COMMON + tristate + help + Common parts of the Twofish cipher algorithm shared by the + generic c and the assembler implementations. + +config CRYPTO_TWOFISH_586 + tristate "Twofish cipher algorithms (i586)" + depends on (X86 || UML_X86) && !64BIT select CRYPTO_ALGAPI + select CRYPTO_TWOFISH_COMMON help - Khazad cipher algorithm. + Twofish cipher algorithm. - Khazad was a finalist in the initial NESSIE competition. It is - an algorithm optimized for 64-bit processors with good performance - on 32-bit processors. Khazad uses an 128 bit key size. + Twofish was submitted as an AES (Advanced Encryption Standard) + candidate cipher by researchers at CounterPane Systems. It is a + 16 round block cipher supporting key sizes of 128, 192, and 256 + bits. See also: - + -config CRYPTO_ANUBIS - tristate "Anubis cipher algorithm" +config CRYPTO_TWOFISH_X86_64 + tristate "Twofish cipher algorithm (x86_64)" + depends on (X86 || UML_X86) && 64BIT select CRYPTO_ALGAPI + select CRYPTO_TWOFISH_COMMON help - Anubis cipher algorithm. + Twofish cipher algorithm (x86_64). + + Twofish was submitted as an AES (Advanced Encryption Standard) + candidate cipher by researchers at CounterPane Systems. It is a + 16 round block cipher supporting key sizes of 128, 192, and 256 + bits. - Anubis is a variable key length cipher which can use keys from - 128 bits to 320 bits in length. It was evaluated as a entrant - in the NESSIE competition. - See also: - - + +comment "Compression" config CRYPTO_DEFLATE tristate "Deflate compression algorithm" @@ -424,49 +684,28 @@ config CRYPTO_DEFLATE help This is the Deflate algorithm (RFC1951), specified for use in IPSec with the IPCOMP protocol (RFC3173, RFC2394). - - You will most probably want this if using IPSec. - -config CRYPTO_MICHAEL_MIC - tristate "Michael MIC keyed digest algorithm" - select CRYPTO_ALGAPI - help - Michael MIC is used for message integrity protection in TKIP - (IEEE 802.11i). This algorithm is required for TKIP, but it - should not be used for other purposes because of the weakness - of the algorithm. -config CRYPTO_CRC32C - tristate "CRC32c CRC algorithm" - select CRYPTO_ALGAPI - select LIBCRC32C - help - Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used - by iSCSI for header and data digests and by others. - See Castagnoli93. This implementation uses lib/libcrc32c. - Module will be crc32c. + You will most probably want this if using IPSec. -config CRYPTO_CAMELLIA - tristate "Camellia cipher algorithms" - depends on CRYPTO +config CRYPTO_LZO + tristate "LZO compression algorithm" select CRYPTO_ALGAPI + select LZO_COMPRESS + select LZO_DECOMPRESS help - Camellia cipher algorithms module. - - Camellia is a symmetric key block cipher developed jointly - at NTT and Mitsubishi Electric Corporation. + This is the LZO algorithm. - The Camellia specifies three key sizes: 128, 192 and 256 bits. +comment "Random Number Generation" - See also: - - -config CRYPTO_TEST - tristate "Testing module" - depends on m - select CRYPTO_ALGAPI +config CRYPTO_ANSI_CPRNG + tristate "Pseudo Random Number Generation for Cryptographic modules" + select CRYPTO_AES + select CRYPTO_RNG + select CRYPTO_FIPS help - Quick & dirty crypto test module. + This option enables the generic pseudo random number generator + for cryptographic modules. Uses the Algorithm specified in + ANSI X9.31 A.2.4 source "drivers/crypto/Kconfig"