[CRYPTO] s390: Added block cipher versions of CBC/ECB
[deliverable/linux.git] / crypto / Kconfig
... / ...
CommitLineData
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
12if CRYPTO
13
14config CRYPTO_ALGAPI
15 tristate
16 help
17 This option provides the API for cryptographic algorithms.
18
19config CRYPTO_BLKCIPHER
20 tristate
21 select CRYPTO_ALGAPI
22
23config CRYPTO_MANAGER
24 tristate "Cryptographic algorithm manager"
25 select CRYPTO_ALGAPI
26 default m
27 help
28 Create default cryptographic template instantiations such as
29 cbc(aes).
30
31config CRYPTO_HMAC
32 bool "HMAC support"
33 help
34 HMAC: Keyed-Hashing for Message Authentication (RFC2104).
35 This is required for IPSec.
36
37config CRYPTO_NULL
38 tristate "Null algorithms"
39 select CRYPTO_ALGAPI
40 help
41 These are 'Null' algorithms, used by IPsec, which do nothing.
42
43config CRYPTO_MD4
44 tristate "MD4 digest algorithm"
45 select CRYPTO_ALGAPI
46 help
47 MD4 message digest algorithm (RFC1320).
48
49config CRYPTO_MD5
50 tristate "MD5 digest algorithm"
51 select CRYPTO_ALGAPI
52 help
53 MD5 message digest algorithm (RFC1321).
54
55config CRYPTO_SHA1
56 tristate "SHA1 digest algorithm"
57 select CRYPTO_ALGAPI
58 help
59 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
60
61config CRYPTO_SHA1_S390
62 tristate "SHA1 digest algorithm (s390)"
63 depends on S390
64 select CRYPTO_ALGAPI
65 help
66 This is the s390 hardware accelerated implementation of the
67 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
68
69config CRYPTO_SHA256
70 tristate "SHA256 digest algorithm"
71 select CRYPTO_ALGAPI
72 help
73 SHA256 secure hash standard (DFIPS 180-2).
74
75 This version of SHA implements a 256 bit hash with 128 bits of
76 security against collision attacks.
77
78config CRYPTO_SHA256_S390
79 tristate "SHA256 digest algorithm (s390)"
80 depends on S390
81 select CRYPTO_ALGAPI
82 help
83 This is the s390 hardware accelerated implementation of the
84 SHA256 secure hash standard (DFIPS 180-2).
85
86 This version of SHA implements a 256 bit hash with 128 bits of
87 security against collision attacks.
88
89config CRYPTO_SHA512
90 tristate "SHA384 and SHA512 digest algorithms"
91 select CRYPTO_ALGAPI
92 help
93 SHA512 secure hash standard (DFIPS 180-2).
94
95 This version of SHA implements a 512 bit hash with 256 bits of
96 security against collision attacks.
97
98 This code also includes SHA-384, a 384 bit hash with 192 bits
99 of security against collision attacks.
100
101config CRYPTO_WP512
102 tristate "Whirlpool digest algorithms"
103 select CRYPTO_ALGAPI
104 help
105 Whirlpool hash algorithm 512, 384 and 256-bit hashes
106
107 Whirlpool-512 is part of the NESSIE cryptographic primitives.
108 Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
109
110 See also:
111 <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
112
113config CRYPTO_TGR192
114 tristate "Tiger digest algorithms"
115 select CRYPTO_ALGAPI
116 help
117 Tiger hash algorithm 192, 160 and 128-bit hashes
118
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.
122
123 See also:
124 <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
125
126config CRYPTO_ECB
127 tristate "ECB support"
128 select CRYPTO_BLKCIPHER
129 default m
130 help
131 ECB: Electronic CodeBook mode
132 This is the simplest block cipher algorithm. It simply encrypts
133 the input block by block.
134
135config CRYPTO_CBC
136 tristate "CBC support"
137 select CRYPTO_BLKCIPHER
138 default m
139 help
140 CBC: Cipher Block Chaining mode
141 This block cipher algorithm is required for IPSec.
142
143config CRYPTO_DES
144 tristate "DES and Triple DES EDE cipher algorithms"
145 select CRYPTO_ALGAPI
146 help
147 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
148
149config CRYPTO_DES_S390
150 tristate "DES and Triple DES cipher algorithms (s390)"
151 depends on S390
152 select CRYPTO_ALGAPI
153 select CRYPTO_BLKCIPHER
154 help
155 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
156
157config CRYPTO_BLOWFISH
158 tristate "Blowfish cipher algorithm"
159 select CRYPTO_ALGAPI
160 help
161 Blowfish cipher algorithm, by Bruce Schneier.
162
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".
166
167 See also:
168 <http://www.schneier.com/blowfish.html>
169
170config CRYPTO_TWOFISH
171 tristate "Twofish cipher algorithm"
172 select CRYPTO_ALGAPI
173 select CRYPTO_TWOFISH_COMMON
174 help
175 Twofish cipher algorithm.
176
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
180 bits.
181
182 See also:
183 <http://www.schneier.com/twofish.html>
184
185config CRYPTO_TWOFISH_COMMON
186 tristate
187 help
188 Common parts of the Twofish cipher algorithm shared by the
189 generic c and the assembler implementations.
190
191config CRYPTO_TWOFISH_586
192 tristate "Twofish cipher algorithms (i586)"
193 depends on (X86 || UML_X86) && !64BIT
194 select CRYPTO_ALGAPI
195 select CRYPTO_TWOFISH_COMMON
196 help
197 Twofish cipher algorithm.
198
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
202 bits.
203
204 See also:
205 <http://www.schneier.com/twofish.html>
206
207config CRYPTO_TWOFISH_X86_64
208 tristate "Twofish cipher algorithm (x86_64)"
209 depends on (X86 || UML_X86) && 64BIT
210 select CRYPTO_ALGAPI
211 select CRYPTO_TWOFISH_COMMON
212 help
213 Twofish cipher algorithm (x86_64).
214
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
218 bits.
219
220 See also:
221 <http://www.schneier.com/twofish.html>
222
223config CRYPTO_SERPENT
224 tristate "Serpent cipher algorithm"
225 select CRYPTO_ALGAPI
226 help
227 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
228
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.
232
233 See also:
234 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
235
236config CRYPTO_AES
237 tristate "AES cipher algorithms"
238 select CRYPTO_ALGAPI
239 help
240 AES cipher algorithms (FIPS-197). AES uses the Rijndael
241 algorithm.
242
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.
251
252 The AES specifies three key sizes: 128, 192 and 256 bits
253
254 See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
255
256config CRYPTO_AES_586
257 tristate "AES cipher algorithms (i586)"
258 depends on (X86 || UML_X86) && !64BIT
259 select CRYPTO_ALGAPI
260 help
261 AES cipher algorithms (FIPS-197). AES uses the Rijndael
262 algorithm.
263
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.
272
273 The AES specifies three key sizes: 128, 192 and 256 bits
274
275 See <http://csrc.nist.gov/encryption/aes/> for more information.
276
277config CRYPTO_AES_X86_64
278 tristate "AES cipher algorithms (x86_64)"
279 depends on (X86 || UML_X86) && 64BIT
280 select CRYPTO_ALGAPI
281 help
282 AES cipher algorithms (FIPS-197). AES uses the Rijndael
283 algorithm.
284
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.
293
294 The AES specifies three key sizes: 128, 192 and 256 bits
295
296 See <http://csrc.nist.gov/encryption/aes/> for more information.
297
298config CRYPTO_AES_S390
299 tristate "AES cipher algorithms (s390)"
300 depends on S390
301 select CRYPTO_ALGAPI
302 select CRYPTO_BLKCIPHER
303 help
304 This is the s390 hardware accelerated implementation of the
305 AES cipher algorithms (FIPS-197). AES uses the Rijndael
306 algorithm.
307
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.
316
317 On s390 the System z9-109 currently only supports the key size
318 of 128 bit.
319
320config CRYPTO_CAST5
321 tristate "CAST5 (CAST-128) cipher algorithm"
322 select CRYPTO_ALGAPI
323 help
324 The CAST5 encryption algorithm (synonymous with CAST-128) is
325 described in RFC2144.
326
327config CRYPTO_CAST6
328 tristate "CAST6 (CAST-256) cipher algorithm"
329 select CRYPTO_ALGAPI
330 help
331 The CAST6 encryption algorithm (synonymous with CAST-256) is
332 described in RFC2612.
333
334config CRYPTO_TEA
335 tristate "TEA, XTEA and XETA cipher algorithms"
336 select CRYPTO_ALGAPI
337 help
338 TEA cipher algorithm.
339
340 Tiny Encryption Algorithm is a simple cipher that uses
341 many rounds for security. It is very fast and uses
342 little memory.
343
344 Xtendend Tiny Encryption Algorithm is a modification to
345 the TEA algorithm to address a potential key weakness
346 in the TEA algorithm.
347
348 Xtendend Encryption Tiny Algorithm is a mis-implementation
349 of the XTEA algorithm for compatibility purposes.
350
351config CRYPTO_ARC4
352 tristate "ARC4 cipher algorithm"
353 select CRYPTO_ALGAPI
354 help
355 ARC4 cipher algorithm.
356
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.
361
362config CRYPTO_KHAZAD
363 tristate "Khazad cipher algorithm"
364 select CRYPTO_ALGAPI
365 help
366 Khazad cipher algorithm.
367
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.
371
372 See also:
373 <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
374
375config CRYPTO_ANUBIS
376 tristate "Anubis cipher algorithm"
377 select CRYPTO_ALGAPI
378 help
379 Anubis cipher algorithm.
380
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.
384
385 See also:
386 <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
387 <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
388
389
390config CRYPTO_DEFLATE
391 tristate "Deflate compression algorithm"
392 select CRYPTO_ALGAPI
393 select ZLIB_INFLATE
394 select ZLIB_DEFLATE
395 help
396 This is the Deflate algorithm (RFC1951), specified for use in
397 IPSec with the IPCOMP protocol (RFC3173, RFC2394).
398
399 You will most probably want this if using IPSec.
400
401config CRYPTO_MICHAEL_MIC
402 tristate "Michael MIC keyed digest algorithm"
403 select CRYPTO_ALGAPI
404 help
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
408 of the algorithm.
409
410config CRYPTO_CRC32C
411 tristate "CRC32c CRC algorithm"
412 select CRYPTO_ALGAPI
413 select LIBCRC32C
414 help
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.
419
420config CRYPTO_TEST
421 tristate "Testing module"
422 depends on m
423 select CRYPTO_ALGAPI
424 help
425 Quick & dirty crypto test module.
426
427source "drivers/crypto/Kconfig"
428
429endif # if CRYPTO
430
431endmenu
This page took 0.120795 seconds and 5 git commands to generate.