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)"
154 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
156 config CRYPTO_BLOWFISH
157 tristate "Blowfish cipher algorithm"
160 Blowfish cipher algorithm, by Bruce Schneier.
162 This is a variable key length cipher which can use keys from 32
163 bits to 448 bits in length. It's fast, simple and specifically
164 designed for use on "large microprocessors".
167 <http://www.schneier.com/blowfish.html>
169 config CRYPTO_TWOFISH
170 tristate "Twofish cipher algorithm"
172 select CRYPTO_TWOFISH_COMMON
174 Twofish cipher algorithm.
176 Twofish was submitted as an AES (Advanced Encryption Standard)
177 candidate cipher by researchers at CounterPane Systems. It is a
178 16 round block cipher supporting key sizes of 128, 192, and 256
182 <http://www.schneier.com/twofish.html>
184 config CRYPTO_TWOFISH_COMMON
187 Common parts of the Twofish cipher algorithm shared by the
188 generic c and the assembler implementations.
190 config CRYPTO_TWOFISH_586
191 tristate "Twofish cipher algorithms (i586)"
192 depends on (X86 || UML_X86) && !64BIT
194 select CRYPTO_TWOFISH_COMMON
196 Twofish cipher algorithm.
198 Twofish was submitted as an AES (Advanced Encryption Standard)
199 candidate cipher by researchers at CounterPane Systems. It is a
200 16 round block cipher supporting key sizes of 128, 192, and 256
204 <http://www.schneier.com/twofish.html>
206 config CRYPTO_TWOFISH_X86_64
207 tristate "Twofish cipher algorithm (x86_64)"
208 depends on (X86 || UML_X86) && 64BIT
210 select CRYPTO_TWOFISH_COMMON
212 Twofish cipher algorithm (x86_64).
214 Twofish was submitted as an AES (Advanced Encryption Standard)
215 candidate cipher by researchers at CounterPane Systems. It is a
216 16 round block cipher supporting key sizes of 128, 192, and 256
220 <http://www.schneier.com/twofish.html>
222 config CRYPTO_SERPENT
223 tristate "Serpent cipher algorithm"
226 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
228 Keys are allowed to be from 0 to 256 bits in length, in steps
229 of 8 bits. Also includes the 'Tnepres' algorithm, a reversed
230 variant of Serpent for compatibility with old kerneli code.
233 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
236 tristate "AES cipher algorithms"
239 AES cipher algorithms (FIPS-197). AES uses the Rijndael
242 Rijndael appears to be consistently a very good performer in
243 both hardware and software across a wide range of computing
244 environments regardless of its use in feedback or non-feedback
245 modes. Its key setup time is excellent, and its key agility is
246 good. Rijndael's very low memory requirements make it very well
247 suited for restricted-space environments, in which it also
248 demonstrates excellent performance. Rijndael's operations are
249 among the easiest to defend against power and timing attacks.
251 The AES specifies three key sizes: 128, 192 and 256 bits
253 See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
255 config CRYPTO_AES_586
256 tristate "AES cipher algorithms (i586)"
257 depends on (X86 || UML_X86) && !64BIT
260 AES cipher algorithms (FIPS-197). AES uses the Rijndael
263 Rijndael appears to be consistently a very good performer in
264 both hardware and software across a wide range of computing
265 environments regardless of its use in feedback or non-feedback
266 modes. Its key setup time is excellent, and its key agility is
267 good. Rijndael's very low memory requirements make it very well
268 suited for restricted-space environments, in which it also
269 demonstrates excellent performance. Rijndael's operations are
270 among the easiest to defend against power and timing attacks.
272 The AES specifies three key sizes: 128, 192 and 256 bits
274 See <http://csrc.nist.gov/encryption/aes/> for more information.
276 config CRYPTO_AES_X86_64
277 tristate "AES cipher algorithms (x86_64)"
278 depends on (X86 || UML_X86) && 64BIT
281 AES cipher algorithms (FIPS-197). AES uses the Rijndael
284 Rijndael appears to be consistently a very good performer in
285 both hardware and software across a wide range of computing
286 environments regardless of its use in feedback or non-feedback
287 modes. Its key setup time is excellent, and its key agility is
288 good. Rijndael's very low memory requirements make it very well
289 suited for restricted-space environments, in which it also
290 demonstrates excellent performance. Rijndael's operations are
291 among the easiest to defend against power and timing attacks.
293 The AES specifies three key sizes: 128, 192 and 256 bits
295 See <http://csrc.nist.gov/encryption/aes/> for more information.
297 config CRYPTO_AES_S390
298 tristate "AES cipher algorithms (s390)"
302 This is the s390 hardware accelerated implementation of the
303 AES cipher algorithms (FIPS-197). AES uses the Rijndael
306 Rijndael appears to be consistently a very good performer in
307 both hardware and software across a wide range of computing
308 environments regardless of its use in feedback or non-feedback
309 modes. Its key setup time is excellent, and its key agility is
310 good. Rijndael's very low memory requirements make it very well
311 suited for restricted-space environments, in which it also
312 demonstrates excellent performance. Rijndael's operations are
313 among the easiest to defend against power and timing attacks.
315 On s390 the System z9-109 currently only supports the key size
319 tristate "CAST5 (CAST-128) cipher algorithm"
322 The CAST5 encryption algorithm (synonymous with CAST-128) is
323 described in RFC2144.
326 tristate "CAST6 (CAST-256) cipher algorithm"
329 The CAST6 encryption algorithm (synonymous with CAST-256) is
330 described in RFC2612.
333 tristate "TEA, XTEA and XETA cipher algorithms"
336 TEA cipher algorithm.
338 Tiny Encryption Algorithm is a simple cipher that uses
339 many rounds for security. It is very fast and uses
342 Xtendend Tiny Encryption Algorithm is a modification to
343 the TEA algorithm to address a potential key weakness
344 in the TEA algorithm.
346 Xtendend Encryption Tiny Algorithm is a mis-implementation
347 of the XTEA algorithm for compatibility purposes.
350 tristate "ARC4 cipher algorithm"
353 ARC4 cipher algorithm.
355 ARC4 is a stream cipher using keys ranging from 8 bits to 2048
356 bits in length. This algorithm is required for driver-based
357 WEP, but it should not be for other purposes because of the
358 weakness of the algorithm.
361 tristate "Khazad cipher algorithm"
364 Khazad cipher algorithm.
366 Khazad was a finalist in the initial NESSIE competition. It is
367 an algorithm optimized for 64-bit processors with good performance
368 on 32-bit processors. Khazad uses an 128 bit key size.
371 <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
374 tristate "Anubis cipher algorithm"
377 Anubis cipher algorithm.
379 Anubis is a variable key length cipher which can use keys from
380 128 bits to 320 bits in length. It was evaluated as a entrant
381 in the NESSIE competition.
384 <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
385 <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
388 config CRYPTO_DEFLATE
389 tristate "Deflate compression algorithm"
394 This is the Deflate algorithm (RFC1951), specified for use in
395 IPSec with the IPCOMP protocol (RFC3173, RFC2394).
397 You will most probably want this if using IPSec.
399 config CRYPTO_MICHAEL_MIC
400 tristate "Michael MIC keyed digest algorithm"
403 Michael MIC is used for message integrity protection in TKIP
404 (IEEE 802.11i). This algorithm is required for TKIP, but it
405 should not be used for other purposes because of the weakness
409 tristate "CRC32c CRC algorithm"
413 Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used
414 by iSCSI for header and data digests and by others.
415 See Castagnoli93. This implementation uses lib/libcrc32c.
416 Module will be crc32c.
419 tristate "Testing module"
423 Quick & dirty crypto test module.
425 source "drivers/crypto/Kconfig"