diff options
Diffstat (limited to 'crypto/Kconfig')
-rw-r--r-- | crypto/Kconfig | 154 |
1 files changed, 122 insertions, 32 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig index ba133d557045..1e2f39c21180 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig | |||
@@ -9,47 +9,71 @@ config CRYPTO | |||
9 | help | 9 | help |
10 | This option provides the core Cryptographic API. | 10 | This option provides the core Cryptographic API. |
11 | 11 | ||
12 | if CRYPTO | ||
13 | |||
14 | config CRYPTO_ALGAPI | ||
15 | tristate | ||
16 | help | ||
17 | This option provides the API for cryptographic algorithms. | ||
18 | |||
19 | config CRYPTO_BLKCIPHER | ||
20 | tristate | ||
21 | select CRYPTO_ALGAPI | ||
22 | |||
23 | config CRYPTO_HASH | ||
24 | tristate | ||
25 | select CRYPTO_ALGAPI | ||
26 | |||
27 | config CRYPTO_MANAGER | ||
28 | tristate "Cryptographic algorithm manager" | ||
29 | select CRYPTO_ALGAPI | ||
30 | default m | ||
31 | help | ||
32 | Create default cryptographic template instantiations such as | ||
33 | cbc(aes). | ||
34 | |||
12 | config CRYPTO_HMAC | 35 | config CRYPTO_HMAC |
13 | bool "HMAC support" | 36 | tristate "HMAC support" |
14 | depends on CRYPTO | 37 | select CRYPTO_HASH |
15 | help | 38 | help |
16 | HMAC: Keyed-Hashing for Message Authentication (RFC2104). | 39 | HMAC: Keyed-Hashing for Message Authentication (RFC2104). |
17 | This is required for IPSec. | 40 | This is required for IPSec. |
18 | 41 | ||
19 | config CRYPTO_NULL | 42 | config CRYPTO_NULL |
20 | tristate "Null algorithms" | 43 | tristate "Null algorithms" |
21 | depends on CRYPTO | 44 | select CRYPTO_ALGAPI |
22 | help | 45 | help |
23 | These are 'Null' algorithms, used by IPsec, which do nothing. | 46 | These are 'Null' algorithms, used by IPsec, which do nothing. |
24 | 47 | ||
25 | config CRYPTO_MD4 | 48 | config CRYPTO_MD4 |
26 | tristate "MD4 digest algorithm" | 49 | tristate "MD4 digest algorithm" |
27 | depends on CRYPTO | 50 | select CRYPTO_ALGAPI |
28 | help | 51 | help |
29 | MD4 message digest algorithm (RFC1320). | 52 | MD4 message digest algorithm (RFC1320). |
30 | 53 | ||
31 | config CRYPTO_MD5 | 54 | config CRYPTO_MD5 |
32 | tristate "MD5 digest algorithm" | 55 | tristate "MD5 digest algorithm" |
33 | depends on CRYPTO | 56 | select CRYPTO_ALGAPI |
34 | help | 57 | help |
35 | MD5 message digest algorithm (RFC1321). | 58 | MD5 message digest algorithm (RFC1321). |
36 | 59 | ||
37 | config CRYPTO_SHA1 | 60 | config CRYPTO_SHA1 |
38 | tristate "SHA1 digest algorithm" | 61 | tristate "SHA1 digest algorithm" |
39 | depends on CRYPTO | 62 | select CRYPTO_ALGAPI |
40 | help | 63 | help |
41 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). | 64 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). |
42 | 65 | ||
43 | config CRYPTO_SHA1_S390 | 66 | config CRYPTO_SHA1_S390 |
44 | tristate "SHA1 digest algorithm (s390)" | 67 | tristate "SHA1 digest algorithm (s390)" |
45 | depends on CRYPTO && S390 | 68 | depends on S390 |
69 | select CRYPTO_ALGAPI | ||
46 | help | 70 | help |
47 | This is the s390 hardware accelerated implementation of the | 71 | This is the s390 hardware accelerated implementation of the |
48 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). | 72 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). |
49 | 73 | ||
50 | config CRYPTO_SHA256 | 74 | config CRYPTO_SHA256 |
51 | tristate "SHA256 digest algorithm" | 75 | tristate "SHA256 digest algorithm" |
52 | depends on CRYPTO | 76 | select CRYPTO_ALGAPI |
53 | help | 77 | help |
54 | SHA256 secure hash standard (DFIPS 180-2). | 78 | SHA256 secure hash standard (DFIPS 180-2). |
55 | 79 | ||
@@ -58,7 +82,8 @@ config CRYPTO_SHA256 | |||
58 | 82 | ||
59 | config CRYPTO_SHA256_S390 | 83 | config CRYPTO_SHA256_S390 |
60 | tristate "SHA256 digest algorithm (s390)" | 84 | tristate "SHA256 digest algorithm (s390)" |
61 | depends on CRYPTO && S390 | 85 | depends on S390 |
86 | select CRYPTO_ALGAPI | ||
62 | help | 87 | help |
63 | This is the s390 hardware accelerated implementation of the | 88 | This is the s390 hardware accelerated implementation of the |
64 | SHA256 secure hash standard (DFIPS 180-2). | 89 | SHA256 secure hash standard (DFIPS 180-2). |
@@ -68,7 +93,7 @@ config CRYPTO_SHA256_S390 | |||
68 | 93 | ||
69 | config CRYPTO_SHA512 | 94 | config CRYPTO_SHA512 |
70 | tristate "SHA384 and SHA512 digest algorithms" | 95 | tristate "SHA384 and SHA512 digest algorithms" |
71 | depends on CRYPTO | 96 | select CRYPTO_ALGAPI |
72 | help | 97 | help |
73 | SHA512 secure hash standard (DFIPS 180-2). | 98 | SHA512 secure hash standard (DFIPS 180-2). |
74 | 99 | ||
@@ -80,7 +105,7 @@ config CRYPTO_SHA512 | |||
80 | 105 | ||
81 | config CRYPTO_WP512 | 106 | config CRYPTO_WP512 |
82 | tristate "Whirlpool digest algorithms" | 107 | tristate "Whirlpool digest algorithms" |
83 | depends on CRYPTO | 108 | select CRYPTO_ALGAPI |
84 | help | 109 | help |
85 | Whirlpool hash algorithm 512, 384 and 256-bit hashes | 110 | Whirlpool hash algorithm 512, 384 and 256-bit hashes |
86 | 111 | ||
@@ -92,7 +117,7 @@ config CRYPTO_WP512 | |||
92 | 117 | ||
93 | config CRYPTO_TGR192 | 118 | config CRYPTO_TGR192 |
94 | tristate "Tiger digest algorithms" | 119 | tristate "Tiger digest algorithms" |
95 | depends on CRYPTO | 120 | select CRYPTO_ALGAPI |
96 | help | 121 | help |
97 | Tiger hash algorithm 192, 160 and 128-bit hashes | 122 | Tiger hash algorithm 192, 160 and 128-bit hashes |
98 | 123 | ||
@@ -103,21 +128,40 @@ config CRYPTO_TGR192 | |||
103 | See also: | 128 | See also: |
104 | <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>. | 129 | <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>. |
105 | 130 | ||
131 | config CRYPTO_ECB | ||
132 | tristate "ECB support" | ||
133 | select CRYPTO_BLKCIPHER | ||
134 | default m | ||
135 | help | ||
136 | ECB: Electronic CodeBook mode | ||
137 | This is the simplest block cipher algorithm. It simply encrypts | ||
138 | the input block by block. | ||
139 | |||
140 | config CRYPTO_CBC | ||
141 | tristate "CBC support" | ||
142 | select CRYPTO_BLKCIPHER | ||
143 | default m | ||
144 | help | ||
145 | CBC: Cipher Block Chaining mode | ||
146 | This block cipher algorithm is required for IPSec. | ||
147 | |||
106 | config CRYPTO_DES | 148 | config CRYPTO_DES |
107 | tristate "DES and Triple DES EDE cipher algorithms" | 149 | tristate "DES and Triple DES EDE cipher algorithms" |
108 | depends on CRYPTO | 150 | select CRYPTO_ALGAPI |
109 | help | 151 | help |
110 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). | 152 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). |
111 | 153 | ||
112 | config CRYPTO_DES_S390 | 154 | config CRYPTO_DES_S390 |
113 | tristate "DES and Triple DES cipher algorithms (s390)" | 155 | tristate "DES and Triple DES cipher algorithms (s390)" |
114 | depends on CRYPTO && S390 | 156 | depends on S390 |
157 | select CRYPTO_ALGAPI | ||
158 | select CRYPTO_BLKCIPHER | ||
115 | help | 159 | help |
116 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). | 160 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). |
117 | 161 | ||
118 | config CRYPTO_BLOWFISH | 162 | config CRYPTO_BLOWFISH |
119 | tristate "Blowfish cipher algorithm" | 163 | tristate "Blowfish cipher algorithm" |
120 | depends on CRYPTO | 164 | select CRYPTO_ALGAPI |
121 | help | 165 | help |
122 | Blowfish cipher algorithm, by Bruce Schneier. | 166 | Blowfish cipher algorithm, by Bruce Schneier. |
123 | 167 | ||
@@ -130,7 +174,8 @@ config CRYPTO_BLOWFISH | |||
130 | 174 | ||
131 | config CRYPTO_TWOFISH | 175 | config CRYPTO_TWOFISH |
132 | tristate "Twofish cipher algorithm" | 176 | tristate "Twofish cipher algorithm" |
133 | depends on CRYPTO | 177 | select CRYPTO_ALGAPI |
178 | select CRYPTO_TWOFISH_COMMON | ||
134 | help | 179 | help |
135 | Twofish cipher algorithm. | 180 | Twofish cipher algorithm. |
136 | 181 | ||
@@ -142,9 +187,47 @@ config CRYPTO_TWOFISH | |||
142 | See also: | 187 | See also: |
143 | <http://www.schneier.com/twofish.html> | 188 | <http://www.schneier.com/twofish.html> |
144 | 189 | ||
190 | config CRYPTO_TWOFISH_COMMON | ||
191 | tristate | ||
192 | help | ||
193 | Common parts of the Twofish cipher algorithm shared by the | ||
194 | generic c and the assembler implementations. | ||
195 | |||
196 | config CRYPTO_TWOFISH_586 | ||
197 | tristate "Twofish cipher algorithms (i586)" | ||
198 | depends on (X86 || UML_X86) && !64BIT | ||
199 | select CRYPTO_ALGAPI | ||
200 | select CRYPTO_TWOFISH_COMMON | ||
201 | help | ||
202 | Twofish cipher algorithm. | ||
203 | |||
204 | Twofish was submitted as an AES (Advanced Encryption Standard) | ||
205 | candidate cipher by researchers at CounterPane Systems. It is a | ||
206 | 16 round block cipher supporting key sizes of 128, 192, and 256 | ||
207 | bits. | ||
208 | |||
209 | See also: | ||
210 | <http://www.schneier.com/twofish.html> | ||
211 | |||
212 | config CRYPTO_TWOFISH_X86_64 | ||
213 | tristate "Twofish cipher algorithm (x86_64)" | ||
214 | depends on (X86 || UML_X86) && 64BIT | ||
215 | select CRYPTO_ALGAPI | ||
216 | select CRYPTO_TWOFISH_COMMON | ||
217 | help | ||
218 | Twofish cipher algorithm (x86_64). | ||
219 | |||
220 | Twofish was submitted as an AES (Advanced Encryption Standard) | ||
221 | candidate cipher by researchers at CounterPane Systems. It is a | ||
222 | 16 round block cipher supporting key sizes of 128, 192, and 256 | ||
223 | bits. | ||
224 | |||
225 | See also: | ||
226 | <http://www.schneier.com/twofish.html> | ||
227 | |||
145 | config CRYPTO_SERPENT | 228 | config CRYPTO_SERPENT |
146 | tristate "Serpent cipher algorithm" | 229 | tristate "Serpent cipher algorithm" |
147 | depends on CRYPTO | 230 | select CRYPTO_ALGAPI |
148 | help | 231 | help |
149 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. | 232 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. |
150 | 233 | ||
@@ -157,7 +240,7 @@ config CRYPTO_SERPENT | |||
157 | 240 | ||
158 | config CRYPTO_AES | 241 | config CRYPTO_AES |
159 | tristate "AES cipher algorithms" | 242 | tristate "AES cipher algorithms" |
160 | depends on CRYPTO | 243 | select CRYPTO_ALGAPI |
161 | help | 244 | help |
162 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | 245 | AES cipher algorithms (FIPS-197). AES uses the Rijndael |
163 | algorithm. | 246 | algorithm. |
@@ -177,7 +260,8 @@ config CRYPTO_AES | |||
177 | 260 | ||
178 | config CRYPTO_AES_586 | 261 | config CRYPTO_AES_586 |
179 | tristate "AES cipher algorithms (i586)" | 262 | tristate "AES cipher algorithms (i586)" |
180 | depends on CRYPTO && ((X86 || UML_X86) && !64BIT) | 263 | depends on (X86 || UML_X86) && !64BIT |
264 | select CRYPTO_ALGAPI | ||
181 | help | 265 | help |
182 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | 266 | AES cipher algorithms (FIPS-197). AES uses the Rijndael |
183 | algorithm. | 267 | algorithm. |
@@ -197,7 +281,8 @@ config CRYPTO_AES_586 | |||
197 | 281 | ||
198 | config CRYPTO_AES_X86_64 | 282 | config CRYPTO_AES_X86_64 |
199 | tristate "AES cipher algorithms (x86_64)" | 283 | tristate "AES cipher algorithms (x86_64)" |
200 | depends on CRYPTO && ((X86 || UML_X86) && 64BIT) | 284 | depends on (X86 || UML_X86) && 64BIT |
285 | select CRYPTO_ALGAPI | ||
201 | help | 286 | help |
202 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | 287 | AES cipher algorithms (FIPS-197). AES uses the Rijndael |
203 | algorithm. | 288 | algorithm. |
@@ -217,7 +302,9 @@ config CRYPTO_AES_X86_64 | |||
217 | 302 | ||
218 | config CRYPTO_AES_S390 | 303 | config CRYPTO_AES_S390 |
219 | tristate "AES cipher algorithms (s390)" | 304 | tristate "AES cipher algorithms (s390)" |
220 | depends on CRYPTO && S390 | 305 | depends on S390 |
306 | select CRYPTO_ALGAPI | ||
307 | select CRYPTO_BLKCIPHER | ||
221 | help | 308 | help |
222 | This is the s390 hardware accelerated implementation of the | 309 | This is the s390 hardware accelerated implementation of the |
223 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | 310 | AES cipher algorithms (FIPS-197). AES uses the Rijndael |
@@ -237,21 +324,21 @@ config CRYPTO_AES_S390 | |||
237 | 324 | ||
238 | config CRYPTO_CAST5 | 325 | config CRYPTO_CAST5 |
239 | tristate "CAST5 (CAST-128) cipher algorithm" | 326 | tristate "CAST5 (CAST-128) cipher algorithm" |
240 | depends on CRYPTO | 327 | select CRYPTO_ALGAPI |
241 | help | 328 | help |
242 | The CAST5 encryption algorithm (synonymous with CAST-128) is | 329 | The CAST5 encryption algorithm (synonymous with CAST-128) is |
243 | described in RFC2144. | 330 | described in RFC2144. |
244 | 331 | ||
245 | config CRYPTO_CAST6 | 332 | config CRYPTO_CAST6 |
246 | tristate "CAST6 (CAST-256) cipher algorithm" | 333 | tristate "CAST6 (CAST-256) cipher algorithm" |
247 | depends on CRYPTO | 334 | select CRYPTO_ALGAPI |
248 | help | 335 | help |
249 | The CAST6 encryption algorithm (synonymous with CAST-256) is | 336 | The CAST6 encryption algorithm (synonymous with CAST-256) is |
250 | described in RFC2612. | 337 | described in RFC2612. |
251 | 338 | ||
252 | config CRYPTO_TEA | 339 | config CRYPTO_TEA |
253 | tristate "TEA, XTEA and XETA cipher algorithms" | 340 | tristate "TEA, XTEA and XETA cipher algorithms" |
254 | depends on CRYPTO | 341 | select CRYPTO_ALGAPI |
255 | help | 342 | help |
256 | TEA cipher algorithm. | 343 | TEA cipher algorithm. |
257 | 344 | ||
@@ -268,7 +355,7 @@ config CRYPTO_TEA | |||
268 | 355 | ||
269 | config CRYPTO_ARC4 | 356 | config CRYPTO_ARC4 |
270 | tristate "ARC4 cipher algorithm" | 357 | tristate "ARC4 cipher algorithm" |
271 | depends on CRYPTO | 358 | select CRYPTO_ALGAPI |
272 | help | 359 | help |
273 | ARC4 cipher algorithm. | 360 | ARC4 cipher algorithm. |
274 | 361 | ||
@@ -279,7 +366,7 @@ config CRYPTO_ARC4 | |||
279 | 366 | ||
280 | config CRYPTO_KHAZAD | 367 | config CRYPTO_KHAZAD |
281 | tristate "Khazad cipher algorithm" | 368 | tristate "Khazad cipher algorithm" |
282 | depends on CRYPTO | 369 | select CRYPTO_ALGAPI |
283 | help | 370 | help |
284 | Khazad cipher algorithm. | 371 | Khazad cipher algorithm. |
285 | 372 | ||
@@ -292,7 +379,7 @@ config CRYPTO_KHAZAD | |||
292 | 379 | ||
293 | config CRYPTO_ANUBIS | 380 | config CRYPTO_ANUBIS |
294 | tristate "Anubis cipher algorithm" | 381 | tristate "Anubis cipher algorithm" |
295 | depends on CRYPTO | 382 | select CRYPTO_ALGAPI |
296 | help | 383 | help |
297 | Anubis cipher algorithm. | 384 | Anubis cipher algorithm. |
298 | 385 | ||
@@ -307,7 +394,7 @@ config CRYPTO_ANUBIS | |||
307 | 394 | ||
308 | config CRYPTO_DEFLATE | 395 | config CRYPTO_DEFLATE |
309 | tristate "Deflate compression algorithm" | 396 | tristate "Deflate compression algorithm" |
310 | depends on CRYPTO | 397 | select CRYPTO_ALGAPI |
311 | select ZLIB_INFLATE | 398 | select ZLIB_INFLATE |
312 | select ZLIB_DEFLATE | 399 | select ZLIB_DEFLATE |
313 | help | 400 | help |
@@ -318,7 +405,7 @@ config CRYPTO_DEFLATE | |||
318 | 405 | ||
319 | config CRYPTO_MICHAEL_MIC | 406 | config CRYPTO_MICHAEL_MIC |
320 | tristate "Michael MIC keyed digest algorithm" | 407 | tristate "Michael MIC keyed digest algorithm" |
321 | depends on CRYPTO | 408 | select CRYPTO_ALGAPI |
322 | help | 409 | help |
323 | Michael MIC is used for message integrity protection in TKIP | 410 | Michael MIC is used for message integrity protection in TKIP |
324 | (IEEE 802.11i). This algorithm is required for TKIP, but it | 411 | (IEEE 802.11i). This algorithm is required for TKIP, but it |
@@ -327,7 +414,7 @@ config CRYPTO_MICHAEL_MIC | |||
327 | 414 | ||
328 | config CRYPTO_CRC32C | 415 | config CRYPTO_CRC32C |
329 | tristate "CRC32c CRC algorithm" | 416 | tristate "CRC32c CRC algorithm" |
330 | depends on CRYPTO | 417 | select CRYPTO_ALGAPI |
331 | select LIBCRC32C | 418 | select LIBCRC32C |
332 | help | 419 | help |
333 | Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used | 420 | Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used |
@@ -337,10 +424,13 @@ config CRYPTO_CRC32C | |||
337 | 424 | ||
338 | config CRYPTO_TEST | 425 | config CRYPTO_TEST |
339 | tristate "Testing module" | 426 | tristate "Testing module" |
340 | depends on CRYPTO && m | 427 | depends on m |
428 | select CRYPTO_ALGAPI | ||
341 | help | 429 | help |
342 | Quick & dirty crypto test module. | 430 | Quick & dirty crypto test module. |
343 | 431 | ||
344 | source "drivers/crypto/Kconfig" | 432 | source "drivers/crypto/Kconfig" |
345 | endmenu | ||
346 | 433 | ||
434 | endif # if CRYPTO | ||
435 | |||
436 | endmenu | ||