diff options
Diffstat (limited to 'crypto/Kconfig')
-rw-r--r-- | crypto/Kconfig | 292 |
1 files changed, 292 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig new file mode 100644 index 000000000000..536754faf4d2 --- /dev/null +++ b/crypto/Kconfig | |||
@@ -0,0 +1,292 @@ | |||
1 | # | ||
2 | # Cryptographic API Configuration | ||
3 | # | ||
4 | |||
5 | menu "Cryptographic options" | ||
6 | |||
7 | config CRYPTO | ||
8 | bool "Cryptographic API" | ||
9 | help | ||
10 | This option provides the core Cryptographic API. | ||
11 | |||
12 | config CRYPTO_HMAC | ||
13 | bool "HMAC support" | ||
14 | depends on CRYPTO | ||
15 | help | ||
16 | HMAC: Keyed-Hashing for Message Authentication (RFC2104). | ||
17 | This is required for IPSec. | ||
18 | |||
19 | config CRYPTO_NULL | ||
20 | tristate "Null algorithms" | ||
21 | depends on CRYPTO | ||
22 | help | ||
23 | These are 'Null' algorithms, used by IPsec, which do nothing. | ||
24 | |||
25 | config CRYPTO_MD4 | ||
26 | tristate "MD4 digest algorithm" | ||
27 | depends on CRYPTO | ||
28 | help | ||
29 | MD4 message digest algorithm (RFC1320). | ||
30 | |||
31 | config CRYPTO_MD5 | ||
32 | tristate "MD5 digest algorithm" | ||
33 | depends on CRYPTO | ||
34 | help | ||
35 | MD5 message digest algorithm (RFC1321). | ||
36 | |||
37 | config CRYPTO_SHA1 | ||
38 | tristate "SHA1 digest algorithm" | ||
39 | depends on CRYPTO | ||
40 | help | ||
41 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). | ||
42 | |||
43 | config CRYPTO_SHA1_Z990 | ||
44 | tristate "SHA1 digest algorithm for IBM zSeries z990" | ||
45 | depends on CRYPTO && ARCH_S390 | ||
46 | help | ||
47 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). | ||
48 | |||
49 | config CRYPTO_SHA256 | ||
50 | tristate "SHA256 digest algorithm" | ||
51 | depends on CRYPTO | ||
52 | help | ||
53 | SHA256 secure hash standard (DFIPS 180-2). | ||
54 | |||
55 | This version of SHA implements a 256 bit hash with 128 bits of | ||
56 | security against collision attacks. | ||
57 | |||
58 | config CRYPTO_SHA512 | ||
59 | tristate "SHA384 and SHA512 digest algorithms" | ||
60 | depends on CRYPTO | ||
61 | help | ||
62 | SHA512 secure hash standard (DFIPS 180-2). | ||
63 | |||
64 | This version of SHA implements a 512 bit hash with 256 bits of | ||
65 | security against collision attacks. | ||
66 | |||
67 | This code also includes SHA-384, a 384 bit hash with 192 bits | ||
68 | of security against collision attacks. | ||
69 | |||
70 | config CRYPTO_WP512 | ||
71 | tristate "Whirlpool digest algorithms" | ||
72 | depends on CRYPTO | ||
73 | help | ||
74 | Whirlpool hash algorithm 512, 384 and 256-bit hashes | ||
75 | |||
76 | Whirlpool-512 is part of the NESSIE cryptographic primitives. | ||
77 | Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard | ||
78 | |||
79 | See also: | ||
80 | <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html> | ||
81 | |||
82 | config CRYPTO_TGR192 | ||
83 | tristate "Tiger digest algorithms" | ||
84 | depends on CRYPTO | ||
85 | help | ||
86 | Tiger hash algorithm 192, 160 and 128-bit hashes | ||
87 | |||
88 | Tiger is a hash function optimized for 64-bit processors while | ||
89 | still having decent performance on 32-bit processors. | ||
90 | Tiger was developed by Ross Anderson and Eli Biham. | ||
91 | |||
92 | See also: | ||
93 | <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>. | ||
94 | |||
95 | config CRYPTO_DES | ||
96 | tristate "DES and Triple DES EDE cipher algorithms" | ||
97 | depends on CRYPTO | ||
98 | help | ||
99 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). | ||
100 | |||
101 | config CRYPTO_DES_Z990 | ||
102 | tristate "DES and Triple DES cipher algorithms for IBM zSeries z990" | ||
103 | depends on CRYPTO && ARCH_S390 | ||
104 | help | ||
105 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). | ||
106 | |||
107 | config CRYPTO_BLOWFISH | ||
108 | tristate "Blowfish cipher algorithm" | ||
109 | depends on CRYPTO | ||
110 | help | ||
111 | Blowfish cipher algorithm, by Bruce Schneier. | ||
112 | |||
113 | This is a variable key length cipher which can use keys from 32 | ||
114 | bits to 448 bits in length. It's fast, simple and specifically | ||
115 | designed for use on "large microprocessors". | ||
116 | |||
117 | See also: | ||
118 | <http://www.schneier.com/blowfish.html> | ||
119 | |||
120 | config CRYPTO_TWOFISH | ||
121 | tristate "Twofish cipher algorithm" | ||
122 | depends on CRYPTO | ||
123 | help | ||
124 | Twofish cipher algorithm. | ||
125 | |||
126 | Twofish was submitted as an AES (Advanced Encryption Standard) | ||
127 | candidate cipher by researchers at CounterPane Systems. It is a | ||
128 | 16 round block cipher supporting key sizes of 128, 192, and 256 | ||
129 | bits. | ||
130 | |||
131 | See also: | ||
132 | <http://www.schneier.com/twofish.html> | ||
133 | |||
134 | config CRYPTO_SERPENT | ||
135 | tristate "Serpent cipher algorithm" | ||
136 | depends on CRYPTO | ||
137 | help | ||
138 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. | ||
139 | |||
140 | Keys are allowed to be from 0 to 256 bits in length, in steps | ||
141 | of 8 bits. Also includes the 'Tnepres' algorithm, a reversed | ||
142 | variant of Serpent for compatibility with old kerneli code. | ||
143 | |||
144 | See also: | ||
145 | <http://www.cl.cam.ac.uk/~rja14/serpent.html> | ||
146 | |||
147 | config CRYPTO_AES | ||
148 | tristate "AES cipher algorithms" | ||
149 | depends on CRYPTO && !(X86 && !X86_64) | ||
150 | help | ||
151 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | ||
152 | algorithm. | ||
153 | |||
154 | Rijndael appears to be consistently a very good performer in | ||
155 | both hardware and software across a wide range of computing | ||
156 | environments regardless of its use in feedback or non-feedback | ||
157 | modes. Its key setup time is excellent, and its key agility is | ||
158 | good. Rijndael's very low memory requirements make it very well | ||
159 | suited for restricted-space environments, in which it also | ||
160 | demonstrates excellent performance. Rijndael's operations are | ||
161 | among the easiest to defend against power and timing attacks. | ||
162 | |||
163 | The AES specifies three key sizes: 128, 192 and 256 bits | ||
164 | |||
165 | See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information. | ||
166 | |||
167 | config CRYPTO_AES_586 | ||
168 | tristate "AES cipher algorithms (i586)" | ||
169 | depends on CRYPTO && (X86 && !X86_64) | ||
170 | help | ||
171 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | ||
172 | algorithm. | ||
173 | |||
174 | Rijndael appears to be consistently a very good performer in | ||
175 | both hardware and software across a wide range of computing | ||
176 | environments regardless of its use in feedback or non-feedback | ||
177 | modes. Its key setup time is excellent, and its key agility is | ||
178 | good. Rijndael's very low memory requirements make it very well | ||
179 | suited for restricted-space environments, in which it also | ||
180 | demonstrates excellent performance. Rijndael's operations are | ||
181 | among the easiest to defend against power and timing attacks. | ||
182 | |||
183 | The AES specifies three key sizes: 128, 192 and 256 bits | ||
184 | |||
185 | See <http://csrc.nist.gov/encryption/aes/> for more information. | ||
186 | |||
187 | config CRYPTO_CAST5 | ||
188 | tristate "CAST5 (CAST-128) cipher algorithm" | ||
189 | depends on CRYPTO | ||
190 | help | ||
191 | The CAST5 encryption algorithm (synonymous with CAST-128) is | ||
192 | described in RFC2144. | ||
193 | |||
194 | config CRYPTO_CAST6 | ||
195 | tristate "CAST6 (CAST-256) cipher algorithm" | ||
196 | depends on CRYPTO | ||
197 | help | ||
198 | The CAST6 encryption algorithm (synonymous with CAST-256) is | ||
199 | described in RFC2612. | ||
200 | |||
201 | config CRYPTO_TEA | ||
202 | tristate "TEA and XTEA cipher algorithms" | ||
203 | depends on CRYPTO | ||
204 | help | ||
205 | TEA cipher algorithm. | ||
206 | |||
207 | Tiny Encryption Algorithm is a simple cipher that uses | ||
208 | many rounds for security. It is very fast and uses | ||
209 | little memory. | ||
210 | |||
211 | Xtendend Tiny Encryption Algorithm is a modification to | ||
212 | the TEA algorithm to address a potential key weakness | ||
213 | in the TEA algorithm. | ||
214 | |||
215 | config CRYPTO_ARC4 | ||
216 | tristate "ARC4 cipher algorithm" | ||
217 | depends on CRYPTO | ||
218 | help | ||
219 | ARC4 cipher algorithm. | ||
220 | |||
221 | ARC4 is a stream cipher using keys ranging from 8 bits to 2048 | ||
222 | bits in length. This algorithm is required for driver-based | ||
223 | WEP, but it should not be for other purposes because of the | ||
224 | weakness of the algorithm. | ||
225 | |||
226 | config CRYPTO_KHAZAD | ||
227 | tristate "Khazad cipher algorithm" | ||
228 | depends on CRYPTO | ||
229 | help | ||
230 | Khazad cipher algorithm. | ||
231 | |||
232 | Khazad was a finalist in the initial NESSIE competition. It is | ||
233 | an algorithm optimized for 64-bit processors with good performance | ||
234 | on 32-bit processors. Khazad uses an 128 bit key size. | ||
235 | |||
236 | See also: | ||
237 | <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html> | ||
238 | |||
239 | config CRYPTO_ANUBIS | ||
240 | tristate "Anubis cipher algorithm" | ||
241 | depends on CRYPTO | ||
242 | help | ||
243 | Anubis cipher algorithm. | ||
244 | |||
245 | Anubis is a variable key length cipher which can use keys from | ||
246 | 128 bits to 320 bits in length. It was evaluated as a entrant | ||
247 | in the NESSIE competition. | ||
248 | |||
249 | See also: | ||
250 | <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/> | ||
251 | <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html> | ||
252 | |||
253 | |||
254 | config CRYPTO_DEFLATE | ||
255 | tristate "Deflate compression algorithm" | ||
256 | depends on CRYPTO | ||
257 | select ZLIB_INFLATE | ||
258 | select ZLIB_DEFLATE | ||
259 | help | ||
260 | This is the Deflate algorithm (RFC1951), specified for use in | ||
261 | IPSec with the IPCOMP protocol (RFC3173, RFC2394). | ||
262 | |||
263 | You will most probably want this if using IPSec. | ||
264 | |||
265 | config CRYPTO_MICHAEL_MIC | ||
266 | tristate "Michael MIC keyed digest algorithm" | ||
267 | depends on CRYPTO | ||
268 | help | ||
269 | Michael MIC is used for message integrity protection in TKIP | ||
270 | (IEEE 802.11i). This algorithm is required for TKIP, but it | ||
271 | should not be used for other purposes because of the weakness | ||
272 | of the algorithm. | ||
273 | |||
274 | config CRYPTO_CRC32C | ||
275 | tristate "CRC32c CRC algorithm" | ||
276 | depends on CRYPTO | ||
277 | select LIBCRC32C | ||
278 | help | ||
279 | Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used | ||
280 | by iSCSI for header and data digests and by others. | ||
281 | See Castagnoli93. This implementation uses lib/libcrc32c. | ||
282 | Module will be crc32c. | ||
283 | |||
284 | config CRYPTO_TEST | ||
285 | tristate "Testing module" | ||
286 | depends on CRYPTO | ||
287 | help | ||
288 | Quick & dirty crypto test module. | ||
289 | |||
290 | source "drivers/crypto/Kconfig" | ||
291 | endmenu | ||
292 | |||