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.
22 HMAC: Keyed-Hashing for Message Authentication (RFC2104).
23 This is required for IPSec.
26 tristate "Null algorithms"
29 These are 'Null' algorithms, used by IPsec, which do nothing.
32 tristate "MD4 digest algorithm"
35 MD4 message digest algorithm (RFC1320).
38 tristate "MD5 digest algorithm"
41 MD5 message digest algorithm (RFC1321).
44 tristate "SHA1 digest algorithm"
47 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
49 config CRYPTO_SHA1_S390
50 tristate "SHA1 digest algorithm (s390)"
54 This is the s390 hardware accelerated implementation of the
55 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
58 tristate "SHA256 digest algorithm"
61 SHA256 secure hash standard (DFIPS 180-2).
63 This version of SHA implements a 256 bit hash with 128 bits of
64 security against collision attacks.
66 config CRYPTO_SHA256_S390
67 tristate "SHA256 digest algorithm (s390)"
71 This is the s390 hardware accelerated implementation of the
72 SHA256 secure hash standard (DFIPS 180-2).
74 This version of SHA implements a 256 bit hash with 128 bits of
75 security against collision attacks.
78 tristate "SHA384 and SHA512 digest algorithms"
81 SHA512 secure hash standard (DFIPS 180-2).
83 This version of SHA implements a 512 bit hash with 256 bits of
84 security against collision attacks.
86 This code also includes SHA-384, a 384 bit hash with 192 bits
87 of security against collision attacks.
90 tristate "Whirlpool digest algorithms"
93 Whirlpool hash algorithm 512, 384 and 256-bit hashes
95 Whirlpool-512 is part of the NESSIE cryptographic primitives.
96 Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
99 <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
102 tristate "Tiger digest algorithms"
105 Tiger hash algorithm 192, 160 and 128-bit hashes
107 Tiger is a hash function optimized for 64-bit processors while
108 still having decent performance on 32-bit processors.
109 Tiger was developed by Ross Anderson and Eli Biham.
112 <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
115 tristate "DES and Triple DES EDE cipher algorithms"
118 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
120 config CRYPTO_DES_S390
121 tristate "DES and Triple DES cipher algorithms (s390)"
125 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
127 config CRYPTO_BLOWFISH
128 tristate "Blowfish cipher algorithm"
131 Blowfish cipher algorithm, by Bruce Schneier.
133 This is a variable key length cipher which can use keys from 32
134 bits to 448 bits in length. It's fast, simple and specifically
135 designed for use on "large microprocessors".
138 <http://www.schneier.com/blowfish.html>
140 config CRYPTO_TWOFISH
141 tristate "Twofish cipher algorithm"
143 select CRYPTO_TWOFISH_COMMON
145 Twofish cipher algorithm.
147 Twofish was submitted as an AES (Advanced Encryption Standard)
148 candidate cipher by researchers at CounterPane Systems. It is a
149 16 round block cipher supporting key sizes of 128, 192, and 256
153 <http://www.schneier.com/twofish.html>
155 config CRYPTO_TWOFISH_COMMON
158 Common parts of the Twofish cipher algorithm shared by the
159 generic c and the assembler implementations.
161 config CRYPTO_TWOFISH_586
162 tristate "Twofish cipher algorithms (i586)"
163 depends on (X86 || UML_X86) && !64BIT
165 select CRYPTO_TWOFISH_COMMON
167 Twofish cipher algorithm.
169 Twofish was submitted as an AES (Advanced Encryption Standard)
170 candidate cipher by researchers at CounterPane Systems. It is a
171 16 round block cipher supporting key sizes of 128, 192, and 256
175 <http://www.schneier.com/twofish.html>
177 config CRYPTO_TWOFISH_X86_64
178 tristate "Twofish cipher algorithm (x86_64)"
179 depends on (X86 || UML_X86) && 64BIT
181 select CRYPTO_TWOFISH_COMMON
183 Twofish cipher algorithm (x86_64).
185 Twofish was submitted as an AES (Advanced Encryption Standard)
186 candidate cipher by researchers at CounterPane Systems. It is a
187 16 round block cipher supporting key sizes of 128, 192, and 256
191 <http://www.schneier.com/twofish.html>
193 config CRYPTO_SERPENT
194 tristate "Serpent cipher algorithm"
197 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
199 Keys are allowed to be from 0 to 256 bits in length, in steps
200 of 8 bits. Also includes the 'Tnepres' algorithm, a reversed
201 variant of Serpent for compatibility with old kerneli code.
204 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
207 tristate "AES cipher algorithms"
210 AES cipher algorithms (FIPS-197). AES uses the Rijndael
213 Rijndael appears to be consistently a very good performer in
214 both hardware and software across a wide range of computing
215 environments regardless of its use in feedback or non-feedback
216 modes. Its key setup time is excellent, and its key agility is
217 good. Rijndael's very low memory requirements make it very well
218 suited for restricted-space environments, in which it also
219 demonstrates excellent performance. Rijndael's operations are
220 among the easiest to defend against power and timing attacks.
222 The AES specifies three key sizes: 128, 192 and 256 bits
224 See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
226 config CRYPTO_AES_586
227 tristate "AES cipher algorithms (i586)"
228 depends on (X86 || UML_X86) && !64BIT
231 AES cipher algorithms (FIPS-197). AES uses the Rijndael
234 Rijndael appears to be consistently a very good performer in
235 both hardware and software across a wide range of computing
236 environments regardless of its use in feedback or non-feedback
237 modes. Its key setup time is excellent, and its key agility is
238 good. Rijndael's very low memory requirements make it very well
239 suited for restricted-space environments, in which it also
240 demonstrates excellent performance. Rijndael's operations are
241 among the easiest to defend against power and timing attacks.
243 The AES specifies three key sizes: 128, 192 and 256 bits
245 See <http://csrc.nist.gov/encryption/aes/> for more information.
247 config CRYPTO_AES_X86_64
248 tristate "AES cipher algorithms (x86_64)"
249 depends on (X86 || UML_X86) && 64BIT
252 AES cipher algorithms (FIPS-197). AES uses the Rijndael
255 Rijndael appears to be consistently a very good performer in
256 both hardware and software across a wide range of computing
257 environments regardless of its use in feedback or non-feedback
258 modes. Its key setup time is excellent, and its key agility is
259 good. Rijndael's very low memory requirements make it very well
260 suited for restricted-space environments, in which it also
261 demonstrates excellent performance. Rijndael's operations are
262 among the easiest to defend against power and timing attacks.
264 The AES specifies three key sizes: 128, 192 and 256 bits
266 See <http://csrc.nist.gov/encryption/aes/> for more information.
268 config CRYPTO_AES_S390
269 tristate "AES cipher algorithms (s390)"
273 This is the s390 hardware accelerated implementation of the
274 AES cipher algorithms (FIPS-197). AES uses the Rijndael
277 Rijndael appears to be consistently a very good performer in
278 both hardware and software across a wide range of computing
279 environments regardless of its use in feedback or non-feedback
280 modes. Its key setup time is excellent, and its key agility is
281 good. Rijndael's very low memory requirements make it very well
282 suited for restricted-space environments, in which it also
283 demonstrates excellent performance. Rijndael's operations are
284 among the easiest to defend against power and timing attacks.
286 On s390 the System z9-109 currently only supports the key size
290 tristate "CAST5 (CAST-128) cipher algorithm"
293 The CAST5 encryption algorithm (synonymous with CAST-128) is
294 described in RFC2144.
297 tristate "CAST6 (CAST-256) cipher algorithm"
300 The CAST6 encryption algorithm (synonymous with CAST-256) is
301 described in RFC2612.
304 tristate "TEA, XTEA and XETA cipher algorithms"
307 TEA cipher algorithm.
309 Tiny Encryption Algorithm is a simple cipher that uses
310 many rounds for security. It is very fast and uses
313 Xtendend Tiny Encryption Algorithm is a modification to
314 the TEA algorithm to address a potential key weakness
315 in the TEA algorithm.
317 Xtendend Encryption Tiny Algorithm is a mis-implementation
318 of the XTEA algorithm for compatibility purposes.
321 tristate "ARC4 cipher algorithm"
324 ARC4 cipher algorithm.
326 ARC4 is a stream cipher using keys ranging from 8 bits to 2048
327 bits in length. This algorithm is required for driver-based
328 WEP, but it should not be for other purposes because of the
329 weakness of the algorithm.
332 tristate "Khazad cipher algorithm"
335 Khazad cipher algorithm.
337 Khazad was a finalist in the initial NESSIE competition. It is
338 an algorithm optimized for 64-bit processors with good performance
339 on 32-bit processors. Khazad uses an 128 bit key size.
342 <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
345 tristate "Anubis cipher algorithm"
348 Anubis cipher algorithm.
350 Anubis is a variable key length cipher which can use keys from
351 128 bits to 320 bits in length. It was evaluated as a entrant
352 in the NESSIE competition.
355 <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
356 <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
359 config CRYPTO_DEFLATE
360 tristate "Deflate compression algorithm"
365 This is the Deflate algorithm (RFC1951), specified for use in
366 IPSec with the IPCOMP protocol (RFC3173, RFC2394).
368 You will most probably want this if using IPSec.
370 config CRYPTO_MICHAEL_MIC
371 tristate "Michael MIC keyed digest algorithm"
374 Michael MIC is used for message integrity protection in TKIP
375 (IEEE 802.11i). This algorithm is required for TKIP, but it
376 should not be used for other purposes because of the weakness
380 tristate "CRC32c CRC algorithm"
384 Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used
385 by iSCSI for header and data digests and by others.
386 See Castagnoli93. This implementation uses lib/libcrc32c.
387 Module will be crc32c.
390 tristate "Testing module"
394 Quick & dirty crypto test module.
396 source "drivers/crypto/Kconfig"