1# 2# Cryptographic API Configuration 3# 4 5menu "Cryptographic options" 6 7config CRYPTO 8 bool "Cryptographic API" 9 help 10 This option provides the core Cryptographic API. 11 12config CRYPTO_HMAC 13 bool "HMAC support" 14 depends on CRYPTO 15 help 16 HMAC: Keyed-Hashing for Message Authentication (RFC2104). 17 This is required for IPSec. 18 19config CRYPTO_NULL 20 tristate "Null algorithms" 21 depends on CRYPTO 22 help 23 These are 'Null' algorithms, used by IPsec, which do nothing. 24 25config CRYPTO_MD4 26 tristate "MD4 digest algorithm" 27 depends on CRYPTO 28 help 29 MD4 message digest algorithm (RFC1320). 30 31config CRYPTO_MD5 32 tristate "MD5 digest algorithm" 33 depends on CRYPTO 34 help 35 MD5 message digest algorithm (RFC1321). 36 37config CRYPTO_SHA1 38 tristate "SHA1 digest algorithm" 39 depends on CRYPTO 40 help 41 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 42 43config CRYPTO_SHA1_Z990 44 tristate "SHA1 digest algorithm for IBM zSeries z990" 45 depends on CRYPTO && ARCH_S390 46 help 47 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 48 49config CRYPTO_SHA256 50 tristate "SHA256 digest algorithm" 51 depends on CRYPTO 52 help 53 SHA256 secure hash standard (DFIPS 180-2). 54 55 This version of SHA implements a 256 bit hash with 128 bits of 56 security against collision attacks. 57 58config CRYPTO_SHA512 59 tristate "SHA384 and SHA512 digest algorithms" 60 depends on CRYPTO 61 help 62 SHA512 secure hash standard (DFIPS 180-2). 63 64 This version of SHA implements a 512 bit hash with 256 bits of 65 security against collision attacks. 66 67 This code also includes SHA-384, a 384 bit hash with 192 bits 68 of security against collision attacks. 69 70config CRYPTO_WP512 71 tristate "Whirlpool digest algorithms" 72 depends on CRYPTO 73 help 74 Whirlpool hash algorithm 512, 384 and 256-bit hashes 75 76 Whirlpool-512 is part of the NESSIE cryptographic primitives. 77 Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard 78 79 See also: 80 <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html> 81 82config CRYPTO_TGR192 83 tristate "Tiger digest algorithms" 84 depends on CRYPTO 85 help 86 Tiger hash algorithm 192, 160 and 128-bit hashes 87 88 Tiger is a hash function optimized for 64-bit processors while 89 still having decent performance on 32-bit processors. 90 Tiger was developed by Ross Anderson and Eli Biham. 91 92 See also: 93 <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>. 94 95config CRYPTO_DES 96 tristate "DES and Triple DES EDE cipher algorithms" 97 depends on CRYPTO 98 help 99 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 100 101config CRYPTO_DES_Z990 102 tristate "DES and Triple DES cipher algorithms for IBM zSeries z990" 103 depends on CRYPTO && ARCH_S390 104 help 105 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 106 107config CRYPTO_BLOWFISH 108 tristate "Blowfish cipher algorithm" 109 depends on CRYPTO 110 help 111 Blowfish cipher algorithm, by Bruce Schneier. 112 113 This is a variable key length cipher which can use keys from 32 114 bits to 448 bits in length. It's fast, simple and specifically 115 designed for use on "large microprocessors". 116 117 See also: 118 <http://www.schneier.com/blowfish.html> 119 120config CRYPTO_TWOFISH 121 tristate "Twofish cipher algorithm" 122 depends on CRYPTO 123 help 124 Twofish cipher algorithm. 125 126 Twofish was submitted as an AES (Advanced Encryption Standard) 127 candidate cipher by researchers at CounterPane Systems. It is a 128 16 round block cipher supporting key sizes of 128, 192, and 256 129 bits. 130 131 See also: 132 <http://www.schneier.com/twofish.html> 133 134config CRYPTO_SERPENT 135 tristate "Serpent cipher algorithm" 136 depends on CRYPTO 137 help 138 Serpent cipher algorithm, by Anderson, Biham & Knudsen. 139 140 Keys are allowed to be from 0 to 256 bits in length, in steps 141 of 8 bits. Also includes the 'Tnepres' algorithm, a reversed 142 variant of Serpent for compatibility with old kerneli code. 143 144 See also: 145 <http://www.cl.cam.ac.uk/~rja14/serpent.html> 146 147config CRYPTO_AES 148 tristate "AES cipher algorithms" 149 depends on CRYPTO && !(X86 || UML_X86) 150 help 151 AES cipher algorithms (FIPS-197). AES uses the Rijndael 152 algorithm. 153 154 Rijndael appears to be consistently a very good performer in 155 both hardware and software across a wide range of computing 156 environments regardless of its use in feedback or non-feedback 157 modes. Its key setup time is excellent, and its key agility is 158 good. Rijndael's very low memory requirements make it very well 159 suited for restricted-space environments, in which it also 160 demonstrates excellent performance. Rijndael's operations are 161 among the easiest to defend against power and timing attacks. 162 163 The AES specifies three key sizes: 128, 192 and 256 bits 164 165 See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information. 166 167config CRYPTO_AES_586 168 tristate "AES cipher algorithms (i586)" 169 depends on CRYPTO && ((X86 || UML_X86) && !64BIT) 170 help 171 AES cipher algorithms (FIPS-197). AES uses the Rijndael 172 algorithm. 173 174 Rijndael appears to be consistently a very good performer in 175 both hardware and software across a wide range of computing 176 environments regardless of its use in feedback or non-feedback 177 modes. Its key setup time is excellent, and its key agility is 178 good. Rijndael's very low memory requirements make it very well 179 suited for restricted-space environments, in which it also 180 demonstrates excellent performance. Rijndael's operations are 181 among the easiest to defend against power and timing attacks. 182 183 The AES specifies three key sizes: 128, 192 and 256 bits 184 185 See <http://csrc.nist.gov/encryption/aes/> for more information. 186 187config CRYPTO_AES_X86_64 188 tristate "AES cipher algorithms (x86_64)" 189 depends on CRYPTO && ((X86 || UML_X86) && 64BIT) 190 help 191 AES cipher algorithms (FIPS-197). AES uses the Rijndael 192 algorithm. 193 194 Rijndael appears to be consistently a very good performer in 195 both hardware and software across a wide range of computing 196 environments regardless of its use in feedback or non-feedback 197 modes. Its key setup time is excellent, and its key agility is 198 good. Rijndael's very low memory requirements make it very well 199 suited for restricted-space environments, in which it also 200 demonstrates excellent performance. Rijndael's operations are 201 among the easiest to defend against power and timing attacks. 202 203 The AES specifies three key sizes: 128, 192 and 256 bits 204 205 See <http://csrc.nist.gov/encryption/aes/> for more information. 206 207config CRYPTO_CAST5 208 tristate "CAST5 (CAST-128) cipher algorithm" 209 depends on CRYPTO 210 help 211 The CAST5 encryption algorithm (synonymous with CAST-128) is 212 described in RFC2144. 213 214config CRYPTO_CAST6 215 tristate "CAST6 (CAST-256) cipher algorithm" 216 depends on CRYPTO 217 help 218 The CAST6 encryption algorithm (synonymous with CAST-256) is 219 described in RFC2612. 220 221config CRYPTO_TEA 222 tristate "TEA, XTEA and XETA cipher algorithms" 223 depends on CRYPTO 224 help 225 TEA cipher algorithm. 226 227 Tiny Encryption Algorithm is a simple cipher that uses 228 many rounds for security. It is very fast and uses 229 little memory. 230 231 Xtendend Tiny Encryption Algorithm is a modification to 232 the TEA algorithm to address a potential key weakness 233 in the TEA algorithm. 234 235 Xtendend Encryption Tiny Algorithm is a mis-implementation 236 of the XTEA algorithm for compatibility purposes. 237 238config CRYPTO_ARC4 239 tristate "ARC4 cipher algorithm" 240 depends on CRYPTO 241 help 242 ARC4 cipher algorithm. 243 244 ARC4 is a stream cipher using keys ranging from 8 bits to 2048 245 bits in length. This algorithm is required for driver-based 246 WEP, but it should not be for other purposes because of the 247 weakness of the algorithm. 248 249config CRYPTO_KHAZAD 250 tristate "Khazad cipher algorithm" 251 depends on CRYPTO 252 help 253 Khazad cipher algorithm. 254 255 Khazad was a finalist in the initial NESSIE competition. It is 256 an algorithm optimized for 64-bit processors with good performance 257 on 32-bit processors. Khazad uses an 128 bit key size. 258 259 See also: 260 <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html> 261 262config CRYPTO_ANUBIS 263 tristate "Anubis cipher algorithm" 264 depends on CRYPTO 265 help 266 Anubis cipher algorithm. 267 268 Anubis is a variable key length cipher which can use keys from 269 128 bits to 320 bits in length. It was evaluated as a entrant 270 in the NESSIE competition. 271 272 See also: 273 <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/> 274 <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html> 275 276 277config CRYPTO_DEFLATE 278 tristate "Deflate compression algorithm" 279 depends on CRYPTO 280 select ZLIB_INFLATE 281 select ZLIB_DEFLATE 282 help 283 This is the Deflate algorithm (RFC1951), specified for use in 284 IPSec with the IPCOMP protocol (RFC3173, RFC2394). 285 286 You will most probably want this if using IPSec. 287 288config CRYPTO_MICHAEL_MIC 289 tristate "Michael MIC keyed digest algorithm" 290 depends on CRYPTO 291 help 292 Michael MIC is used for message integrity protection in TKIP 293 (IEEE 802.11i). This algorithm is required for TKIP, but it 294 should not be used for other purposes because of the weakness 295 of the algorithm. 296 297config CRYPTO_CRC32C 298 tristate "CRC32c CRC algorithm" 299 depends on CRYPTO 300 select LIBCRC32C 301 help 302 Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used 303 by iSCSI for header and data digests and by others. 304 See Castagnoli93. This implementation uses lib/libcrc32c. 305 Module will be crc32c. 306 307config CRYPTO_TEST 308 tristate "Testing module" 309 depends on CRYPTO 310 help 311 Quick & dirty crypto test module. 312 313source "drivers/crypto/Kconfig" 314endmenu 315 316