2 # Cryptographic API Configuration
5 menu "Cryptographic options"
8 bool "Cryptographic API"
10 This option provides the core Cryptographic API.
17 This option provides the API for cryptographic algorithms.
19 config CRYPTO_BLKCIPHER
24 tristate "Cryptographic algorithm manager"
28 Create default cryptographic template instantiations such as
34 HMAC: Keyed-Hashing for Message Authentication (RFC2104).
35 This is required for IPSec.
38 tristate "Null algorithms"
41 These are 'Null' algorithms, used by IPsec, which do nothing.
44 tristate "MD4 digest algorithm"
47 MD4 message digest algorithm (RFC1320).
50 tristate "MD5 digest algorithm"
53 MD5 message digest algorithm (RFC1321).
56 tristate "SHA1 digest algorithm"
59 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
61 config CRYPTO_SHA1_S390
62 tristate "SHA1 digest algorithm (s390)"
66 This is the s390 hardware accelerated implementation of the
67 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
70 tristate "SHA256 digest algorithm"
73 SHA256 secure hash standard (DFIPS 180-2).
75 This version of SHA implements a 256 bit hash with 128 bits of
76 security against collision attacks.
78 config CRYPTO_SHA256_S390
79 tristate "SHA256 digest algorithm (s390)"
83 This is the s390 hardware accelerated implementation of the
84 SHA256 secure hash standard (DFIPS 180-2).
86 This version of SHA implements a 256 bit hash with 128 bits of
87 security against collision attacks.
90 tristate "SHA384 and SHA512 digest algorithms"
93 SHA512 secure hash standard (DFIPS 180-2).
95 This version of SHA implements a 512 bit hash with 256 bits of
96 security against collision attacks.
98 This code also includes SHA-384, a 384 bit hash with 192 bits
99 of security against collision attacks.
102 tristate "Whirlpool digest algorithms"
105 Whirlpool hash algorithm 512, 384 and 256-bit hashes
107 Whirlpool-512 is part of the NESSIE cryptographic primitives.
108 Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
111 <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
114 tristate "Tiger digest algorithms"
117 Tiger hash algorithm 192, 160 and 128-bit hashes
119 Tiger is a hash function optimized for 64-bit processors while
120 still having decent performance on 32-bit processors.
121 Tiger was developed by Ross Anderson and Eli Biham.
124 <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
127 tristate "ECB support"
128 select CRYPTO_BLKCIPHER
131 ECB: Electronic CodeBook mode
132 This is the simplest block cipher algorithm. It simply encrypts
133 the input block by block.
136 tristate "CBC support"
137 select CRYPTO_BLKCIPHER
140 CBC: Cipher Block Chaining mode
141 This block cipher algorithm is required for IPSec.
144 tristate "DES and Triple DES EDE cipher algorithms"
147 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
149 config CRYPTO_DES_S390
150 tristate "DES and Triple DES cipher algorithms (s390)"
153 select CRYPTO_BLKCIPHER
155 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
157 config CRYPTO_BLOWFISH
158 tristate "Blowfish cipher algorithm"
161 Blowfish cipher algorithm, by Bruce Schneier.
163 This is a variable key length cipher which can use keys from 32
164 bits to 448 bits in length. It's fast, simple and specifically
165 designed for use on "large microprocessors".
168 <http://www.schneier.com/blowfish.html>
170 config CRYPTO_TWOFISH
171 tristate "Twofish cipher algorithm"
173 select CRYPTO_TWOFISH_COMMON
175 Twofish cipher algorithm.
177 Twofish was submitted as an AES (Advanced Encryption Standard)
178 candidate cipher by researchers at CounterPane Systems. It is a
179 16 round block cipher supporting key sizes of 128, 192, and 256
183 <http://www.schneier.com/twofish.html>
185 config CRYPTO_TWOFISH_COMMON
188 Common parts of the Twofish cipher algorithm shared by the
189 generic c and the assembler implementations.
191 config CRYPTO_TWOFISH_586
192 tristate "Twofish cipher algorithms (i586)"
193 depends on (X86 || UML_X86) && !64BIT
195 select CRYPTO_TWOFISH_COMMON
197 Twofish cipher algorithm.
199 Twofish was submitted as an AES (Advanced Encryption Standard)
200 candidate cipher by researchers at CounterPane Systems. It is a
201 16 round block cipher supporting key sizes of 128, 192, and 256
205 <http://www.schneier.com/twofish.html>
207 config CRYPTO_TWOFISH_X86_64
208 tristate "Twofish cipher algorithm (x86_64)"
209 depends on (X86 || UML_X86) && 64BIT
211 select CRYPTO_TWOFISH_COMMON
213 Twofish cipher algorithm (x86_64).
215 Twofish was submitted as an AES (Advanced Encryption Standard)
216 candidate cipher by researchers at CounterPane Systems. It is a
217 16 round block cipher supporting key sizes of 128, 192, and 256
221 <http://www.schneier.com/twofish.html>
223 config CRYPTO_SERPENT
224 tristate "Serpent cipher algorithm"
227 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
229 Keys are allowed to be from 0 to 256 bits in length, in steps
230 of 8 bits. Also includes the 'Tnepres' algorithm, a reversed
231 variant of Serpent for compatibility with old kerneli code.
234 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
237 tristate "AES cipher algorithms"
240 AES cipher algorithms (FIPS-197). AES uses the Rijndael
243 Rijndael appears to be consistently a very good performer in
244 both hardware and software across a wide range of computing
245 environments regardless of its use in feedback or non-feedback
246 modes. Its key setup time is excellent, and its key agility is
247 good. Rijndael's very low memory requirements make it very well
248 suited for restricted-space environments, in which it also
249 demonstrates excellent performance. Rijndael's operations are
250 among the easiest to defend against power and timing attacks.
252 The AES specifies three key sizes: 128, 192 and 256 bits
254 See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
256 config CRYPTO_AES_586
257 tristate "AES cipher algorithms (i586)"
258 depends on (X86 || UML_X86) && !64BIT
261 AES cipher algorithms (FIPS-197). AES uses the Rijndael
264 Rijndael appears to be consistently a very good performer in
265 both hardware and software across a wide range of computing
266 environments regardless of its use in feedback or non-feedback
267 modes. Its key setup time is excellent, and its key agility is
268 good. Rijndael's very low memory requirements make it very well
269 suited for restricted-space environments, in which it also
270 demonstrates excellent performance. Rijndael's operations are
271 among the easiest to defend against power and timing attacks.
273 The AES specifies three key sizes: 128, 192 and 256 bits
275 See <http://csrc.nist.gov/encryption/aes/> for more information.
277 config CRYPTO_AES_X86_64
278 tristate "AES cipher algorithms (x86_64)"
279 depends on (X86 || UML_X86) && 64BIT
282 AES cipher algorithms (FIPS-197). AES uses the Rijndael
285 Rijndael appears to be consistently a very good performer in
286 both hardware and software across a wide range of computing
287 environments regardless of its use in feedback or non-feedback
288 modes. Its key setup time is excellent, and its key agility is
289 good. Rijndael's very low memory requirements make it very well
290 suited for restricted-space environments, in which it also
291 demonstrates excellent performance. Rijndael's operations are
292 among the easiest to defend against power and timing attacks.
294 The AES specifies three key sizes: 128, 192 and 256 bits
296 See <http://csrc.nist.gov/encryption/aes/> for more information.
298 config CRYPTO_AES_S390
299 tristate "AES cipher algorithms (s390)"
302 select CRYPTO_BLKCIPHER
304 This is the s390 hardware accelerated implementation of the
305 AES cipher algorithms (FIPS-197). AES uses the Rijndael
308 Rijndael appears to be consistently a very good performer in
309 both hardware and software across a wide range of computing
310 environments regardless of its use in feedback or non-feedback
311 modes. Its key setup time is excellent, and its key agility is
312 good. Rijndael's very low memory requirements make it very well
313 suited for restricted-space environments, in which it also
314 demonstrates excellent performance. Rijndael's operations are
315 among the easiest to defend against power and timing attacks.
317 On s390 the System z9-109 currently only supports the key size
321 tristate "CAST5 (CAST-128) cipher algorithm"
324 The CAST5 encryption algorithm (synonymous with CAST-128) is
325 described in RFC2144.
328 tristate "CAST6 (CAST-256) cipher algorithm"
331 The CAST6 encryption algorithm (synonymous with CAST-256) is
332 described in RFC2612.
335 tristate "TEA, XTEA and XETA cipher algorithms"
338 TEA cipher algorithm.
340 Tiny Encryption Algorithm is a simple cipher that uses
341 many rounds for security. It is very fast and uses
344 Xtendend Tiny Encryption Algorithm is a modification to
345 the TEA algorithm to address a potential key weakness
346 in the TEA algorithm.
348 Xtendend Encryption Tiny Algorithm is a mis-implementation
349 of the XTEA algorithm for compatibility purposes.
352 tristate "ARC4 cipher algorithm"
355 ARC4 cipher algorithm.
357 ARC4 is a stream cipher using keys ranging from 8 bits to 2048
358 bits in length. This algorithm is required for driver-based
359 WEP, but it should not be for other purposes because of the
360 weakness of the algorithm.
363 tristate "Khazad cipher algorithm"
366 Khazad cipher algorithm.
368 Khazad was a finalist in the initial NESSIE competition. It is
369 an algorithm optimized for 64-bit processors with good performance
370 on 32-bit processors. Khazad uses an 128 bit key size.
373 <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
376 tristate "Anubis cipher algorithm"
379 Anubis cipher algorithm.
381 Anubis is a variable key length cipher which can use keys from
382 128 bits to 320 bits in length. It was evaluated as a entrant
383 in the NESSIE competition.
386 <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
387 <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
390 config CRYPTO_DEFLATE
391 tristate "Deflate compression algorithm"
396 This is the Deflate algorithm (RFC1951), specified for use in
397 IPSec with the IPCOMP protocol (RFC3173, RFC2394).
399 You will most probably want this if using IPSec.
401 config CRYPTO_MICHAEL_MIC
402 tristate "Michael MIC keyed digest algorithm"
405 Michael MIC is used for message integrity protection in TKIP
406 (IEEE 802.11i). This algorithm is required for TKIP, but it
407 should not be used for other purposes because of the weakness
411 tristate "CRC32c CRC algorithm"
415 Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used
416 by iSCSI for header and data digests and by others.
417 See Castagnoli93. This implementation uses lib/libcrc32c.
418 Module will be crc32c.
421 tristate "Testing module"
425 Quick & dirty crypto test module.
427 source "drivers/crypto/Kconfig"