Commit 0e56673b7bb4e66c15a5a2ca2d9ecabf9d74c2af
Committed by
Herbert Xu
1 parent
e2cffb5f49
Exists in
ti-lsk-linux-4.1.y
and in
10 other branches
crypto: mcryptd - Fix typos in CRYPTO_MCRYPTD description
Signed-off-by: Ted Percival <ted@tedp.id.au> Acked-by: Tim Chen <tim.c.chen@linux.intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Showing 1 changed file with 1 additions and 1 deletions Inline Diff
crypto/Kconfig
1 | # | 1 | # |
2 | # Generic algorithms support | 2 | # Generic algorithms support |
3 | # | 3 | # |
4 | config XOR_BLOCKS | 4 | config XOR_BLOCKS |
5 | tristate | 5 | tristate |
6 | 6 | ||
7 | # | 7 | # |
8 | # async_tx api: hardware offloaded memory transfer/transform support | 8 | # async_tx api: hardware offloaded memory transfer/transform support |
9 | # | 9 | # |
10 | source "crypto/async_tx/Kconfig" | 10 | source "crypto/async_tx/Kconfig" |
11 | 11 | ||
12 | # | 12 | # |
13 | # Cryptographic API Configuration | 13 | # Cryptographic API Configuration |
14 | # | 14 | # |
15 | menuconfig CRYPTO | 15 | menuconfig CRYPTO |
16 | tristate "Cryptographic API" | 16 | tristate "Cryptographic API" |
17 | help | 17 | help |
18 | This option provides the core Cryptographic API. | 18 | This option provides the core Cryptographic API. |
19 | 19 | ||
20 | if CRYPTO | 20 | if CRYPTO |
21 | 21 | ||
22 | comment "Crypto core or helper" | 22 | comment "Crypto core or helper" |
23 | 23 | ||
24 | config CRYPTO_FIPS | 24 | config CRYPTO_FIPS |
25 | bool "FIPS 200 compliance" | 25 | bool "FIPS 200 compliance" |
26 | depends on (CRYPTO_ANSI_CPRNG || CRYPTO_DRBG) && !CRYPTO_MANAGER_DISABLE_TESTS | 26 | depends on (CRYPTO_ANSI_CPRNG || CRYPTO_DRBG) && !CRYPTO_MANAGER_DISABLE_TESTS |
27 | depends on MODULE_SIG | 27 | depends on MODULE_SIG |
28 | help | 28 | help |
29 | This options enables the fips boot option which is | 29 | This options enables the fips boot option which is |
30 | required if you want to system to operate in a FIPS 200 | 30 | required if you want to system to operate in a FIPS 200 |
31 | certification. You should say no unless you know what | 31 | certification. You should say no unless you know what |
32 | this is. | 32 | this is. |
33 | 33 | ||
34 | config CRYPTO_ALGAPI | 34 | config CRYPTO_ALGAPI |
35 | tristate | 35 | tristate |
36 | select CRYPTO_ALGAPI2 | 36 | select CRYPTO_ALGAPI2 |
37 | help | 37 | help |
38 | This option provides the API for cryptographic algorithms. | 38 | This option provides the API for cryptographic algorithms. |
39 | 39 | ||
40 | config CRYPTO_ALGAPI2 | 40 | config CRYPTO_ALGAPI2 |
41 | tristate | 41 | tristate |
42 | 42 | ||
43 | config CRYPTO_AEAD | 43 | config CRYPTO_AEAD |
44 | tristate | 44 | tristate |
45 | select CRYPTO_AEAD2 | 45 | select CRYPTO_AEAD2 |
46 | select CRYPTO_ALGAPI | 46 | select CRYPTO_ALGAPI |
47 | 47 | ||
48 | config CRYPTO_AEAD2 | 48 | config CRYPTO_AEAD2 |
49 | tristate | 49 | tristate |
50 | select CRYPTO_ALGAPI2 | 50 | select CRYPTO_ALGAPI2 |
51 | 51 | ||
52 | config CRYPTO_BLKCIPHER | 52 | config CRYPTO_BLKCIPHER |
53 | tristate | 53 | tristate |
54 | select CRYPTO_BLKCIPHER2 | 54 | select CRYPTO_BLKCIPHER2 |
55 | select CRYPTO_ALGAPI | 55 | select CRYPTO_ALGAPI |
56 | 56 | ||
57 | config CRYPTO_BLKCIPHER2 | 57 | config CRYPTO_BLKCIPHER2 |
58 | tristate | 58 | tristate |
59 | select CRYPTO_ALGAPI2 | 59 | select CRYPTO_ALGAPI2 |
60 | select CRYPTO_RNG2 | 60 | select CRYPTO_RNG2 |
61 | select CRYPTO_WORKQUEUE | 61 | select CRYPTO_WORKQUEUE |
62 | 62 | ||
63 | config CRYPTO_HASH | 63 | config CRYPTO_HASH |
64 | tristate | 64 | tristate |
65 | select CRYPTO_HASH2 | 65 | select CRYPTO_HASH2 |
66 | select CRYPTO_ALGAPI | 66 | select CRYPTO_ALGAPI |
67 | 67 | ||
68 | config CRYPTO_HASH2 | 68 | config CRYPTO_HASH2 |
69 | tristate | 69 | tristate |
70 | select CRYPTO_ALGAPI2 | 70 | select CRYPTO_ALGAPI2 |
71 | 71 | ||
72 | config CRYPTO_RNG | 72 | config CRYPTO_RNG |
73 | tristate | 73 | tristate |
74 | select CRYPTO_RNG2 | 74 | select CRYPTO_RNG2 |
75 | select CRYPTO_ALGAPI | 75 | select CRYPTO_ALGAPI |
76 | 76 | ||
77 | config CRYPTO_RNG2 | 77 | config CRYPTO_RNG2 |
78 | tristate | 78 | tristate |
79 | select CRYPTO_ALGAPI2 | 79 | select CRYPTO_ALGAPI2 |
80 | 80 | ||
81 | config CRYPTO_PCOMP | 81 | config CRYPTO_PCOMP |
82 | tristate | 82 | tristate |
83 | select CRYPTO_PCOMP2 | 83 | select CRYPTO_PCOMP2 |
84 | select CRYPTO_ALGAPI | 84 | select CRYPTO_ALGAPI |
85 | 85 | ||
86 | config CRYPTO_PCOMP2 | 86 | config CRYPTO_PCOMP2 |
87 | tristate | 87 | tristate |
88 | select CRYPTO_ALGAPI2 | 88 | select CRYPTO_ALGAPI2 |
89 | 89 | ||
90 | config CRYPTO_MANAGER | 90 | config CRYPTO_MANAGER |
91 | tristate "Cryptographic algorithm manager" | 91 | tristate "Cryptographic algorithm manager" |
92 | select CRYPTO_MANAGER2 | 92 | select CRYPTO_MANAGER2 |
93 | help | 93 | help |
94 | Create default cryptographic template instantiations such as | 94 | Create default cryptographic template instantiations such as |
95 | cbc(aes). | 95 | cbc(aes). |
96 | 96 | ||
97 | config CRYPTO_MANAGER2 | 97 | config CRYPTO_MANAGER2 |
98 | def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y) | 98 | def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y) |
99 | select CRYPTO_AEAD2 | 99 | select CRYPTO_AEAD2 |
100 | select CRYPTO_HASH2 | 100 | select CRYPTO_HASH2 |
101 | select CRYPTO_BLKCIPHER2 | 101 | select CRYPTO_BLKCIPHER2 |
102 | select CRYPTO_PCOMP2 | 102 | select CRYPTO_PCOMP2 |
103 | 103 | ||
104 | config CRYPTO_USER | 104 | config CRYPTO_USER |
105 | tristate "Userspace cryptographic algorithm configuration" | 105 | tristate "Userspace cryptographic algorithm configuration" |
106 | depends on NET | 106 | depends on NET |
107 | select CRYPTO_MANAGER | 107 | select CRYPTO_MANAGER |
108 | help | 108 | help |
109 | Userspace configuration for cryptographic instantiations such as | 109 | Userspace configuration for cryptographic instantiations such as |
110 | cbc(aes). | 110 | cbc(aes). |
111 | 111 | ||
112 | config CRYPTO_MANAGER_DISABLE_TESTS | 112 | config CRYPTO_MANAGER_DISABLE_TESTS |
113 | bool "Disable run-time self tests" | 113 | bool "Disable run-time self tests" |
114 | default y | 114 | default y |
115 | depends on CRYPTO_MANAGER2 | 115 | depends on CRYPTO_MANAGER2 |
116 | help | 116 | help |
117 | Disable run-time self tests that normally take place at | 117 | Disable run-time self tests that normally take place at |
118 | algorithm registration. | 118 | algorithm registration. |
119 | 119 | ||
120 | config CRYPTO_GF128MUL | 120 | config CRYPTO_GF128MUL |
121 | tristate "GF(2^128) multiplication functions" | 121 | tristate "GF(2^128) multiplication functions" |
122 | help | 122 | help |
123 | Efficient table driven implementation of multiplications in the | 123 | Efficient table driven implementation of multiplications in the |
124 | field GF(2^128). This is needed by some cypher modes. This | 124 | field GF(2^128). This is needed by some cypher modes. This |
125 | option will be selected automatically if you select such a | 125 | option will be selected automatically if you select such a |
126 | cipher mode. Only select this option by hand if you expect to load | 126 | cipher mode. Only select this option by hand if you expect to load |
127 | an external module that requires these functions. | 127 | an external module that requires these functions. |
128 | 128 | ||
129 | config CRYPTO_NULL | 129 | config CRYPTO_NULL |
130 | tristate "Null algorithms" | 130 | tristate "Null algorithms" |
131 | select CRYPTO_ALGAPI | 131 | select CRYPTO_ALGAPI |
132 | select CRYPTO_BLKCIPHER | 132 | select CRYPTO_BLKCIPHER |
133 | select CRYPTO_HASH | 133 | select CRYPTO_HASH |
134 | help | 134 | help |
135 | These are 'Null' algorithms, used by IPsec, which do nothing. | 135 | These are 'Null' algorithms, used by IPsec, which do nothing. |
136 | 136 | ||
137 | config CRYPTO_PCRYPT | 137 | config CRYPTO_PCRYPT |
138 | tristate "Parallel crypto engine" | 138 | tristate "Parallel crypto engine" |
139 | depends on SMP | 139 | depends on SMP |
140 | select PADATA | 140 | select PADATA |
141 | select CRYPTO_MANAGER | 141 | select CRYPTO_MANAGER |
142 | select CRYPTO_AEAD | 142 | select CRYPTO_AEAD |
143 | help | 143 | help |
144 | This converts an arbitrary crypto algorithm into a parallel | 144 | This converts an arbitrary crypto algorithm into a parallel |
145 | algorithm that executes in kernel threads. | 145 | algorithm that executes in kernel threads. |
146 | 146 | ||
147 | config CRYPTO_WORKQUEUE | 147 | config CRYPTO_WORKQUEUE |
148 | tristate | 148 | tristate |
149 | 149 | ||
150 | config CRYPTO_CRYPTD | 150 | config CRYPTO_CRYPTD |
151 | tristate "Software async crypto daemon" | 151 | tristate "Software async crypto daemon" |
152 | select CRYPTO_BLKCIPHER | 152 | select CRYPTO_BLKCIPHER |
153 | select CRYPTO_HASH | 153 | select CRYPTO_HASH |
154 | select CRYPTO_MANAGER | 154 | select CRYPTO_MANAGER |
155 | select CRYPTO_WORKQUEUE | 155 | select CRYPTO_WORKQUEUE |
156 | help | 156 | help |
157 | This is a generic software asynchronous crypto daemon that | 157 | This is a generic software asynchronous crypto daemon that |
158 | converts an arbitrary synchronous software crypto algorithm | 158 | converts an arbitrary synchronous software crypto algorithm |
159 | into an asynchronous algorithm that executes in a kernel thread. | 159 | into an asynchronous algorithm that executes in a kernel thread. |
160 | 160 | ||
161 | config CRYPTO_MCRYPTD | 161 | config CRYPTO_MCRYPTD |
162 | tristate "Software async multi-buffer crypto daemon" | 162 | tristate "Software async multi-buffer crypto daemon" |
163 | select CRYPTO_BLKCIPHER | 163 | select CRYPTO_BLKCIPHER |
164 | select CRYPTO_HASH | 164 | select CRYPTO_HASH |
165 | select CRYPTO_MANAGER | 165 | select CRYPTO_MANAGER |
166 | select CRYPTO_WORKQUEUE | 166 | select CRYPTO_WORKQUEUE |
167 | help | 167 | help |
168 | This is a generic software asynchronous crypto daemon that | 168 | This is a generic software asynchronous crypto daemon that |
169 | provides the kernel thread to assist multi-buffer crypto | 169 | provides the kernel thread to assist multi-buffer crypto |
170 | algorithms for submitting jobs and flushing jobs in multi-buffer | 170 | algorithms for submitting jobs and flushing jobs in multi-buffer |
171 | crypto algorithms. Multi-buffer crypto algorithms are executed | 171 | crypto algorithms. Multi-buffer crypto algorithms are executed |
172 | in the context of this kernel thread and drivers can post | 172 | in the context of this kernel thread and drivers can post |
173 | their crypto request asyncrhously and process by this daemon. | 173 | their crypto request asynchronously to be processed by this daemon. |
174 | 174 | ||
175 | config CRYPTO_AUTHENC | 175 | config CRYPTO_AUTHENC |
176 | tristate "Authenc support" | 176 | tristate "Authenc support" |
177 | select CRYPTO_AEAD | 177 | select CRYPTO_AEAD |
178 | select CRYPTO_BLKCIPHER | 178 | select CRYPTO_BLKCIPHER |
179 | select CRYPTO_MANAGER | 179 | select CRYPTO_MANAGER |
180 | select CRYPTO_HASH | 180 | select CRYPTO_HASH |
181 | help | 181 | help |
182 | Authenc: Combined mode wrapper for IPsec. | 182 | Authenc: Combined mode wrapper for IPsec. |
183 | This is required for IPSec. | 183 | This is required for IPSec. |
184 | 184 | ||
185 | config CRYPTO_TEST | 185 | config CRYPTO_TEST |
186 | tristate "Testing module" | 186 | tristate "Testing module" |
187 | depends on m | 187 | depends on m |
188 | select CRYPTO_MANAGER | 188 | select CRYPTO_MANAGER |
189 | help | 189 | help |
190 | Quick & dirty crypto test module. | 190 | Quick & dirty crypto test module. |
191 | 191 | ||
192 | config CRYPTO_ABLK_HELPER | 192 | config CRYPTO_ABLK_HELPER |
193 | tristate | 193 | tristate |
194 | select CRYPTO_CRYPTD | 194 | select CRYPTO_CRYPTD |
195 | 195 | ||
196 | config CRYPTO_GLUE_HELPER_X86 | 196 | config CRYPTO_GLUE_HELPER_X86 |
197 | tristate | 197 | tristate |
198 | depends on X86 | 198 | depends on X86 |
199 | select CRYPTO_ALGAPI | 199 | select CRYPTO_ALGAPI |
200 | 200 | ||
201 | comment "Authenticated Encryption with Associated Data" | 201 | comment "Authenticated Encryption with Associated Data" |
202 | 202 | ||
203 | config CRYPTO_CCM | 203 | config CRYPTO_CCM |
204 | tristate "CCM support" | 204 | tristate "CCM support" |
205 | select CRYPTO_CTR | 205 | select CRYPTO_CTR |
206 | select CRYPTO_AEAD | 206 | select CRYPTO_AEAD |
207 | help | 207 | help |
208 | Support for Counter with CBC MAC. Required for IPsec. | 208 | Support for Counter with CBC MAC. Required for IPsec. |
209 | 209 | ||
210 | config CRYPTO_GCM | 210 | config CRYPTO_GCM |
211 | tristate "GCM/GMAC support" | 211 | tristate "GCM/GMAC support" |
212 | select CRYPTO_CTR | 212 | select CRYPTO_CTR |
213 | select CRYPTO_AEAD | 213 | select CRYPTO_AEAD |
214 | select CRYPTO_GHASH | 214 | select CRYPTO_GHASH |
215 | select CRYPTO_NULL | 215 | select CRYPTO_NULL |
216 | help | 216 | help |
217 | Support for Galois/Counter Mode (GCM) and Galois Message | 217 | Support for Galois/Counter Mode (GCM) and Galois Message |
218 | Authentication Code (GMAC). Required for IPSec. | 218 | Authentication Code (GMAC). Required for IPSec. |
219 | 219 | ||
220 | config CRYPTO_SEQIV | 220 | config CRYPTO_SEQIV |
221 | tristate "Sequence Number IV Generator" | 221 | tristate "Sequence Number IV Generator" |
222 | select CRYPTO_AEAD | 222 | select CRYPTO_AEAD |
223 | select CRYPTO_BLKCIPHER | 223 | select CRYPTO_BLKCIPHER |
224 | select CRYPTO_RNG | 224 | select CRYPTO_RNG |
225 | help | 225 | help |
226 | This IV generator generates an IV based on a sequence number by | 226 | This IV generator generates an IV based on a sequence number by |
227 | xoring it with a salt. This algorithm is mainly useful for CTR | 227 | xoring it with a salt. This algorithm is mainly useful for CTR |
228 | 228 | ||
229 | comment "Block modes" | 229 | comment "Block modes" |
230 | 230 | ||
231 | config CRYPTO_CBC | 231 | config CRYPTO_CBC |
232 | tristate "CBC support" | 232 | tristate "CBC support" |
233 | select CRYPTO_BLKCIPHER | 233 | select CRYPTO_BLKCIPHER |
234 | select CRYPTO_MANAGER | 234 | select CRYPTO_MANAGER |
235 | help | 235 | help |
236 | CBC: Cipher Block Chaining mode | 236 | CBC: Cipher Block Chaining mode |
237 | This block cipher algorithm is required for IPSec. | 237 | This block cipher algorithm is required for IPSec. |
238 | 238 | ||
239 | config CRYPTO_CTR | 239 | config CRYPTO_CTR |
240 | tristate "CTR support" | 240 | tristate "CTR support" |
241 | select CRYPTO_BLKCIPHER | 241 | select CRYPTO_BLKCIPHER |
242 | select CRYPTO_SEQIV | 242 | select CRYPTO_SEQIV |
243 | select CRYPTO_MANAGER | 243 | select CRYPTO_MANAGER |
244 | help | 244 | help |
245 | CTR: Counter mode | 245 | CTR: Counter mode |
246 | This block cipher algorithm is required for IPSec. | 246 | This block cipher algorithm is required for IPSec. |
247 | 247 | ||
248 | config CRYPTO_CTS | 248 | config CRYPTO_CTS |
249 | tristate "CTS support" | 249 | tristate "CTS support" |
250 | select CRYPTO_BLKCIPHER | 250 | select CRYPTO_BLKCIPHER |
251 | help | 251 | help |
252 | CTS: Cipher Text Stealing | 252 | CTS: Cipher Text Stealing |
253 | This is the Cipher Text Stealing mode as described by | 253 | This is the Cipher Text Stealing mode as described by |
254 | Section 8 of rfc2040 and referenced by rfc3962. | 254 | Section 8 of rfc2040 and referenced by rfc3962. |
255 | (rfc3962 includes errata information in its Appendix A) | 255 | (rfc3962 includes errata information in its Appendix A) |
256 | This mode is required for Kerberos gss mechanism support | 256 | This mode is required for Kerberos gss mechanism support |
257 | for AES encryption. | 257 | for AES encryption. |
258 | 258 | ||
259 | config CRYPTO_ECB | 259 | config CRYPTO_ECB |
260 | tristate "ECB support" | 260 | tristate "ECB support" |
261 | select CRYPTO_BLKCIPHER | 261 | select CRYPTO_BLKCIPHER |
262 | select CRYPTO_MANAGER | 262 | select CRYPTO_MANAGER |
263 | help | 263 | help |
264 | ECB: Electronic CodeBook mode | 264 | ECB: Electronic CodeBook mode |
265 | This is the simplest block cipher algorithm. It simply encrypts | 265 | This is the simplest block cipher algorithm. It simply encrypts |
266 | the input block by block. | 266 | the input block by block. |
267 | 267 | ||
268 | config CRYPTO_LRW | 268 | config CRYPTO_LRW |
269 | tristate "LRW support" | 269 | tristate "LRW support" |
270 | select CRYPTO_BLKCIPHER | 270 | select CRYPTO_BLKCIPHER |
271 | select CRYPTO_MANAGER | 271 | select CRYPTO_MANAGER |
272 | select CRYPTO_GF128MUL | 272 | select CRYPTO_GF128MUL |
273 | help | 273 | help |
274 | LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable | 274 | LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable |
275 | narrow block cipher mode for dm-crypt. Use it with cipher | 275 | narrow block cipher mode for dm-crypt. Use it with cipher |
276 | specification string aes-lrw-benbi, the key must be 256, 320 or 384. | 276 | specification string aes-lrw-benbi, the key must be 256, 320 or 384. |
277 | The first 128, 192 or 256 bits in the key are used for AES and the | 277 | The first 128, 192 or 256 bits in the key are used for AES and the |
278 | rest is used to tie each cipher block to its logical position. | 278 | rest is used to tie each cipher block to its logical position. |
279 | 279 | ||
280 | config CRYPTO_PCBC | 280 | config CRYPTO_PCBC |
281 | tristate "PCBC support" | 281 | tristate "PCBC support" |
282 | select CRYPTO_BLKCIPHER | 282 | select CRYPTO_BLKCIPHER |
283 | select CRYPTO_MANAGER | 283 | select CRYPTO_MANAGER |
284 | help | 284 | help |
285 | PCBC: Propagating Cipher Block Chaining mode | 285 | PCBC: Propagating Cipher Block Chaining mode |
286 | This block cipher algorithm is required for RxRPC. | 286 | This block cipher algorithm is required for RxRPC. |
287 | 287 | ||
288 | config CRYPTO_XTS | 288 | config CRYPTO_XTS |
289 | tristate "XTS support" | 289 | tristate "XTS support" |
290 | select CRYPTO_BLKCIPHER | 290 | select CRYPTO_BLKCIPHER |
291 | select CRYPTO_MANAGER | 291 | select CRYPTO_MANAGER |
292 | select CRYPTO_GF128MUL | 292 | select CRYPTO_GF128MUL |
293 | help | 293 | help |
294 | XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain, | 294 | XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain, |
295 | key size 256, 384 or 512 bits. This implementation currently | 295 | key size 256, 384 or 512 bits. This implementation currently |
296 | can't handle a sectorsize which is not a multiple of 16 bytes. | 296 | can't handle a sectorsize which is not a multiple of 16 bytes. |
297 | 297 | ||
298 | comment "Hash modes" | 298 | comment "Hash modes" |
299 | 299 | ||
300 | config CRYPTO_CMAC | 300 | config CRYPTO_CMAC |
301 | tristate "CMAC support" | 301 | tristate "CMAC support" |
302 | select CRYPTO_HASH | 302 | select CRYPTO_HASH |
303 | select CRYPTO_MANAGER | 303 | select CRYPTO_MANAGER |
304 | help | 304 | help |
305 | Cipher-based Message Authentication Code (CMAC) specified by | 305 | Cipher-based Message Authentication Code (CMAC) specified by |
306 | The National Institute of Standards and Technology (NIST). | 306 | The National Institute of Standards and Technology (NIST). |
307 | 307 | ||
308 | https://tools.ietf.org/html/rfc4493 | 308 | https://tools.ietf.org/html/rfc4493 |
309 | http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf | 309 | http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf |
310 | 310 | ||
311 | config CRYPTO_HMAC | 311 | config CRYPTO_HMAC |
312 | tristate "HMAC support" | 312 | tristate "HMAC support" |
313 | select CRYPTO_HASH | 313 | select CRYPTO_HASH |
314 | select CRYPTO_MANAGER | 314 | select CRYPTO_MANAGER |
315 | help | 315 | help |
316 | HMAC: Keyed-Hashing for Message Authentication (RFC2104). | 316 | HMAC: Keyed-Hashing for Message Authentication (RFC2104). |
317 | This is required for IPSec. | 317 | This is required for IPSec. |
318 | 318 | ||
319 | config CRYPTO_XCBC | 319 | config CRYPTO_XCBC |
320 | tristate "XCBC support" | 320 | tristate "XCBC support" |
321 | select CRYPTO_HASH | 321 | select CRYPTO_HASH |
322 | select CRYPTO_MANAGER | 322 | select CRYPTO_MANAGER |
323 | help | 323 | help |
324 | XCBC: Keyed-Hashing with encryption algorithm | 324 | XCBC: Keyed-Hashing with encryption algorithm |
325 | http://www.ietf.org/rfc/rfc3566.txt | 325 | http://www.ietf.org/rfc/rfc3566.txt |
326 | http://csrc.nist.gov/encryption/modes/proposedmodes/ | 326 | http://csrc.nist.gov/encryption/modes/proposedmodes/ |
327 | xcbc-mac/xcbc-mac-spec.pdf | 327 | xcbc-mac/xcbc-mac-spec.pdf |
328 | 328 | ||
329 | config CRYPTO_VMAC | 329 | config CRYPTO_VMAC |
330 | tristate "VMAC support" | 330 | tristate "VMAC support" |
331 | select CRYPTO_HASH | 331 | select CRYPTO_HASH |
332 | select CRYPTO_MANAGER | 332 | select CRYPTO_MANAGER |
333 | help | 333 | help |
334 | VMAC is a message authentication algorithm designed for | 334 | VMAC is a message authentication algorithm designed for |
335 | very high speed on 64-bit architectures. | 335 | very high speed on 64-bit architectures. |
336 | 336 | ||
337 | See also: | 337 | See also: |
338 | <http://fastcrypto.org/vmac> | 338 | <http://fastcrypto.org/vmac> |
339 | 339 | ||
340 | comment "Digest" | 340 | comment "Digest" |
341 | 341 | ||
342 | config CRYPTO_CRC32C | 342 | config CRYPTO_CRC32C |
343 | tristate "CRC32c CRC algorithm" | 343 | tristate "CRC32c CRC algorithm" |
344 | select CRYPTO_HASH | 344 | select CRYPTO_HASH |
345 | select CRC32 | 345 | select CRC32 |
346 | help | 346 | help |
347 | Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used | 347 | Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used |
348 | by iSCSI for header and data digests and by others. | 348 | by iSCSI for header and data digests and by others. |
349 | See Castagnoli93. Module will be crc32c. | 349 | See Castagnoli93. Module will be crc32c. |
350 | 350 | ||
351 | config CRYPTO_CRC32C_INTEL | 351 | config CRYPTO_CRC32C_INTEL |
352 | tristate "CRC32c INTEL hardware acceleration" | 352 | tristate "CRC32c INTEL hardware acceleration" |
353 | depends on X86 | 353 | depends on X86 |
354 | select CRYPTO_HASH | 354 | select CRYPTO_HASH |
355 | help | 355 | help |
356 | In Intel processor with SSE4.2 supported, the processor will | 356 | In Intel processor with SSE4.2 supported, the processor will |
357 | support CRC32C implementation using hardware accelerated CRC32 | 357 | support CRC32C implementation using hardware accelerated CRC32 |
358 | instruction. This option will create 'crc32c-intel' module, | 358 | instruction. This option will create 'crc32c-intel' module, |
359 | which will enable any routine to use the CRC32 instruction to | 359 | which will enable any routine to use the CRC32 instruction to |
360 | gain performance compared with software implementation. | 360 | gain performance compared with software implementation. |
361 | Module will be crc32c-intel. | 361 | Module will be crc32c-intel. |
362 | 362 | ||
363 | config CRYPTO_CRC32C_SPARC64 | 363 | config CRYPTO_CRC32C_SPARC64 |
364 | tristate "CRC32c CRC algorithm (SPARC64)" | 364 | tristate "CRC32c CRC algorithm (SPARC64)" |
365 | depends on SPARC64 | 365 | depends on SPARC64 |
366 | select CRYPTO_HASH | 366 | select CRYPTO_HASH |
367 | select CRC32 | 367 | select CRC32 |
368 | help | 368 | help |
369 | CRC32c CRC algorithm implemented using sparc64 crypto instructions, | 369 | CRC32c CRC algorithm implemented using sparc64 crypto instructions, |
370 | when available. | 370 | when available. |
371 | 371 | ||
372 | config CRYPTO_CRC32 | 372 | config CRYPTO_CRC32 |
373 | tristate "CRC32 CRC algorithm" | 373 | tristate "CRC32 CRC algorithm" |
374 | select CRYPTO_HASH | 374 | select CRYPTO_HASH |
375 | select CRC32 | 375 | select CRC32 |
376 | help | 376 | help |
377 | CRC-32-IEEE 802.3 cyclic redundancy-check algorithm. | 377 | CRC-32-IEEE 802.3 cyclic redundancy-check algorithm. |
378 | Shash crypto api wrappers to crc32_le function. | 378 | Shash crypto api wrappers to crc32_le function. |
379 | 379 | ||
380 | config CRYPTO_CRC32_PCLMUL | 380 | config CRYPTO_CRC32_PCLMUL |
381 | tristate "CRC32 PCLMULQDQ hardware acceleration" | 381 | tristate "CRC32 PCLMULQDQ hardware acceleration" |
382 | depends on X86 | 382 | depends on X86 |
383 | select CRYPTO_HASH | 383 | select CRYPTO_HASH |
384 | select CRC32 | 384 | select CRC32 |
385 | help | 385 | help |
386 | From Intel Westmere and AMD Bulldozer processor with SSE4.2 | 386 | From Intel Westmere and AMD Bulldozer processor with SSE4.2 |
387 | and PCLMULQDQ supported, the processor will support | 387 | and PCLMULQDQ supported, the processor will support |
388 | CRC32 PCLMULQDQ implementation using hardware accelerated PCLMULQDQ | 388 | CRC32 PCLMULQDQ implementation using hardware accelerated PCLMULQDQ |
389 | instruction. This option will create 'crc32-plcmul' module, | 389 | instruction. This option will create 'crc32-plcmul' module, |
390 | which will enable any routine to use the CRC-32-IEEE 802.3 checksum | 390 | which will enable any routine to use the CRC-32-IEEE 802.3 checksum |
391 | and gain better performance as compared with the table implementation. | 391 | and gain better performance as compared with the table implementation. |
392 | 392 | ||
393 | config CRYPTO_CRCT10DIF | 393 | config CRYPTO_CRCT10DIF |
394 | tristate "CRCT10DIF algorithm" | 394 | tristate "CRCT10DIF algorithm" |
395 | select CRYPTO_HASH | 395 | select CRYPTO_HASH |
396 | help | 396 | help |
397 | CRC T10 Data Integrity Field computation is being cast as | 397 | CRC T10 Data Integrity Field computation is being cast as |
398 | a crypto transform. This allows for faster crc t10 diff | 398 | a crypto transform. This allows for faster crc t10 diff |
399 | transforms to be used if they are available. | 399 | transforms to be used if they are available. |
400 | 400 | ||
401 | config CRYPTO_CRCT10DIF_PCLMUL | 401 | config CRYPTO_CRCT10DIF_PCLMUL |
402 | tristate "CRCT10DIF PCLMULQDQ hardware acceleration" | 402 | tristate "CRCT10DIF PCLMULQDQ hardware acceleration" |
403 | depends on X86 && 64BIT && CRC_T10DIF | 403 | depends on X86 && 64BIT && CRC_T10DIF |
404 | select CRYPTO_HASH | 404 | select CRYPTO_HASH |
405 | help | 405 | help |
406 | For x86_64 processors with SSE4.2 and PCLMULQDQ supported, | 406 | For x86_64 processors with SSE4.2 and PCLMULQDQ supported, |
407 | CRC T10 DIF PCLMULQDQ computation can be hardware | 407 | CRC T10 DIF PCLMULQDQ computation can be hardware |
408 | accelerated PCLMULQDQ instruction. This option will create | 408 | accelerated PCLMULQDQ instruction. This option will create |
409 | 'crct10dif-plcmul' module, which is faster when computing the | 409 | 'crct10dif-plcmul' module, which is faster when computing the |
410 | crct10dif checksum as compared with the generic table implementation. | 410 | crct10dif checksum as compared with the generic table implementation. |
411 | 411 | ||
412 | config CRYPTO_GHASH | 412 | config CRYPTO_GHASH |
413 | tristate "GHASH digest algorithm" | 413 | tristate "GHASH digest algorithm" |
414 | select CRYPTO_GF128MUL | 414 | select CRYPTO_GF128MUL |
415 | help | 415 | help |
416 | GHASH is message digest algorithm for GCM (Galois/Counter Mode). | 416 | GHASH is message digest algorithm for GCM (Galois/Counter Mode). |
417 | 417 | ||
418 | config CRYPTO_MD4 | 418 | config CRYPTO_MD4 |
419 | tristate "MD4 digest algorithm" | 419 | tristate "MD4 digest algorithm" |
420 | select CRYPTO_HASH | 420 | select CRYPTO_HASH |
421 | help | 421 | help |
422 | MD4 message digest algorithm (RFC1320). | 422 | MD4 message digest algorithm (RFC1320). |
423 | 423 | ||
424 | config CRYPTO_MD5 | 424 | config CRYPTO_MD5 |
425 | tristate "MD5 digest algorithm" | 425 | tristate "MD5 digest algorithm" |
426 | select CRYPTO_HASH | 426 | select CRYPTO_HASH |
427 | help | 427 | help |
428 | MD5 message digest algorithm (RFC1321). | 428 | MD5 message digest algorithm (RFC1321). |
429 | 429 | ||
430 | config CRYPTO_MD5_SPARC64 | 430 | config CRYPTO_MD5_SPARC64 |
431 | tristate "MD5 digest algorithm (SPARC64)" | 431 | tristate "MD5 digest algorithm (SPARC64)" |
432 | depends on SPARC64 | 432 | depends on SPARC64 |
433 | select CRYPTO_MD5 | 433 | select CRYPTO_MD5 |
434 | select CRYPTO_HASH | 434 | select CRYPTO_HASH |
435 | help | 435 | help |
436 | MD5 message digest algorithm (RFC1321) implemented | 436 | MD5 message digest algorithm (RFC1321) implemented |
437 | using sparc64 crypto instructions, when available. | 437 | using sparc64 crypto instructions, when available. |
438 | 438 | ||
439 | config CRYPTO_MICHAEL_MIC | 439 | config CRYPTO_MICHAEL_MIC |
440 | tristate "Michael MIC keyed digest algorithm" | 440 | tristate "Michael MIC keyed digest algorithm" |
441 | select CRYPTO_HASH | 441 | select CRYPTO_HASH |
442 | help | 442 | help |
443 | Michael MIC is used for message integrity protection in TKIP | 443 | Michael MIC is used for message integrity protection in TKIP |
444 | (IEEE 802.11i). This algorithm is required for TKIP, but it | 444 | (IEEE 802.11i). This algorithm is required for TKIP, but it |
445 | should not be used for other purposes because of the weakness | 445 | should not be used for other purposes because of the weakness |
446 | of the algorithm. | 446 | of the algorithm. |
447 | 447 | ||
448 | config CRYPTO_RMD128 | 448 | config CRYPTO_RMD128 |
449 | tristate "RIPEMD-128 digest algorithm" | 449 | tristate "RIPEMD-128 digest algorithm" |
450 | select CRYPTO_HASH | 450 | select CRYPTO_HASH |
451 | help | 451 | help |
452 | RIPEMD-128 (ISO/IEC 10118-3:2004). | 452 | RIPEMD-128 (ISO/IEC 10118-3:2004). |
453 | 453 | ||
454 | RIPEMD-128 is a 128-bit cryptographic hash function. It should only | 454 | RIPEMD-128 is a 128-bit cryptographic hash function. It should only |
455 | be used as a secure replacement for RIPEMD. For other use cases, | 455 | be used as a secure replacement for RIPEMD. For other use cases, |
456 | RIPEMD-160 should be used. | 456 | RIPEMD-160 should be used. |
457 | 457 | ||
458 | Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. | 458 | Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. |
459 | See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> | 459 | See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> |
460 | 460 | ||
461 | config CRYPTO_RMD160 | 461 | config CRYPTO_RMD160 |
462 | tristate "RIPEMD-160 digest algorithm" | 462 | tristate "RIPEMD-160 digest algorithm" |
463 | select CRYPTO_HASH | 463 | select CRYPTO_HASH |
464 | help | 464 | help |
465 | RIPEMD-160 (ISO/IEC 10118-3:2004). | 465 | RIPEMD-160 (ISO/IEC 10118-3:2004). |
466 | 466 | ||
467 | RIPEMD-160 is a 160-bit cryptographic hash function. It is intended | 467 | RIPEMD-160 is a 160-bit cryptographic hash function. It is intended |
468 | to be used as a secure replacement for the 128-bit hash functions | 468 | to be used as a secure replacement for the 128-bit hash functions |
469 | MD4, MD5 and it's predecessor RIPEMD | 469 | MD4, MD5 and it's predecessor RIPEMD |
470 | (not to be confused with RIPEMD-128). | 470 | (not to be confused with RIPEMD-128). |
471 | 471 | ||
472 | It's speed is comparable to SHA1 and there are no known attacks | 472 | It's speed is comparable to SHA1 and there are no known attacks |
473 | against RIPEMD-160. | 473 | against RIPEMD-160. |
474 | 474 | ||
475 | Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. | 475 | Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. |
476 | See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> | 476 | See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> |
477 | 477 | ||
478 | config CRYPTO_RMD256 | 478 | config CRYPTO_RMD256 |
479 | tristate "RIPEMD-256 digest algorithm" | 479 | tristate "RIPEMD-256 digest algorithm" |
480 | select CRYPTO_HASH | 480 | select CRYPTO_HASH |
481 | help | 481 | help |
482 | RIPEMD-256 is an optional extension of RIPEMD-128 with a | 482 | RIPEMD-256 is an optional extension of RIPEMD-128 with a |
483 | 256 bit hash. It is intended for applications that require | 483 | 256 bit hash. It is intended for applications that require |
484 | longer hash-results, without needing a larger security level | 484 | longer hash-results, without needing a larger security level |
485 | (than RIPEMD-128). | 485 | (than RIPEMD-128). |
486 | 486 | ||
487 | Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. | 487 | Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. |
488 | See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> | 488 | See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> |
489 | 489 | ||
490 | config CRYPTO_RMD320 | 490 | config CRYPTO_RMD320 |
491 | tristate "RIPEMD-320 digest algorithm" | 491 | tristate "RIPEMD-320 digest algorithm" |
492 | select CRYPTO_HASH | 492 | select CRYPTO_HASH |
493 | help | 493 | help |
494 | RIPEMD-320 is an optional extension of RIPEMD-160 with a | 494 | RIPEMD-320 is an optional extension of RIPEMD-160 with a |
495 | 320 bit hash. It is intended for applications that require | 495 | 320 bit hash. It is intended for applications that require |
496 | longer hash-results, without needing a larger security level | 496 | longer hash-results, without needing a larger security level |
497 | (than RIPEMD-160). | 497 | (than RIPEMD-160). |
498 | 498 | ||
499 | Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. | 499 | Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. |
500 | See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> | 500 | See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> |
501 | 501 | ||
502 | config CRYPTO_SHA1 | 502 | config CRYPTO_SHA1 |
503 | tristate "SHA1 digest algorithm" | 503 | tristate "SHA1 digest algorithm" |
504 | select CRYPTO_HASH | 504 | select CRYPTO_HASH |
505 | help | 505 | help |
506 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). | 506 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). |
507 | 507 | ||
508 | config CRYPTO_SHA1_SSSE3 | 508 | config CRYPTO_SHA1_SSSE3 |
509 | tristate "SHA1 digest algorithm (SSSE3/AVX/AVX2)" | 509 | tristate "SHA1 digest algorithm (SSSE3/AVX/AVX2)" |
510 | depends on X86 && 64BIT | 510 | depends on X86 && 64BIT |
511 | select CRYPTO_SHA1 | 511 | select CRYPTO_SHA1 |
512 | select CRYPTO_HASH | 512 | select CRYPTO_HASH |
513 | help | 513 | help |
514 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented | 514 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented |
515 | using Supplemental SSE3 (SSSE3) instructions or Advanced Vector | 515 | using Supplemental SSE3 (SSSE3) instructions or Advanced Vector |
516 | Extensions (AVX/AVX2), when available. | 516 | Extensions (AVX/AVX2), when available. |
517 | 517 | ||
518 | config CRYPTO_SHA256_SSSE3 | 518 | config CRYPTO_SHA256_SSSE3 |
519 | tristate "SHA256 digest algorithm (SSSE3/AVX/AVX2)" | 519 | tristate "SHA256 digest algorithm (SSSE3/AVX/AVX2)" |
520 | depends on X86 && 64BIT | 520 | depends on X86 && 64BIT |
521 | select CRYPTO_SHA256 | 521 | select CRYPTO_SHA256 |
522 | select CRYPTO_HASH | 522 | select CRYPTO_HASH |
523 | help | 523 | help |
524 | SHA-256 secure hash standard (DFIPS 180-2) implemented | 524 | SHA-256 secure hash standard (DFIPS 180-2) implemented |
525 | using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector | 525 | using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector |
526 | Extensions version 1 (AVX1), or Advanced Vector Extensions | 526 | Extensions version 1 (AVX1), or Advanced Vector Extensions |
527 | version 2 (AVX2) instructions, when available. | 527 | version 2 (AVX2) instructions, when available. |
528 | 528 | ||
529 | config CRYPTO_SHA512_SSSE3 | 529 | config CRYPTO_SHA512_SSSE3 |
530 | tristate "SHA512 digest algorithm (SSSE3/AVX/AVX2)" | 530 | tristate "SHA512 digest algorithm (SSSE3/AVX/AVX2)" |
531 | depends on X86 && 64BIT | 531 | depends on X86 && 64BIT |
532 | select CRYPTO_SHA512 | 532 | select CRYPTO_SHA512 |
533 | select CRYPTO_HASH | 533 | select CRYPTO_HASH |
534 | help | 534 | help |
535 | SHA-512 secure hash standard (DFIPS 180-2) implemented | 535 | SHA-512 secure hash standard (DFIPS 180-2) implemented |
536 | using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector | 536 | using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector |
537 | Extensions version 1 (AVX1), or Advanced Vector Extensions | 537 | Extensions version 1 (AVX1), or Advanced Vector Extensions |
538 | version 2 (AVX2) instructions, when available. | 538 | version 2 (AVX2) instructions, when available. |
539 | 539 | ||
540 | config CRYPTO_SHA1_SPARC64 | 540 | config CRYPTO_SHA1_SPARC64 |
541 | tristate "SHA1 digest algorithm (SPARC64)" | 541 | tristate "SHA1 digest algorithm (SPARC64)" |
542 | depends on SPARC64 | 542 | depends on SPARC64 |
543 | select CRYPTO_SHA1 | 543 | select CRYPTO_SHA1 |
544 | select CRYPTO_HASH | 544 | select CRYPTO_HASH |
545 | help | 545 | help |
546 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented | 546 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented |
547 | using sparc64 crypto instructions, when available. | 547 | using sparc64 crypto instructions, when available. |
548 | 548 | ||
549 | config CRYPTO_SHA1_ARM | 549 | config CRYPTO_SHA1_ARM |
550 | tristate "SHA1 digest algorithm (ARM-asm)" | 550 | tristate "SHA1 digest algorithm (ARM-asm)" |
551 | depends on ARM | 551 | depends on ARM |
552 | select CRYPTO_SHA1 | 552 | select CRYPTO_SHA1 |
553 | select CRYPTO_HASH | 553 | select CRYPTO_HASH |
554 | help | 554 | help |
555 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented | 555 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented |
556 | using optimized ARM assembler. | 556 | using optimized ARM assembler. |
557 | 557 | ||
558 | config CRYPTO_SHA1_ARM_NEON | 558 | config CRYPTO_SHA1_ARM_NEON |
559 | tristate "SHA1 digest algorithm (ARM NEON)" | 559 | tristate "SHA1 digest algorithm (ARM NEON)" |
560 | depends on ARM && KERNEL_MODE_NEON && !CPU_BIG_ENDIAN | 560 | depends on ARM && KERNEL_MODE_NEON && !CPU_BIG_ENDIAN |
561 | select CRYPTO_SHA1_ARM | 561 | select CRYPTO_SHA1_ARM |
562 | select CRYPTO_SHA1 | 562 | select CRYPTO_SHA1 |
563 | select CRYPTO_HASH | 563 | select CRYPTO_HASH |
564 | help | 564 | help |
565 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented | 565 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented |
566 | using optimized ARM NEON assembly, when NEON instructions are | 566 | using optimized ARM NEON assembly, when NEON instructions are |
567 | available. | 567 | available. |
568 | 568 | ||
569 | config CRYPTO_SHA1_PPC | 569 | config CRYPTO_SHA1_PPC |
570 | tristate "SHA1 digest algorithm (powerpc)" | 570 | tristate "SHA1 digest algorithm (powerpc)" |
571 | depends on PPC | 571 | depends on PPC |
572 | help | 572 | help |
573 | This is the powerpc hardware accelerated implementation of the | 573 | This is the powerpc hardware accelerated implementation of the |
574 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). | 574 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). |
575 | 575 | ||
576 | config CRYPTO_SHA1_MB | 576 | config CRYPTO_SHA1_MB |
577 | tristate "SHA1 digest algorithm (x86_64 Multi-Buffer, Experimental)" | 577 | tristate "SHA1 digest algorithm (x86_64 Multi-Buffer, Experimental)" |
578 | depends on X86 && 64BIT | 578 | depends on X86 && 64BIT |
579 | select CRYPTO_SHA1 | 579 | select CRYPTO_SHA1 |
580 | select CRYPTO_HASH | 580 | select CRYPTO_HASH |
581 | select CRYPTO_MCRYPTD | 581 | select CRYPTO_MCRYPTD |
582 | help | 582 | help |
583 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented | 583 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented |
584 | using multi-buffer technique. This algorithm computes on | 584 | using multi-buffer technique. This algorithm computes on |
585 | multiple data lanes concurrently with SIMD instructions for | 585 | multiple data lanes concurrently with SIMD instructions for |
586 | better throughput. It should not be enabled by default but | 586 | better throughput. It should not be enabled by default but |
587 | used when there is significant amount of work to keep the keep | 587 | used when there is significant amount of work to keep the keep |
588 | the data lanes filled to get performance benefit. If the data | 588 | the data lanes filled to get performance benefit. If the data |
589 | lanes remain unfilled, a flush operation will be initiated to | 589 | lanes remain unfilled, a flush operation will be initiated to |
590 | process the crypto jobs, adding a slight latency. | 590 | process the crypto jobs, adding a slight latency. |
591 | 591 | ||
592 | config CRYPTO_SHA256 | 592 | config CRYPTO_SHA256 |
593 | tristate "SHA224 and SHA256 digest algorithm" | 593 | tristate "SHA224 and SHA256 digest algorithm" |
594 | select CRYPTO_HASH | 594 | select CRYPTO_HASH |
595 | help | 595 | help |
596 | SHA256 secure hash standard (DFIPS 180-2). | 596 | SHA256 secure hash standard (DFIPS 180-2). |
597 | 597 | ||
598 | This version of SHA implements a 256 bit hash with 128 bits of | 598 | This version of SHA implements a 256 bit hash with 128 bits of |
599 | security against collision attacks. | 599 | security against collision attacks. |
600 | 600 | ||
601 | This code also includes SHA-224, a 224 bit hash with 112 bits | 601 | This code also includes SHA-224, a 224 bit hash with 112 bits |
602 | of security against collision attacks. | 602 | of security against collision attacks. |
603 | 603 | ||
604 | config CRYPTO_SHA256_SPARC64 | 604 | config CRYPTO_SHA256_SPARC64 |
605 | tristate "SHA224 and SHA256 digest algorithm (SPARC64)" | 605 | tristate "SHA224 and SHA256 digest algorithm (SPARC64)" |
606 | depends on SPARC64 | 606 | depends on SPARC64 |
607 | select CRYPTO_SHA256 | 607 | select CRYPTO_SHA256 |
608 | select CRYPTO_HASH | 608 | select CRYPTO_HASH |
609 | help | 609 | help |
610 | SHA-256 secure hash standard (DFIPS 180-2) implemented | 610 | SHA-256 secure hash standard (DFIPS 180-2) implemented |
611 | using sparc64 crypto instructions, when available. | 611 | using sparc64 crypto instructions, when available. |
612 | 612 | ||
613 | config CRYPTO_SHA512 | 613 | config CRYPTO_SHA512 |
614 | tristate "SHA384 and SHA512 digest algorithms" | 614 | tristate "SHA384 and SHA512 digest algorithms" |
615 | select CRYPTO_HASH | 615 | select CRYPTO_HASH |
616 | help | 616 | help |
617 | SHA512 secure hash standard (DFIPS 180-2). | 617 | SHA512 secure hash standard (DFIPS 180-2). |
618 | 618 | ||
619 | This version of SHA implements a 512 bit hash with 256 bits of | 619 | This version of SHA implements a 512 bit hash with 256 bits of |
620 | security against collision attacks. | 620 | security against collision attacks. |
621 | 621 | ||
622 | This code also includes SHA-384, a 384 bit hash with 192 bits | 622 | This code also includes SHA-384, a 384 bit hash with 192 bits |
623 | of security against collision attacks. | 623 | of security against collision attacks. |
624 | 624 | ||
625 | config CRYPTO_SHA512_SPARC64 | 625 | config CRYPTO_SHA512_SPARC64 |
626 | tristate "SHA384 and SHA512 digest algorithm (SPARC64)" | 626 | tristate "SHA384 and SHA512 digest algorithm (SPARC64)" |
627 | depends on SPARC64 | 627 | depends on SPARC64 |
628 | select CRYPTO_SHA512 | 628 | select CRYPTO_SHA512 |
629 | select CRYPTO_HASH | 629 | select CRYPTO_HASH |
630 | help | 630 | help |
631 | SHA-512 secure hash standard (DFIPS 180-2) implemented | 631 | SHA-512 secure hash standard (DFIPS 180-2) implemented |
632 | using sparc64 crypto instructions, when available. | 632 | using sparc64 crypto instructions, when available. |
633 | 633 | ||
634 | config CRYPTO_SHA512_ARM_NEON | 634 | config CRYPTO_SHA512_ARM_NEON |
635 | tristate "SHA384 and SHA512 digest algorithm (ARM NEON)" | 635 | tristate "SHA384 and SHA512 digest algorithm (ARM NEON)" |
636 | depends on ARM && KERNEL_MODE_NEON && !CPU_BIG_ENDIAN | 636 | depends on ARM && KERNEL_MODE_NEON && !CPU_BIG_ENDIAN |
637 | select CRYPTO_SHA512 | 637 | select CRYPTO_SHA512 |
638 | select CRYPTO_HASH | 638 | select CRYPTO_HASH |
639 | help | 639 | help |
640 | SHA-512 secure hash standard (DFIPS 180-2) implemented | 640 | SHA-512 secure hash standard (DFIPS 180-2) implemented |
641 | using ARM NEON instructions, when available. | 641 | using ARM NEON instructions, when available. |
642 | 642 | ||
643 | This version of SHA implements a 512 bit hash with 256 bits of | 643 | This version of SHA implements a 512 bit hash with 256 bits of |
644 | security against collision attacks. | 644 | security against collision attacks. |
645 | 645 | ||
646 | This code also includes SHA-384, a 384 bit hash with 192 bits | 646 | This code also includes SHA-384, a 384 bit hash with 192 bits |
647 | of security against collision attacks. | 647 | of security against collision attacks. |
648 | 648 | ||
649 | config CRYPTO_TGR192 | 649 | config CRYPTO_TGR192 |
650 | tristate "Tiger digest algorithms" | 650 | tristate "Tiger digest algorithms" |
651 | select CRYPTO_HASH | 651 | select CRYPTO_HASH |
652 | help | 652 | help |
653 | Tiger hash algorithm 192, 160 and 128-bit hashes | 653 | Tiger hash algorithm 192, 160 and 128-bit hashes |
654 | 654 | ||
655 | Tiger is a hash function optimized for 64-bit processors while | 655 | Tiger is a hash function optimized for 64-bit processors while |
656 | still having decent performance on 32-bit processors. | 656 | still having decent performance on 32-bit processors. |
657 | Tiger was developed by Ross Anderson and Eli Biham. | 657 | Tiger was developed by Ross Anderson and Eli Biham. |
658 | 658 | ||
659 | See also: | 659 | See also: |
660 | <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>. | 660 | <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>. |
661 | 661 | ||
662 | config CRYPTO_WP512 | 662 | config CRYPTO_WP512 |
663 | tristate "Whirlpool digest algorithms" | 663 | tristate "Whirlpool digest algorithms" |
664 | select CRYPTO_HASH | 664 | select CRYPTO_HASH |
665 | help | 665 | help |
666 | Whirlpool hash algorithm 512, 384 and 256-bit hashes | 666 | Whirlpool hash algorithm 512, 384 and 256-bit hashes |
667 | 667 | ||
668 | Whirlpool-512 is part of the NESSIE cryptographic primitives. | 668 | Whirlpool-512 is part of the NESSIE cryptographic primitives. |
669 | Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard | 669 | Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard |
670 | 670 | ||
671 | See also: | 671 | See also: |
672 | <http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html> | 672 | <http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html> |
673 | 673 | ||
674 | config CRYPTO_GHASH_CLMUL_NI_INTEL | 674 | config CRYPTO_GHASH_CLMUL_NI_INTEL |
675 | tristate "GHASH digest algorithm (CLMUL-NI accelerated)" | 675 | tristate "GHASH digest algorithm (CLMUL-NI accelerated)" |
676 | depends on X86 && 64BIT | 676 | depends on X86 && 64BIT |
677 | select CRYPTO_CRYPTD | 677 | select CRYPTO_CRYPTD |
678 | help | 678 | help |
679 | GHASH is message digest algorithm for GCM (Galois/Counter Mode). | 679 | GHASH is message digest algorithm for GCM (Galois/Counter Mode). |
680 | The implementation is accelerated by CLMUL-NI of Intel. | 680 | The implementation is accelerated by CLMUL-NI of Intel. |
681 | 681 | ||
682 | comment "Ciphers" | 682 | comment "Ciphers" |
683 | 683 | ||
684 | config CRYPTO_AES | 684 | config CRYPTO_AES |
685 | tristate "AES cipher algorithms" | 685 | tristate "AES cipher algorithms" |
686 | select CRYPTO_ALGAPI | 686 | select CRYPTO_ALGAPI |
687 | help | 687 | help |
688 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | 688 | AES cipher algorithms (FIPS-197). AES uses the Rijndael |
689 | algorithm. | 689 | algorithm. |
690 | 690 | ||
691 | Rijndael appears to be consistently a very good performer in | 691 | Rijndael appears to be consistently a very good performer in |
692 | both hardware and software across a wide range of computing | 692 | both hardware and software across a wide range of computing |
693 | environments regardless of its use in feedback or non-feedback | 693 | environments regardless of its use in feedback or non-feedback |
694 | modes. Its key setup time is excellent, and its key agility is | 694 | modes. Its key setup time is excellent, and its key agility is |
695 | good. Rijndael's very low memory requirements make it very well | 695 | good. Rijndael's very low memory requirements make it very well |
696 | suited for restricted-space environments, in which it also | 696 | suited for restricted-space environments, in which it also |
697 | demonstrates excellent performance. Rijndael's operations are | 697 | demonstrates excellent performance. Rijndael's operations are |
698 | among the easiest to defend against power and timing attacks. | 698 | among the easiest to defend against power and timing attacks. |
699 | 699 | ||
700 | The AES specifies three key sizes: 128, 192 and 256 bits | 700 | The AES specifies three key sizes: 128, 192 and 256 bits |
701 | 701 | ||
702 | See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information. | 702 | See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information. |
703 | 703 | ||
704 | config CRYPTO_AES_586 | 704 | config CRYPTO_AES_586 |
705 | tristate "AES cipher algorithms (i586)" | 705 | tristate "AES cipher algorithms (i586)" |
706 | depends on (X86 || UML_X86) && !64BIT | 706 | depends on (X86 || UML_X86) && !64BIT |
707 | select CRYPTO_ALGAPI | 707 | select CRYPTO_ALGAPI |
708 | select CRYPTO_AES | 708 | select CRYPTO_AES |
709 | help | 709 | help |
710 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | 710 | AES cipher algorithms (FIPS-197). AES uses the Rijndael |
711 | algorithm. | 711 | algorithm. |
712 | 712 | ||
713 | Rijndael appears to be consistently a very good performer in | 713 | Rijndael appears to be consistently a very good performer in |
714 | both hardware and software across a wide range of computing | 714 | both hardware and software across a wide range of computing |
715 | environments regardless of its use in feedback or non-feedback | 715 | environments regardless of its use in feedback or non-feedback |
716 | modes. Its key setup time is excellent, and its key agility is | 716 | modes. Its key setup time is excellent, and its key agility is |
717 | good. Rijndael's very low memory requirements make it very well | 717 | good. Rijndael's very low memory requirements make it very well |
718 | suited for restricted-space environments, in which it also | 718 | suited for restricted-space environments, in which it also |
719 | demonstrates excellent performance. Rijndael's operations are | 719 | demonstrates excellent performance. Rijndael's operations are |
720 | among the easiest to defend against power and timing attacks. | 720 | among the easiest to defend against power and timing attacks. |
721 | 721 | ||
722 | The AES specifies three key sizes: 128, 192 and 256 bits | 722 | The AES specifies three key sizes: 128, 192 and 256 bits |
723 | 723 | ||
724 | See <http://csrc.nist.gov/encryption/aes/> for more information. | 724 | See <http://csrc.nist.gov/encryption/aes/> for more information. |
725 | 725 | ||
726 | config CRYPTO_AES_X86_64 | 726 | config CRYPTO_AES_X86_64 |
727 | tristate "AES cipher algorithms (x86_64)" | 727 | tristate "AES cipher algorithms (x86_64)" |
728 | depends on (X86 || UML_X86) && 64BIT | 728 | depends on (X86 || UML_X86) && 64BIT |
729 | select CRYPTO_ALGAPI | 729 | select CRYPTO_ALGAPI |
730 | select CRYPTO_AES | 730 | select CRYPTO_AES |
731 | help | 731 | help |
732 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | 732 | AES cipher algorithms (FIPS-197). AES uses the Rijndael |
733 | algorithm. | 733 | algorithm. |
734 | 734 | ||
735 | Rijndael appears to be consistently a very good performer in | 735 | Rijndael appears to be consistently a very good performer in |
736 | both hardware and software across a wide range of computing | 736 | both hardware and software across a wide range of computing |
737 | environments regardless of its use in feedback or non-feedback | 737 | environments regardless of its use in feedback or non-feedback |
738 | modes. Its key setup time is excellent, and its key agility is | 738 | modes. Its key setup time is excellent, and its key agility is |
739 | good. Rijndael's very low memory requirements make it very well | 739 | good. Rijndael's very low memory requirements make it very well |
740 | suited for restricted-space environments, in which it also | 740 | suited for restricted-space environments, in which it also |
741 | demonstrates excellent performance. Rijndael's operations are | 741 | demonstrates excellent performance. Rijndael's operations are |
742 | among the easiest to defend against power and timing attacks. | 742 | among the easiest to defend against power and timing attacks. |
743 | 743 | ||
744 | The AES specifies three key sizes: 128, 192 and 256 bits | 744 | The AES specifies three key sizes: 128, 192 and 256 bits |
745 | 745 | ||
746 | See <http://csrc.nist.gov/encryption/aes/> for more information. | 746 | See <http://csrc.nist.gov/encryption/aes/> for more information. |
747 | 747 | ||
748 | config CRYPTO_AES_NI_INTEL | 748 | config CRYPTO_AES_NI_INTEL |
749 | tristate "AES cipher algorithms (AES-NI)" | 749 | tristate "AES cipher algorithms (AES-NI)" |
750 | depends on X86 | 750 | depends on X86 |
751 | select CRYPTO_AES_X86_64 if 64BIT | 751 | select CRYPTO_AES_X86_64 if 64BIT |
752 | select CRYPTO_AES_586 if !64BIT | 752 | select CRYPTO_AES_586 if !64BIT |
753 | select CRYPTO_CRYPTD | 753 | select CRYPTO_CRYPTD |
754 | select CRYPTO_ABLK_HELPER | 754 | select CRYPTO_ABLK_HELPER |
755 | select CRYPTO_ALGAPI | 755 | select CRYPTO_ALGAPI |
756 | select CRYPTO_GLUE_HELPER_X86 if 64BIT | 756 | select CRYPTO_GLUE_HELPER_X86 if 64BIT |
757 | select CRYPTO_LRW | 757 | select CRYPTO_LRW |
758 | select CRYPTO_XTS | 758 | select CRYPTO_XTS |
759 | help | 759 | help |
760 | Use Intel AES-NI instructions for AES algorithm. | 760 | Use Intel AES-NI instructions for AES algorithm. |
761 | 761 | ||
762 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | 762 | AES cipher algorithms (FIPS-197). AES uses the Rijndael |
763 | algorithm. | 763 | algorithm. |
764 | 764 | ||
765 | Rijndael appears to be consistently a very good performer in | 765 | Rijndael appears to be consistently a very good performer in |
766 | both hardware and software across a wide range of computing | 766 | both hardware and software across a wide range of computing |
767 | environments regardless of its use in feedback or non-feedback | 767 | environments regardless of its use in feedback or non-feedback |
768 | modes. Its key setup time is excellent, and its key agility is | 768 | modes. Its key setup time is excellent, and its key agility is |
769 | good. Rijndael's very low memory requirements make it very well | 769 | good. Rijndael's very low memory requirements make it very well |
770 | suited for restricted-space environments, in which it also | 770 | suited for restricted-space environments, in which it also |
771 | demonstrates excellent performance. Rijndael's operations are | 771 | demonstrates excellent performance. Rijndael's operations are |
772 | among the easiest to defend against power and timing attacks. | 772 | among the easiest to defend against power and timing attacks. |
773 | 773 | ||
774 | The AES specifies three key sizes: 128, 192 and 256 bits | 774 | The AES specifies three key sizes: 128, 192 and 256 bits |
775 | 775 | ||
776 | See <http://csrc.nist.gov/encryption/aes/> for more information. | 776 | See <http://csrc.nist.gov/encryption/aes/> for more information. |
777 | 777 | ||
778 | In addition to AES cipher algorithm support, the acceleration | 778 | In addition to AES cipher algorithm support, the acceleration |
779 | for some popular block cipher mode is supported too, including | 779 | for some popular block cipher mode is supported too, including |
780 | ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional | 780 | ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional |
781 | acceleration for CTR. | 781 | acceleration for CTR. |
782 | 782 | ||
783 | config CRYPTO_AES_SPARC64 | 783 | config CRYPTO_AES_SPARC64 |
784 | tristate "AES cipher algorithms (SPARC64)" | 784 | tristate "AES cipher algorithms (SPARC64)" |
785 | depends on SPARC64 | 785 | depends on SPARC64 |
786 | select CRYPTO_CRYPTD | 786 | select CRYPTO_CRYPTD |
787 | select CRYPTO_ALGAPI | 787 | select CRYPTO_ALGAPI |
788 | help | 788 | help |
789 | Use SPARC64 crypto opcodes for AES algorithm. | 789 | Use SPARC64 crypto opcodes for AES algorithm. |
790 | 790 | ||
791 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | 791 | AES cipher algorithms (FIPS-197). AES uses the Rijndael |
792 | algorithm. | 792 | algorithm. |
793 | 793 | ||
794 | Rijndael appears to be consistently a very good performer in | 794 | Rijndael appears to be consistently a very good performer in |
795 | both hardware and software across a wide range of computing | 795 | both hardware and software across a wide range of computing |
796 | environments regardless of its use in feedback or non-feedback | 796 | environments regardless of its use in feedback or non-feedback |
797 | modes. Its key setup time is excellent, and its key agility is | 797 | modes. Its key setup time is excellent, and its key agility is |
798 | good. Rijndael's very low memory requirements make it very well | 798 | good. Rijndael's very low memory requirements make it very well |
799 | suited for restricted-space environments, in which it also | 799 | suited for restricted-space environments, in which it also |
800 | demonstrates excellent performance. Rijndael's operations are | 800 | demonstrates excellent performance. Rijndael's operations are |
801 | among the easiest to defend against power and timing attacks. | 801 | among the easiest to defend against power and timing attacks. |
802 | 802 | ||
803 | The AES specifies three key sizes: 128, 192 and 256 bits | 803 | The AES specifies three key sizes: 128, 192 and 256 bits |
804 | 804 | ||
805 | See <http://csrc.nist.gov/encryption/aes/> for more information. | 805 | See <http://csrc.nist.gov/encryption/aes/> for more information. |
806 | 806 | ||
807 | In addition to AES cipher algorithm support, the acceleration | 807 | In addition to AES cipher algorithm support, the acceleration |
808 | for some popular block cipher mode is supported too, including | 808 | for some popular block cipher mode is supported too, including |
809 | ECB and CBC. | 809 | ECB and CBC. |
810 | 810 | ||
811 | config CRYPTO_AES_ARM | 811 | config CRYPTO_AES_ARM |
812 | tristate "AES cipher algorithms (ARM-asm)" | 812 | tristate "AES cipher algorithms (ARM-asm)" |
813 | depends on ARM | 813 | depends on ARM |
814 | select CRYPTO_ALGAPI | 814 | select CRYPTO_ALGAPI |
815 | select CRYPTO_AES | 815 | select CRYPTO_AES |
816 | help | 816 | help |
817 | Use optimized AES assembler routines for ARM platforms. | 817 | Use optimized AES assembler routines for ARM platforms. |
818 | 818 | ||
819 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | 819 | AES cipher algorithms (FIPS-197). AES uses the Rijndael |
820 | algorithm. | 820 | algorithm. |
821 | 821 | ||
822 | Rijndael appears to be consistently a very good performer in | 822 | Rijndael appears to be consistently a very good performer in |
823 | both hardware and software across a wide range of computing | 823 | both hardware and software across a wide range of computing |
824 | environments regardless of its use in feedback or non-feedback | 824 | environments regardless of its use in feedback or non-feedback |
825 | modes. Its key setup time is excellent, and its key agility is | 825 | modes. Its key setup time is excellent, and its key agility is |
826 | good. Rijndael's very low memory requirements make it very well | 826 | good. Rijndael's very low memory requirements make it very well |
827 | suited for restricted-space environments, in which it also | 827 | suited for restricted-space environments, in which it also |
828 | demonstrates excellent performance. Rijndael's operations are | 828 | demonstrates excellent performance. Rijndael's operations are |
829 | among the easiest to defend against power and timing attacks. | 829 | among the easiest to defend against power and timing attacks. |
830 | 830 | ||
831 | The AES specifies three key sizes: 128, 192 and 256 bits | 831 | The AES specifies three key sizes: 128, 192 and 256 bits |
832 | 832 | ||
833 | See <http://csrc.nist.gov/encryption/aes/> for more information. | 833 | See <http://csrc.nist.gov/encryption/aes/> for more information. |
834 | 834 | ||
835 | config CRYPTO_AES_ARM_BS | 835 | config CRYPTO_AES_ARM_BS |
836 | tristate "Bit sliced AES using NEON instructions" | 836 | tristate "Bit sliced AES using NEON instructions" |
837 | depends on ARM && KERNEL_MODE_NEON | 837 | depends on ARM && KERNEL_MODE_NEON |
838 | select CRYPTO_ALGAPI | 838 | select CRYPTO_ALGAPI |
839 | select CRYPTO_AES_ARM | 839 | select CRYPTO_AES_ARM |
840 | select CRYPTO_ABLK_HELPER | 840 | select CRYPTO_ABLK_HELPER |
841 | help | 841 | help |
842 | Use a faster and more secure NEON based implementation of AES in CBC, | 842 | Use a faster and more secure NEON based implementation of AES in CBC, |
843 | CTR and XTS modes | 843 | CTR and XTS modes |
844 | 844 | ||
845 | Bit sliced AES gives around 45% speedup on Cortex-A15 for CTR mode | 845 | Bit sliced AES gives around 45% speedup on Cortex-A15 for CTR mode |
846 | and for XTS mode encryption, CBC and XTS mode decryption speedup is | 846 | and for XTS mode encryption, CBC and XTS mode decryption speedup is |
847 | around 25%. (CBC encryption speed is not affected by this driver.) | 847 | around 25%. (CBC encryption speed is not affected by this driver.) |
848 | This implementation does not rely on any lookup tables so it is | 848 | This implementation does not rely on any lookup tables so it is |
849 | believed to be invulnerable to cache timing attacks. | 849 | believed to be invulnerable to cache timing attacks. |
850 | 850 | ||
851 | config CRYPTO_ANUBIS | 851 | config CRYPTO_ANUBIS |
852 | tristate "Anubis cipher algorithm" | 852 | tristate "Anubis cipher algorithm" |
853 | select CRYPTO_ALGAPI | 853 | select CRYPTO_ALGAPI |
854 | help | 854 | help |
855 | Anubis cipher algorithm. | 855 | Anubis cipher algorithm. |
856 | 856 | ||
857 | Anubis is a variable key length cipher which can use keys from | 857 | Anubis is a variable key length cipher which can use keys from |
858 | 128 bits to 320 bits in length. It was evaluated as a entrant | 858 | 128 bits to 320 bits in length. It was evaluated as a entrant |
859 | in the NESSIE competition. | 859 | in the NESSIE competition. |
860 | 860 | ||
861 | See also: | 861 | See also: |
862 | <https://www.cosic.esat.kuleuven.be/nessie/reports/> | 862 | <https://www.cosic.esat.kuleuven.be/nessie/reports/> |
863 | <http://www.larc.usp.br/~pbarreto/AnubisPage.html> | 863 | <http://www.larc.usp.br/~pbarreto/AnubisPage.html> |
864 | 864 | ||
865 | config CRYPTO_ARC4 | 865 | config CRYPTO_ARC4 |
866 | tristate "ARC4 cipher algorithm" | 866 | tristate "ARC4 cipher algorithm" |
867 | select CRYPTO_BLKCIPHER | 867 | select CRYPTO_BLKCIPHER |
868 | help | 868 | help |
869 | ARC4 cipher algorithm. | 869 | ARC4 cipher algorithm. |
870 | 870 | ||
871 | ARC4 is a stream cipher using keys ranging from 8 bits to 2048 | 871 | ARC4 is a stream cipher using keys ranging from 8 bits to 2048 |
872 | bits in length. This algorithm is required for driver-based | 872 | bits in length. This algorithm is required for driver-based |
873 | WEP, but it should not be for other purposes because of the | 873 | WEP, but it should not be for other purposes because of the |
874 | weakness of the algorithm. | 874 | weakness of the algorithm. |
875 | 875 | ||
876 | config CRYPTO_BLOWFISH | 876 | config CRYPTO_BLOWFISH |
877 | tristate "Blowfish cipher algorithm" | 877 | tristate "Blowfish cipher algorithm" |
878 | select CRYPTO_ALGAPI | 878 | select CRYPTO_ALGAPI |
879 | select CRYPTO_BLOWFISH_COMMON | 879 | select CRYPTO_BLOWFISH_COMMON |
880 | help | 880 | help |
881 | Blowfish cipher algorithm, by Bruce Schneier. | 881 | Blowfish cipher algorithm, by Bruce Schneier. |
882 | 882 | ||
883 | This is a variable key length cipher which can use keys from 32 | 883 | This is a variable key length cipher which can use keys from 32 |
884 | bits to 448 bits in length. It's fast, simple and specifically | 884 | bits to 448 bits in length. It's fast, simple and specifically |
885 | designed for use on "large microprocessors". | 885 | designed for use on "large microprocessors". |
886 | 886 | ||
887 | See also: | 887 | See also: |
888 | <http://www.schneier.com/blowfish.html> | 888 | <http://www.schneier.com/blowfish.html> |
889 | 889 | ||
890 | config CRYPTO_BLOWFISH_COMMON | 890 | config CRYPTO_BLOWFISH_COMMON |
891 | tristate | 891 | tristate |
892 | help | 892 | help |
893 | Common parts of the Blowfish cipher algorithm shared by the | 893 | Common parts of the Blowfish cipher algorithm shared by the |
894 | generic c and the assembler implementations. | 894 | generic c and the assembler implementations. |
895 | 895 | ||
896 | See also: | 896 | See also: |
897 | <http://www.schneier.com/blowfish.html> | 897 | <http://www.schneier.com/blowfish.html> |
898 | 898 | ||
899 | config CRYPTO_BLOWFISH_X86_64 | 899 | config CRYPTO_BLOWFISH_X86_64 |
900 | tristate "Blowfish cipher algorithm (x86_64)" | 900 | tristate "Blowfish cipher algorithm (x86_64)" |
901 | depends on X86 && 64BIT | 901 | depends on X86 && 64BIT |
902 | select CRYPTO_ALGAPI | 902 | select CRYPTO_ALGAPI |
903 | select CRYPTO_BLOWFISH_COMMON | 903 | select CRYPTO_BLOWFISH_COMMON |
904 | help | 904 | help |
905 | Blowfish cipher algorithm (x86_64), by Bruce Schneier. | 905 | Blowfish cipher algorithm (x86_64), by Bruce Schneier. |
906 | 906 | ||
907 | This is a variable key length cipher which can use keys from 32 | 907 | This is a variable key length cipher which can use keys from 32 |
908 | bits to 448 bits in length. It's fast, simple and specifically | 908 | bits to 448 bits in length. It's fast, simple and specifically |
909 | designed for use on "large microprocessors". | 909 | designed for use on "large microprocessors". |
910 | 910 | ||
911 | See also: | 911 | See also: |
912 | <http://www.schneier.com/blowfish.html> | 912 | <http://www.schneier.com/blowfish.html> |
913 | 913 | ||
914 | config CRYPTO_CAMELLIA | 914 | config CRYPTO_CAMELLIA |
915 | tristate "Camellia cipher algorithms" | 915 | tristate "Camellia cipher algorithms" |
916 | depends on CRYPTO | 916 | depends on CRYPTO |
917 | select CRYPTO_ALGAPI | 917 | select CRYPTO_ALGAPI |
918 | help | 918 | help |
919 | Camellia cipher algorithms module. | 919 | Camellia cipher algorithms module. |
920 | 920 | ||
921 | Camellia is a symmetric key block cipher developed jointly | 921 | Camellia is a symmetric key block cipher developed jointly |
922 | at NTT and Mitsubishi Electric Corporation. | 922 | at NTT and Mitsubishi Electric Corporation. |
923 | 923 | ||
924 | The Camellia specifies three key sizes: 128, 192 and 256 bits. | 924 | The Camellia specifies three key sizes: 128, 192 and 256 bits. |
925 | 925 | ||
926 | See also: | 926 | See also: |
927 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> | 927 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> |
928 | 928 | ||
929 | config CRYPTO_CAMELLIA_X86_64 | 929 | config CRYPTO_CAMELLIA_X86_64 |
930 | tristate "Camellia cipher algorithm (x86_64)" | 930 | tristate "Camellia cipher algorithm (x86_64)" |
931 | depends on X86 && 64BIT | 931 | depends on X86 && 64BIT |
932 | depends on CRYPTO | 932 | depends on CRYPTO |
933 | select CRYPTO_ALGAPI | 933 | select CRYPTO_ALGAPI |
934 | select CRYPTO_GLUE_HELPER_X86 | 934 | select CRYPTO_GLUE_HELPER_X86 |
935 | select CRYPTO_LRW | 935 | select CRYPTO_LRW |
936 | select CRYPTO_XTS | 936 | select CRYPTO_XTS |
937 | help | 937 | help |
938 | Camellia cipher algorithm module (x86_64). | 938 | Camellia cipher algorithm module (x86_64). |
939 | 939 | ||
940 | Camellia is a symmetric key block cipher developed jointly | 940 | Camellia is a symmetric key block cipher developed jointly |
941 | at NTT and Mitsubishi Electric Corporation. | 941 | at NTT and Mitsubishi Electric Corporation. |
942 | 942 | ||
943 | The Camellia specifies three key sizes: 128, 192 and 256 bits. | 943 | The Camellia specifies three key sizes: 128, 192 and 256 bits. |
944 | 944 | ||
945 | See also: | 945 | See also: |
946 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> | 946 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> |
947 | 947 | ||
948 | config CRYPTO_CAMELLIA_AESNI_AVX_X86_64 | 948 | config CRYPTO_CAMELLIA_AESNI_AVX_X86_64 |
949 | tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX)" | 949 | tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX)" |
950 | depends on X86 && 64BIT | 950 | depends on X86 && 64BIT |
951 | depends on CRYPTO | 951 | depends on CRYPTO |
952 | select CRYPTO_ALGAPI | 952 | select CRYPTO_ALGAPI |
953 | select CRYPTO_CRYPTD | 953 | select CRYPTO_CRYPTD |
954 | select CRYPTO_ABLK_HELPER | 954 | select CRYPTO_ABLK_HELPER |
955 | select CRYPTO_GLUE_HELPER_X86 | 955 | select CRYPTO_GLUE_HELPER_X86 |
956 | select CRYPTO_CAMELLIA_X86_64 | 956 | select CRYPTO_CAMELLIA_X86_64 |
957 | select CRYPTO_LRW | 957 | select CRYPTO_LRW |
958 | select CRYPTO_XTS | 958 | select CRYPTO_XTS |
959 | help | 959 | help |
960 | Camellia cipher algorithm module (x86_64/AES-NI/AVX). | 960 | Camellia cipher algorithm module (x86_64/AES-NI/AVX). |
961 | 961 | ||
962 | Camellia is a symmetric key block cipher developed jointly | 962 | Camellia is a symmetric key block cipher developed jointly |
963 | at NTT and Mitsubishi Electric Corporation. | 963 | at NTT and Mitsubishi Electric Corporation. |
964 | 964 | ||
965 | The Camellia specifies three key sizes: 128, 192 and 256 bits. | 965 | The Camellia specifies three key sizes: 128, 192 and 256 bits. |
966 | 966 | ||
967 | See also: | 967 | See also: |
968 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> | 968 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> |
969 | 969 | ||
970 | config CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 | 970 | config CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 |
971 | tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX2)" | 971 | tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX2)" |
972 | depends on X86 && 64BIT | 972 | depends on X86 && 64BIT |
973 | depends on CRYPTO | 973 | depends on CRYPTO |
974 | select CRYPTO_ALGAPI | 974 | select CRYPTO_ALGAPI |
975 | select CRYPTO_CRYPTD | 975 | select CRYPTO_CRYPTD |
976 | select CRYPTO_ABLK_HELPER | 976 | select CRYPTO_ABLK_HELPER |
977 | select CRYPTO_GLUE_HELPER_X86 | 977 | select CRYPTO_GLUE_HELPER_X86 |
978 | select CRYPTO_CAMELLIA_X86_64 | 978 | select CRYPTO_CAMELLIA_X86_64 |
979 | select CRYPTO_CAMELLIA_AESNI_AVX_X86_64 | 979 | select CRYPTO_CAMELLIA_AESNI_AVX_X86_64 |
980 | select CRYPTO_LRW | 980 | select CRYPTO_LRW |
981 | select CRYPTO_XTS | 981 | select CRYPTO_XTS |
982 | help | 982 | help |
983 | Camellia cipher algorithm module (x86_64/AES-NI/AVX2). | 983 | Camellia cipher algorithm module (x86_64/AES-NI/AVX2). |
984 | 984 | ||
985 | Camellia is a symmetric key block cipher developed jointly | 985 | Camellia is a symmetric key block cipher developed jointly |
986 | at NTT and Mitsubishi Electric Corporation. | 986 | at NTT and Mitsubishi Electric Corporation. |
987 | 987 | ||
988 | The Camellia specifies three key sizes: 128, 192 and 256 bits. | 988 | The Camellia specifies three key sizes: 128, 192 and 256 bits. |
989 | 989 | ||
990 | See also: | 990 | See also: |
991 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> | 991 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> |
992 | 992 | ||
993 | config CRYPTO_CAMELLIA_SPARC64 | 993 | config CRYPTO_CAMELLIA_SPARC64 |
994 | tristate "Camellia cipher algorithm (SPARC64)" | 994 | tristate "Camellia cipher algorithm (SPARC64)" |
995 | depends on SPARC64 | 995 | depends on SPARC64 |
996 | depends on CRYPTO | 996 | depends on CRYPTO |
997 | select CRYPTO_ALGAPI | 997 | select CRYPTO_ALGAPI |
998 | help | 998 | help |
999 | Camellia cipher algorithm module (SPARC64). | 999 | Camellia cipher algorithm module (SPARC64). |
1000 | 1000 | ||
1001 | Camellia is a symmetric key block cipher developed jointly | 1001 | Camellia is a symmetric key block cipher developed jointly |
1002 | at NTT and Mitsubishi Electric Corporation. | 1002 | at NTT and Mitsubishi Electric Corporation. |
1003 | 1003 | ||
1004 | The Camellia specifies three key sizes: 128, 192 and 256 bits. | 1004 | The Camellia specifies three key sizes: 128, 192 and 256 bits. |
1005 | 1005 | ||
1006 | See also: | 1006 | See also: |
1007 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> | 1007 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> |
1008 | 1008 | ||
1009 | config CRYPTO_CAST_COMMON | 1009 | config CRYPTO_CAST_COMMON |
1010 | tristate | 1010 | tristate |
1011 | help | 1011 | help |
1012 | Common parts of the CAST cipher algorithms shared by the | 1012 | Common parts of the CAST cipher algorithms shared by the |
1013 | generic c and the assembler implementations. | 1013 | generic c and the assembler implementations. |
1014 | 1014 | ||
1015 | config CRYPTO_CAST5 | 1015 | config CRYPTO_CAST5 |
1016 | tristate "CAST5 (CAST-128) cipher algorithm" | 1016 | tristate "CAST5 (CAST-128) cipher algorithm" |
1017 | select CRYPTO_ALGAPI | 1017 | select CRYPTO_ALGAPI |
1018 | select CRYPTO_CAST_COMMON | 1018 | select CRYPTO_CAST_COMMON |
1019 | help | 1019 | help |
1020 | The CAST5 encryption algorithm (synonymous with CAST-128) is | 1020 | The CAST5 encryption algorithm (synonymous with CAST-128) is |
1021 | described in RFC2144. | 1021 | described in RFC2144. |
1022 | 1022 | ||
1023 | config CRYPTO_CAST5_AVX_X86_64 | 1023 | config CRYPTO_CAST5_AVX_X86_64 |
1024 | tristate "CAST5 (CAST-128) cipher algorithm (x86_64/AVX)" | 1024 | tristate "CAST5 (CAST-128) cipher algorithm (x86_64/AVX)" |
1025 | depends on X86 && 64BIT | 1025 | depends on X86 && 64BIT |
1026 | select CRYPTO_ALGAPI | 1026 | select CRYPTO_ALGAPI |
1027 | select CRYPTO_CRYPTD | 1027 | select CRYPTO_CRYPTD |
1028 | select CRYPTO_ABLK_HELPER | 1028 | select CRYPTO_ABLK_HELPER |
1029 | select CRYPTO_CAST_COMMON | 1029 | select CRYPTO_CAST_COMMON |
1030 | select CRYPTO_CAST5 | 1030 | select CRYPTO_CAST5 |
1031 | help | 1031 | help |
1032 | The CAST5 encryption algorithm (synonymous with CAST-128) is | 1032 | The CAST5 encryption algorithm (synonymous with CAST-128) is |
1033 | described in RFC2144. | 1033 | described in RFC2144. |
1034 | 1034 | ||
1035 | This module provides the Cast5 cipher algorithm that processes | 1035 | This module provides the Cast5 cipher algorithm that processes |
1036 | sixteen blocks parallel using the AVX instruction set. | 1036 | sixteen blocks parallel using the AVX instruction set. |
1037 | 1037 | ||
1038 | config CRYPTO_CAST6 | 1038 | config CRYPTO_CAST6 |
1039 | tristate "CAST6 (CAST-256) cipher algorithm" | 1039 | tristate "CAST6 (CAST-256) cipher algorithm" |
1040 | select CRYPTO_ALGAPI | 1040 | select CRYPTO_ALGAPI |
1041 | select CRYPTO_CAST_COMMON | 1041 | select CRYPTO_CAST_COMMON |
1042 | help | 1042 | help |
1043 | The CAST6 encryption algorithm (synonymous with CAST-256) is | 1043 | The CAST6 encryption algorithm (synonymous with CAST-256) is |
1044 | described in RFC2612. | 1044 | described in RFC2612. |
1045 | 1045 | ||
1046 | config CRYPTO_CAST6_AVX_X86_64 | 1046 | config CRYPTO_CAST6_AVX_X86_64 |
1047 | tristate "CAST6 (CAST-256) cipher algorithm (x86_64/AVX)" | 1047 | tristate "CAST6 (CAST-256) cipher algorithm (x86_64/AVX)" |
1048 | depends on X86 && 64BIT | 1048 | depends on X86 && 64BIT |
1049 | select CRYPTO_ALGAPI | 1049 | select CRYPTO_ALGAPI |
1050 | select CRYPTO_CRYPTD | 1050 | select CRYPTO_CRYPTD |
1051 | select CRYPTO_ABLK_HELPER | 1051 | select CRYPTO_ABLK_HELPER |
1052 | select CRYPTO_GLUE_HELPER_X86 | 1052 | select CRYPTO_GLUE_HELPER_X86 |
1053 | select CRYPTO_CAST_COMMON | 1053 | select CRYPTO_CAST_COMMON |
1054 | select CRYPTO_CAST6 | 1054 | select CRYPTO_CAST6 |
1055 | select CRYPTO_LRW | 1055 | select CRYPTO_LRW |
1056 | select CRYPTO_XTS | 1056 | select CRYPTO_XTS |
1057 | help | 1057 | help |
1058 | The CAST6 encryption algorithm (synonymous with CAST-256) is | 1058 | The CAST6 encryption algorithm (synonymous with CAST-256) is |
1059 | described in RFC2612. | 1059 | described in RFC2612. |
1060 | 1060 | ||
1061 | This module provides the Cast6 cipher algorithm that processes | 1061 | This module provides the Cast6 cipher algorithm that processes |
1062 | eight blocks parallel using the AVX instruction set. | 1062 | eight blocks parallel using the AVX instruction set. |
1063 | 1063 | ||
1064 | config CRYPTO_DES | 1064 | config CRYPTO_DES |
1065 | tristate "DES and Triple DES EDE cipher algorithms" | 1065 | tristate "DES and Triple DES EDE cipher algorithms" |
1066 | select CRYPTO_ALGAPI | 1066 | select CRYPTO_ALGAPI |
1067 | help | 1067 | help |
1068 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). | 1068 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). |
1069 | 1069 | ||
1070 | config CRYPTO_DES_SPARC64 | 1070 | config CRYPTO_DES_SPARC64 |
1071 | tristate "DES and Triple DES EDE cipher algorithms (SPARC64)" | 1071 | tristate "DES and Triple DES EDE cipher algorithms (SPARC64)" |
1072 | depends on SPARC64 | 1072 | depends on SPARC64 |
1073 | select CRYPTO_ALGAPI | 1073 | select CRYPTO_ALGAPI |
1074 | select CRYPTO_DES | 1074 | select CRYPTO_DES |
1075 | help | 1075 | help |
1076 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3), | 1076 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3), |
1077 | optimized using SPARC64 crypto opcodes. | 1077 | optimized using SPARC64 crypto opcodes. |
1078 | 1078 | ||
1079 | config CRYPTO_DES3_EDE_X86_64 | 1079 | config CRYPTO_DES3_EDE_X86_64 |
1080 | tristate "Triple DES EDE cipher algorithm (x86-64)" | 1080 | tristate "Triple DES EDE cipher algorithm (x86-64)" |
1081 | depends on X86 && 64BIT | 1081 | depends on X86 && 64BIT |
1082 | select CRYPTO_ALGAPI | 1082 | select CRYPTO_ALGAPI |
1083 | select CRYPTO_DES | 1083 | select CRYPTO_DES |
1084 | help | 1084 | help |
1085 | Triple DES EDE (FIPS 46-3) algorithm. | 1085 | Triple DES EDE (FIPS 46-3) algorithm. |
1086 | 1086 | ||
1087 | This module provides implementation of the Triple DES EDE cipher | 1087 | This module provides implementation of the Triple DES EDE cipher |
1088 | algorithm that is optimized for x86-64 processors. Two versions of | 1088 | algorithm that is optimized for x86-64 processors. Two versions of |
1089 | algorithm are provided; regular processing one input block and | 1089 | algorithm are provided; regular processing one input block and |
1090 | one that processes three blocks parallel. | 1090 | one that processes three blocks parallel. |
1091 | 1091 | ||
1092 | config CRYPTO_FCRYPT | 1092 | config CRYPTO_FCRYPT |
1093 | tristate "FCrypt cipher algorithm" | 1093 | tristate "FCrypt cipher algorithm" |
1094 | select CRYPTO_ALGAPI | 1094 | select CRYPTO_ALGAPI |
1095 | select CRYPTO_BLKCIPHER | 1095 | select CRYPTO_BLKCIPHER |
1096 | help | 1096 | help |
1097 | FCrypt algorithm used by RxRPC. | 1097 | FCrypt algorithm used by RxRPC. |
1098 | 1098 | ||
1099 | config CRYPTO_KHAZAD | 1099 | config CRYPTO_KHAZAD |
1100 | tristate "Khazad cipher algorithm" | 1100 | tristate "Khazad cipher algorithm" |
1101 | select CRYPTO_ALGAPI | 1101 | select CRYPTO_ALGAPI |
1102 | help | 1102 | help |
1103 | Khazad cipher algorithm. | 1103 | Khazad cipher algorithm. |
1104 | 1104 | ||
1105 | Khazad was a finalist in the initial NESSIE competition. It is | 1105 | Khazad was a finalist in the initial NESSIE competition. It is |
1106 | an algorithm optimized for 64-bit processors with good performance | 1106 | an algorithm optimized for 64-bit processors with good performance |
1107 | on 32-bit processors. Khazad uses an 128 bit key size. | 1107 | on 32-bit processors. Khazad uses an 128 bit key size. |
1108 | 1108 | ||
1109 | See also: | 1109 | See also: |
1110 | <http://www.larc.usp.br/~pbarreto/KhazadPage.html> | 1110 | <http://www.larc.usp.br/~pbarreto/KhazadPage.html> |
1111 | 1111 | ||
1112 | config CRYPTO_SALSA20 | 1112 | config CRYPTO_SALSA20 |
1113 | tristate "Salsa20 stream cipher algorithm" | 1113 | tristate "Salsa20 stream cipher algorithm" |
1114 | select CRYPTO_BLKCIPHER | 1114 | select CRYPTO_BLKCIPHER |
1115 | help | 1115 | help |
1116 | Salsa20 stream cipher algorithm. | 1116 | Salsa20 stream cipher algorithm. |
1117 | 1117 | ||
1118 | Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT | 1118 | Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT |
1119 | Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> | 1119 | Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> |
1120 | 1120 | ||
1121 | The Salsa20 stream cipher algorithm is designed by Daniel J. | 1121 | The Salsa20 stream cipher algorithm is designed by Daniel J. |
1122 | Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> | 1122 | Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> |
1123 | 1123 | ||
1124 | config CRYPTO_SALSA20_586 | 1124 | config CRYPTO_SALSA20_586 |
1125 | tristate "Salsa20 stream cipher algorithm (i586)" | 1125 | tristate "Salsa20 stream cipher algorithm (i586)" |
1126 | depends on (X86 || UML_X86) && !64BIT | 1126 | depends on (X86 || UML_X86) && !64BIT |
1127 | select CRYPTO_BLKCIPHER | 1127 | select CRYPTO_BLKCIPHER |
1128 | help | 1128 | help |
1129 | Salsa20 stream cipher algorithm. | 1129 | Salsa20 stream cipher algorithm. |
1130 | 1130 | ||
1131 | Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT | 1131 | Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT |
1132 | Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> | 1132 | Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> |
1133 | 1133 | ||
1134 | The Salsa20 stream cipher algorithm is designed by Daniel J. | 1134 | The Salsa20 stream cipher algorithm is designed by Daniel J. |
1135 | Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> | 1135 | Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> |
1136 | 1136 | ||
1137 | config CRYPTO_SALSA20_X86_64 | 1137 | config CRYPTO_SALSA20_X86_64 |
1138 | tristate "Salsa20 stream cipher algorithm (x86_64)" | 1138 | tristate "Salsa20 stream cipher algorithm (x86_64)" |
1139 | depends on (X86 || UML_X86) && 64BIT | 1139 | depends on (X86 || UML_X86) && 64BIT |
1140 | select CRYPTO_BLKCIPHER | 1140 | select CRYPTO_BLKCIPHER |
1141 | help | 1141 | help |
1142 | Salsa20 stream cipher algorithm. | 1142 | Salsa20 stream cipher algorithm. |
1143 | 1143 | ||
1144 | Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT | 1144 | Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT |
1145 | Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> | 1145 | Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> |
1146 | 1146 | ||
1147 | The Salsa20 stream cipher algorithm is designed by Daniel J. | 1147 | The Salsa20 stream cipher algorithm is designed by Daniel J. |
1148 | Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> | 1148 | Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> |
1149 | 1149 | ||
1150 | config CRYPTO_SEED | 1150 | config CRYPTO_SEED |
1151 | tristate "SEED cipher algorithm" | 1151 | tristate "SEED cipher algorithm" |
1152 | select CRYPTO_ALGAPI | 1152 | select CRYPTO_ALGAPI |
1153 | help | 1153 | help |
1154 | SEED cipher algorithm (RFC4269). | 1154 | SEED cipher algorithm (RFC4269). |
1155 | 1155 | ||
1156 | SEED is a 128-bit symmetric key block cipher that has been | 1156 | SEED is a 128-bit symmetric key block cipher that has been |
1157 | developed by KISA (Korea Information Security Agency) as a | 1157 | developed by KISA (Korea Information Security Agency) as a |
1158 | national standard encryption algorithm of the Republic of Korea. | 1158 | national standard encryption algorithm of the Republic of Korea. |
1159 | It is a 16 round block cipher with the key size of 128 bit. | 1159 | It is a 16 round block cipher with the key size of 128 bit. |
1160 | 1160 | ||
1161 | See also: | 1161 | See also: |
1162 | <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp> | 1162 | <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp> |
1163 | 1163 | ||
1164 | config CRYPTO_SERPENT | 1164 | config CRYPTO_SERPENT |
1165 | tristate "Serpent cipher algorithm" | 1165 | tristate "Serpent cipher algorithm" |
1166 | select CRYPTO_ALGAPI | 1166 | select CRYPTO_ALGAPI |
1167 | help | 1167 | help |
1168 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. | 1168 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. |
1169 | 1169 | ||
1170 | Keys are allowed to be from 0 to 256 bits in length, in steps | 1170 | Keys are allowed to be from 0 to 256 bits in length, in steps |
1171 | of 8 bits. Also includes the 'Tnepres' algorithm, a reversed | 1171 | of 8 bits. Also includes the 'Tnepres' algorithm, a reversed |
1172 | variant of Serpent for compatibility with old kerneli.org code. | 1172 | variant of Serpent for compatibility with old kerneli.org code. |
1173 | 1173 | ||
1174 | See also: | 1174 | See also: |
1175 | <http://www.cl.cam.ac.uk/~rja14/serpent.html> | 1175 | <http://www.cl.cam.ac.uk/~rja14/serpent.html> |
1176 | 1176 | ||
1177 | config CRYPTO_SERPENT_SSE2_X86_64 | 1177 | config CRYPTO_SERPENT_SSE2_X86_64 |
1178 | tristate "Serpent cipher algorithm (x86_64/SSE2)" | 1178 | tristate "Serpent cipher algorithm (x86_64/SSE2)" |
1179 | depends on X86 && 64BIT | 1179 | depends on X86 && 64BIT |
1180 | select CRYPTO_ALGAPI | 1180 | select CRYPTO_ALGAPI |
1181 | select CRYPTO_CRYPTD | 1181 | select CRYPTO_CRYPTD |
1182 | select CRYPTO_ABLK_HELPER | 1182 | select CRYPTO_ABLK_HELPER |
1183 | select CRYPTO_GLUE_HELPER_X86 | 1183 | select CRYPTO_GLUE_HELPER_X86 |
1184 | select CRYPTO_SERPENT | 1184 | select CRYPTO_SERPENT |
1185 | select CRYPTO_LRW | 1185 | select CRYPTO_LRW |
1186 | select CRYPTO_XTS | 1186 | select CRYPTO_XTS |
1187 | help | 1187 | help |
1188 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. | 1188 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. |
1189 | 1189 | ||
1190 | Keys are allowed to be from 0 to 256 bits in length, in steps | 1190 | Keys are allowed to be from 0 to 256 bits in length, in steps |
1191 | of 8 bits. | 1191 | of 8 bits. |
1192 | 1192 | ||
1193 | This module provides Serpent cipher algorithm that processes eigth | 1193 | This module provides Serpent cipher algorithm that processes eigth |
1194 | blocks parallel using SSE2 instruction set. | 1194 | blocks parallel using SSE2 instruction set. |
1195 | 1195 | ||
1196 | See also: | 1196 | See also: |
1197 | <http://www.cl.cam.ac.uk/~rja14/serpent.html> | 1197 | <http://www.cl.cam.ac.uk/~rja14/serpent.html> |
1198 | 1198 | ||
1199 | config CRYPTO_SERPENT_SSE2_586 | 1199 | config CRYPTO_SERPENT_SSE2_586 |
1200 | tristate "Serpent cipher algorithm (i586/SSE2)" | 1200 | tristate "Serpent cipher algorithm (i586/SSE2)" |
1201 | depends on X86 && !64BIT | 1201 | depends on X86 && !64BIT |
1202 | select CRYPTO_ALGAPI | 1202 | select CRYPTO_ALGAPI |
1203 | select CRYPTO_CRYPTD | 1203 | select CRYPTO_CRYPTD |
1204 | select CRYPTO_ABLK_HELPER | 1204 | select CRYPTO_ABLK_HELPER |
1205 | select CRYPTO_GLUE_HELPER_X86 | 1205 | select CRYPTO_GLUE_HELPER_X86 |
1206 | select CRYPTO_SERPENT | 1206 | select CRYPTO_SERPENT |
1207 | select CRYPTO_LRW | 1207 | select CRYPTO_LRW |
1208 | select CRYPTO_XTS | 1208 | select CRYPTO_XTS |
1209 | help | 1209 | help |
1210 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. | 1210 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. |
1211 | 1211 | ||
1212 | Keys are allowed to be from 0 to 256 bits in length, in steps | 1212 | Keys are allowed to be from 0 to 256 bits in length, in steps |
1213 | of 8 bits. | 1213 | of 8 bits. |
1214 | 1214 | ||
1215 | This module provides Serpent cipher algorithm that processes four | 1215 | This module provides Serpent cipher algorithm that processes four |
1216 | blocks parallel using SSE2 instruction set. | 1216 | blocks parallel using SSE2 instruction set. |
1217 | 1217 | ||
1218 | See also: | 1218 | See also: |
1219 | <http://www.cl.cam.ac.uk/~rja14/serpent.html> | 1219 | <http://www.cl.cam.ac.uk/~rja14/serpent.html> |
1220 | 1220 | ||
1221 | config CRYPTO_SERPENT_AVX_X86_64 | 1221 | config CRYPTO_SERPENT_AVX_X86_64 |
1222 | tristate "Serpent cipher algorithm (x86_64/AVX)" | 1222 | tristate "Serpent cipher algorithm (x86_64/AVX)" |
1223 | depends on X86 && 64BIT | 1223 | depends on X86 && 64BIT |
1224 | select CRYPTO_ALGAPI | 1224 | select CRYPTO_ALGAPI |
1225 | select CRYPTO_CRYPTD | 1225 | select CRYPTO_CRYPTD |
1226 | select CRYPTO_ABLK_HELPER | 1226 | select CRYPTO_ABLK_HELPER |
1227 | select CRYPTO_GLUE_HELPER_X86 | 1227 | select CRYPTO_GLUE_HELPER_X86 |
1228 | select CRYPTO_SERPENT | 1228 | select CRYPTO_SERPENT |
1229 | select CRYPTO_LRW | 1229 | select CRYPTO_LRW |
1230 | select CRYPTO_XTS | 1230 | select CRYPTO_XTS |
1231 | help | 1231 | help |
1232 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. | 1232 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. |
1233 | 1233 | ||
1234 | Keys are allowed to be from 0 to 256 bits in length, in steps | 1234 | Keys are allowed to be from 0 to 256 bits in length, in steps |
1235 | of 8 bits. | 1235 | of 8 bits. |
1236 | 1236 | ||
1237 | This module provides the Serpent cipher algorithm that processes | 1237 | This module provides the Serpent cipher algorithm that processes |
1238 | eight blocks parallel using the AVX instruction set. | 1238 | eight blocks parallel using the AVX instruction set. |
1239 | 1239 | ||
1240 | See also: | 1240 | See also: |
1241 | <http://www.cl.cam.ac.uk/~rja14/serpent.html> | 1241 | <http://www.cl.cam.ac.uk/~rja14/serpent.html> |
1242 | 1242 | ||
1243 | config CRYPTO_SERPENT_AVX2_X86_64 | 1243 | config CRYPTO_SERPENT_AVX2_X86_64 |
1244 | tristate "Serpent cipher algorithm (x86_64/AVX2)" | 1244 | tristate "Serpent cipher algorithm (x86_64/AVX2)" |
1245 | depends on X86 && 64BIT | 1245 | depends on X86 && 64BIT |
1246 | select CRYPTO_ALGAPI | 1246 | select CRYPTO_ALGAPI |
1247 | select CRYPTO_CRYPTD | 1247 | select CRYPTO_CRYPTD |
1248 | select CRYPTO_ABLK_HELPER | 1248 | select CRYPTO_ABLK_HELPER |
1249 | select CRYPTO_GLUE_HELPER_X86 | 1249 | select CRYPTO_GLUE_HELPER_X86 |
1250 | select CRYPTO_SERPENT | 1250 | select CRYPTO_SERPENT |
1251 | select CRYPTO_SERPENT_AVX_X86_64 | 1251 | select CRYPTO_SERPENT_AVX_X86_64 |
1252 | select CRYPTO_LRW | 1252 | select CRYPTO_LRW |
1253 | select CRYPTO_XTS | 1253 | select CRYPTO_XTS |
1254 | help | 1254 | help |
1255 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. | 1255 | Serpent cipher algorithm, by Anderson, Biham & Knudsen. |
1256 | 1256 | ||
1257 | Keys are allowed to be from 0 to 256 bits in length, in steps | 1257 | Keys are allowed to be from 0 to 256 bits in length, in steps |
1258 | of 8 bits. | 1258 | of 8 bits. |
1259 | 1259 | ||
1260 | This module provides Serpent cipher algorithm that processes 16 | 1260 | This module provides Serpent cipher algorithm that processes 16 |
1261 | blocks parallel using AVX2 instruction set. | 1261 | blocks parallel using AVX2 instruction set. |
1262 | 1262 | ||
1263 | See also: | 1263 | See also: |
1264 | <http://www.cl.cam.ac.uk/~rja14/serpent.html> | 1264 | <http://www.cl.cam.ac.uk/~rja14/serpent.html> |
1265 | 1265 | ||
1266 | config CRYPTO_TEA | 1266 | config CRYPTO_TEA |
1267 | tristate "TEA, XTEA and XETA cipher algorithms" | 1267 | tristate "TEA, XTEA and XETA cipher algorithms" |
1268 | select CRYPTO_ALGAPI | 1268 | select CRYPTO_ALGAPI |
1269 | help | 1269 | help |
1270 | TEA cipher algorithm. | 1270 | TEA cipher algorithm. |
1271 | 1271 | ||
1272 | Tiny Encryption Algorithm is a simple cipher that uses | 1272 | Tiny Encryption Algorithm is a simple cipher that uses |
1273 | many rounds for security. It is very fast and uses | 1273 | many rounds for security. It is very fast and uses |
1274 | little memory. | 1274 | little memory. |
1275 | 1275 | ||
1276 | Xtendend Tiny Encryption Algorithm is a modification to | 1276 | Xtendend Tiny Encryption Algorithm is a modification to |
1277 | the TEA algorithm to address a potential key weakness | 1277 | the TEA algorithm to address a potential key weakness |
1278 | in the TEA algorithm. | 1278 | in the TEA algorithm. |
1279 | 1279 | ||
1280 | Xtendend Encryption Tiny Algorithm is a mis-implementation | 1280 | Xtendend Encryption Tiny Algorithm is a mis-implementation |
1281 | of the XTEA algorithm for compatibility purposes. | 1281 | of the XTEA algorithm for compatibility purposes. |
1282 | 1282 | ||
1283 | config CRYPTO_TWOFISH | 1283 | config CRYPTO_TWOFISH |
1284 | tristate "Twofish cipher algorithm" | 1284 | tristate "Twofish cipher algorithm" |
1285 | select CRYPTO_ALGAPI | 1285 | select CRYPTO_ALGAPI |
1286 | select CRYPTO_TWOFISH_COMMON | 1286 | select CRYPTO_TWOFISH_COMMON |
1287 | help | 1287 | help |
1288 | Twofish cipher algorithm. | 1288 | Twofish cipher algorithm. |
1289 | 1289 | ||
1290 | Twofish was submitted as an AES (Advanced Encryption Standard) | 1290 | Twofish was submitted as an AES (Advanced Encryption Standard) |
1291 | candidate cipher by researchers at CounterPane Systems. It is a | 1291 | candidate cipher by researchers at CounterPane Systems. It is a |
1292 | 16 round block cipher supporting key sizes of 128, 192, and 256 | 1292 | 16 round block cipher supporting key sizes of 128, 192, and 256 |
1293 | bits. | 1293 | bits. |
1294 | 1294 | ||
1295 | See also: | 1295 | See also: |
1296 | <http://www.schneier.com/twofish.html> | 1296 | <http://www.schneier.com/twofish.html> |
1297 | 1297 | ||
1298 | config CRYPTO_TWOFISH_COMMON | 1298 | config CRYPTO_TWOFISH_COMMON |
1299 | tristate | 1299 | tristate |
1300 | help | 1300 | help |
1301 | Common parts of the Twofish cipher algorithm shared by the | 1301 | Common parts of the Twofish cipher algorithm shared by the |
1302 | generic c and the assembler implementations. | 1302 | generic c and the assembler implementations. |
1303 | 1303 | ||
1304 | config CRYPTO_TWOFISH_586 | 1304 | config CRYPTO_TWOFISH_586 |
1305 | tristate "Twofish cipher algorithms (i586)" | 1305 | tristate "Twofish cipher algorithms (i586)" |
1306 | depends on (X86 || UML_X86) && !64BIT | 1306 | depends on (X86 || UML_X86) && !64BIT |
1307 | select CRYPTO_ALGAPI | 1307 | select CRYPTO_ALGAPI |
1308 | select CRYPTO_TWOFISH_COMMON | 1308 | select CRYPTO_TWOFISH_COMMON |
1309 | help | 1309 | help |
1310 | Twofish cipher algorithm. | 1310 | Twofish cipher algorithm. |
1311 | 1311 | ||
1312 | Twofish was submitted as an AES (Advanced Encryption Standard) | 1312 | Twofish was submitted as an AES (Advanced Encryption Standard) |
1313 | candidate cipher by researchers at CounterPane Systems. It is a | 1313 | candidate cipher by researchers at CounterPane Systems. It is a |
1314 | 16 round block cipher supporting key sizes of 128, 192, and 256 | 1314 | 16 round block cipher supporting key sizes of 128, 192, and 256 |
1315 | bits. | 1315 | bits. |
1316 | 1316 | ||
1317 | See also: | 1317 | See also: |
1318 | <http://www.schneier.com/twofish.html> | 1318 | <http://www.schneier.com/twofish.html> |
1319 | 1319 | ||
1320 | config CRYPTO_TWOFISH_X86_64 | 1320 | config CRYPTO_TWOFISH_X86_64 |
1321 | tristate "Twofish cipher algorithm (x86_64)" | 1321 | tristate "Twofish cipher algorithm (x86_64)" |
1322 | depends on (X86 || UML_X86) && 64BIT | 1322 | depends on (X86 || UML_X86) && 64BIT |
1323 | select CRYPTO_ALGAPI | 1323 | select CRYPTO_ALGAPI |
1324 | select CRYPTO_TWOFISH_COMMON | 1324 | select CRYPTO_TWOFISH_COMMON |
1325 | help | 1325 | help |
1326 | Twofish cipher algorithm (x86_64). | 1326 | Twofish cipher algorithm (x86_64). |
1327 | 1327 | ||
1328 | Twofish was submitted as an AES (Advanced Encryption Standard) | 1328 | Twofish was submitted as an AES (Advanced Encryption Standard) |
1329 | candidate cipher by researchers at CounterPane Systems. It is a | 1329 | candidate cipher by researchers at CounterPane Systems. It is a |
1330 | 16 round block cipher supporting key sizes of 128, 192, and 256 | 1330 | 16 round block cipher supporting key sizes of 128, 192, and 256 |
1331 | bits. | 1331 | bits. |
1332 | 1332 | ||
1333 | See also: | 1333 | See also: |
1334 | <http://www.schneier.com/twofish.html> | 1334 | <http://www.schneier.com/twofish.html> |
1335 | 1335 | ||
1336 | config CRYPTO_TWOFISH_X86_64_3WAY | 1336 | config CRYPTO_TWOFISH_X86_64_3WAY |
1337 | tristate "Twofish cipher algorithm (x86_64, 3-way parallel)" | 1337 | tristate "Twofish cipher algorithm (x86_64, 3-way parallel)" |
1338 | depends on X86 && 64BIT | 1338 | depends on X86 && 64BIT |
1339 | select CRYPTO_ALGAPI | 1339 | select CRYPTO_ALGAPI |
1340 | select CRYPTO_TWOFISH_COMMON | 1340 | select CRYPTO_TWOFISH_COMMON |
1341 | select CRYPTO_TWOFISH_X86_64 | 1341 | select CRYPTO_TWOFISH_X86_64 |
1342 | select CRYPTO_GLUE_HELPER_X86 | 1342 | select CRYPTO_GLUE_HELPER_X86 |
1343 | select CRYPTO_LRW | 1343 | select CRYPTO_LRW |
1344 | select CRYPTO_XTS | 1344 | select CRYPTO_XTS |
1345 | help | 1345 | help |
1346 | Twofish cipher algorithm (x86_64, 3-way parallel). | 1346 | Twofish cipher algorithm (x86_64, 3-way parallel). |
1347 | 1347 | ||
1348 | Twofish was submitted as an AES (Advanced Encryption Standard) | 1348 | Twofish was submitted as an AES (Advanced Encryption Standard) |
1349 | candidate cipher by researchers at CounterPane Systems. It is a | 1349 | candidate cipher by researchers at CounterPane Systems. It is a |
1350 | 16 round block cipher supporting key sizes of 128, 192, and 256 | 1350 | 16 round block cipher supporting key sizes of 128, 192, and 256 |
1351 | bits. | 1351 | bits. |
1352 | 1352 | ||
1353 | This module provides Twofish cipher algorithm that processes three | 1353 | This module provides Twofish cipher algorithm that processes three |
1354 | blocks parallel, utilizing resources of out-of-order CPUs better. | 1354 | blocks parallel, utilizing resources of out-of-order CPUs better. |
1355 | 1355 | ||
1356 | See also: | 1356 | See also: |
1357 | <http://www.schneier.com/twofish.html> | 1357 | <http://www.schneier.com/twofish.html> |
1358 | 1358 | ||
1359 | config CRYPTO_TWOFISH_AVX_X86_64 | 1359 | config CRYPTO_TWOFISH_AVX_X86_64 |
1360 | tristate "Twofish cipher algorithm (x86_64/AVX)" | 1360 | tristate "Twofish cipher algorithm (x86_64/AVX)" |
1361 | depends on X86 && 64BIT | 1361 | depends on X86 && 64BIT |
1362 | select CRYPTO_ALGAPI | 1362 | select CRYPTO_ALGAPI |
1363 | select CRYPTO_CRYPTD | 1363 | select CRYPTO_CRYPTD |
1364 | select CRYPTO_ABLK_HELPER | 1364 | select CRYPTO_ABLK_HELPER |
1365 | select CRYPTO_GLUE_HELPER_X86 | 1365 | select CRYPTO_GLUE_HELPER_X86 |
1366 | select CRYPTO_TWOFISH_COMMON | 1366 | select CRYPTO_TWOFISH_COMMON |
1367 | select CRYPTO_TWOFISH_X86_64 | 1367 | select CRYPTO_TWOFISH_X86_64 |
1368 | select CRYPTO_TWOFISH_X86_64_3WAY | 1368 | select CRYPTO_TWOFISH_X86_64_3WAY |
1369 | select CRYPTO_LRW | 1369 | select CRYPTO_LRW |
1370 | select CRYPTO_XTS | 1370 | select CRYPTO_XTS |
1371 | help | 1371 | help |
1372 | Twofish cipher algorithm (x86_64/AVX). | 1372 | Twofish cipher algorithm (x86_64/AVX). |
1373 | 1373 | ||
1374 | Twofish was submitted as an AES (Advanced Encryption Standard) | 1374 | Twofish was submitted as an AES (Advanced Encryption Standard) |
1375 | candidate cipher by researchers at CounterPane Systems. It is a | 1375 | candidate cipher by researchers at CounterPane Systems. It is a |
1376 | 16 round block cipher supporting key sizes of 128, 192, and 256 | 1376 | 16 round block cipher supporting key sizes of 128, 192, and 256 |
1377 | bits. | 1377 | bits. |
1378 | 1378 | ||
1379 | This module provides the Twofish cipher algorithm that processes | 1379 | This module provides the Twofish cipher algorithm that processes |
1380 | eight blocks parallel using the AVX Instruction Set. | 1380 | eight blocks parallel using the AVX Instruction Set. |
1381 | 1381 | ||
1382 | See also: | 1382 | See also: |
1383 | <http://www.schneier.com/twofish.html> | 1383 | <http://www.schneier.com/twofish.html> |
1384 | 1384 | ||
1385 | comment "Compression" | 1385 | comment "Compression" |
1386 | 1386 | ||
1387 | config CRYPTO_DEFLATE | 1387 | config CRYPTO_DEFLATE |
1388 | tristate "Deflate compression algorithm" | 1388 | tristate "Deflate compression algorithm" |
1389 | select CRYPTO_ALGAPI | 1389 | select CRYPTO_ALGAPI |
1390 | select ZLIB_INFLATE | 1390 | select ZLIB_INFLATE |
1391 | select ZLIB_DEFLATE | 1391 | select ZLIB_DEFLATE |
1392 | help | 1392 | help |
1393 | This is the Deflate algorithm (RFC1951), specified for use in | 1393 | This is the Deflate algorithm (RFC1951), specified for use in |
1394 | IPSec with the IPCOMP protocol (RFC3173, RFC2394). | 1394 | IPSec with the IPCOMP protocol (RFC3173, RFC2394). |
1395 | 1395 | ||
1396 | You will most probably want this if using IPSec. | 1396 | You will most probably want this if using IPSec. |
1397 | 1397 | ||
1398 | config CRYPTO_ZLIB | 1398 | config CRYPTO_ZLIB |
1399 | tristate "Zlib compression algorithm" | 1399 | tristate "Zlib compression algorithm" |
1400 | select CRYPTO_PCOMP | 1400 | select CRYPTO_PCOMP |
1401 | select ZLIB_INFLATE | 1401 | select ZLIB_INFLATE |
1402 | select ZLIB_DEFLATE | 1402 | select ZLIB_DEFLATE |
1403 | select NLATTR | 1403 | select NLATTR |
1404 | help | 1404 | help |
1405 | This is the zlib algorithm. | 1405 | This is the zlib algorithm. |
1406 | 1406 | ||
1407 | config CRYPTO_LZO | 1407 | config CRYPTO_LZO |
1408 | tristate "LZO compression algorithm" | 1408 | tristate "LZO compression algorithm" |
1409 | select CRYPTO_ALGAPI | 1409 | select CRYPTO_ALGAPI |
1410 | select LZO_COMPRESS | 1410 | select LZO_COMPRESS |
1411 | select LZO_DECOMPRESS | 1411 | select LZO_DECOMPRESS |
1412 | help | 1412 | help |
1413 | This is the LZO algorithm. | 1413 | This is the LZO algorithm. |
1414 | 1414 | ||
1415 | config CRYPTO_842 | 1415 | config CRYPTO_842 |
1416 | tristate "842 compression algorithm" | 1416 | tristate "842 compression algorithm" |
1417 | depends on CRYPTO_DEV_NX_COMPRESS | 1417 | depends on CRYPTO_DEV_NX_COMPRESS |
1418 | # 842 uses lzo if the hardware becomes unavailable | 1418 | # 842 uses lzo if the hardware becomes unavailable |
1419 | select LZO_COMPRESS | 1419 | select LZO_COMPRESS |
1420 | select LZO_DECOMPRESS | 1420 | select LZO_DECOMPRESS |
1421 | help | 1421 | help |
1422 | This is the 842 algorithm. | 1422 | This is the 842 algorithm. |
1423 | 1423 | ||
1424 | config CRYPTO_LZ4 | 1424 | config CRYPTO_LZ4 |
1425 | tristate "LZ4 compression algorithm" | 1425 | tristate "LZ4 compression algorithm" |
1426 | select CRYPTO_ALGAPI | 1426 | select CRYPTO_ALGAPI |
1427 | select LZ4_COMPRESS | 1427 | select LZ4_COMPRESS |
1428 | select LZ4_DECOMPRESS | 1428 | select LZ4_DECOMPRESS |
1429 | help | 1429 | help |
1430 | This is the LZ4 algorithm. | 1430 | This is the LZ4 algorithm. |
1431 | 1431 | ||
1432 | config CRYPTO_LZ4HC | 1432 | config CRYPTO_LZ4HC |
1433 | tristate "LZ4HC compression algorithm" | 1433 | tristate "LZ4HC compression algorithm" |
1434 | select CRYPTO_ALGAPI | 1434 | select CRYPTO_ALGAPI |
1435 | select LZ4HC_COMPRESS | 1435 | select LZ4HC_COMPRESS |
1436 | select LZ4_DECOMPRESS | 1436 | select LZ4_DECOMPRESS |
1437 | help | 1437 | help |
1438 | This is the LZ4 high compression mode algorithm. | 1438 | This is the LZ4 high compression mode algorithm. |
1439 | 1439 | ||
1440 | comment "Random Number Generation" | 1440 | comment "Random Number Generation" |
1441 | 1441 | ||
1442 | config CRYPTO_ANSI_CPRNG | 1442 | config CRYPTO_ANSI_CPRNG |
1443 | tristate "Pseudo Random Number Generation for Cryptographic modules" | 1443 | tristate "Pseudo Random Number Generation for Cryptographic modules" |
1444 | default m | 1444 | default m |
1445 | select CRYPTO_AES | 1445 | select CRYPTO_AES |
1446 | select CRYPTO_RNG | 1446 | select CRYPTO_RNG |
1447 | help | 1447 | help |
1448 | This option enables the generic pseudo random number generator | 1448 | This option enables the generic pseudo random number generator |
1449 | for cryptographic modules. Uses the Algorithm specified in | 1449 | for cryptographic modules. Uses the Algorithm specified in |
1450 | ANSI X9.31 A.2.4. Note that this option must be enabled if | 1450 | ANSI X9.31 A.2.4. Note that this option must be enabled if |
1451 | CRYPTO_FIPS is selected | 1451 | CRYPTO_FIPS is selected |
1452 | 1452 | ||
1453 | menuconfig CRYPTO_DRBG_MENU | 1453 | menuconfig CRYPTO_DRBG_MENU |
1454 | tristate "NIST SP800-90A DRBG" | 1454 | tristate "NIST SP800-90A DRBG" |
1455 | help | 1455 | help |
1456 | NIST SP800-90A compliant DRBG. In the following submenu, one or | 1456 | NIST SP800-90A compliant DRBG. In the following submenu, one or |
1457 | more of the DRBG types must be selected. | 1457 | more of the DRBG types must be selected. |
1458 | 1458 | ||
1459 | if CRYPTO_DRBG_MENU | 1459 | if CRYPTO_DRBG_MENU |
1460 | 1460 | ||
1461 | config CRYPTO_DRBG_HMAC | 1461 | config CRYPTO_DRBG_HMAC |
1462 | bool "Enable HMAC DRBG" | 1462 | bool "Enable HMAC DRBG" |
1463 | default y | 1463 | default y |
1464 | select CRYPTO_HMAC | 1464 | select CRYPTO_HMAC |
1465 | help | 1465 | help |
1466 | Enable the HMAC DRBG variant as defined in NIST SP800-90A. | 1466 | Enable the HMAC DRBG variant as defined in NIST SP800-90A. |
1467 | 1467 | ||
1468 | config CRYPTO_DRBG_HASH | 1468 | config CRYPTO_DRBG_HASH |
1469 | bool "Enable Hash DRBG" | 1469 | bool "Enable Hash DRBG" |
1470 | select CRYPTO_HASH | 1470 | select CRYPTO_HASH |
1471 | help | 1471 | help |
1472 | Enable the Hash DRBG variant as defined in NIST SP800-90A. | 1472 | Enable the Hash DRBG variant as defined in NIST SP800-90A. |
1473 | 1473 | ||
1474 | config CRYPTO_DRBG_CTR | 1474 | config CRYPTO_DRBG_CTR |
1475 | bool "Enable CTR DRBG" | 1475 | bool "Enable CTR DRBG" |
1476 | select CRYPTO_AES | 1476 | select CRYPTO_AES |
1477 | help | 1477 | help |
1478 | Enable the CTR DRBG variant as defined in NIST SP800-90A. | 1478 | Enable the CTR DRBG variant as defined in NIST SP800-90A. |
1479 | 1479 | ||
1480 | config CRYPTO_DRBG | 1480 | config CRYPTO_DRBG |
1481 | tristate | 1481 | tristate |
1482 | default CRYPTO_DRBG_MENU if (CRYPTO_DRBG_HMAC || CRYPTO_DRBG_HASH || CRYPTO_DRBG_CTR) | 1482 | default CRYPTO_DRBG_MENU if (CRYPTO_DRBG_HMAC || CRYPTO_DRBG_HASH || CRYPTO_DRBG_CTR) |
1483 | select CRYPTO_RNG | 1483 | select CRYPTO_RNG |
1484 | 1484 | ||
1485 | endif # if CRYPTO_DRBG_MENU | 1485 | endif # if CRYPTO_DRBG_MENU |
1486 | 1486 | ||
1487 | config CRYPTO_USER_API | 1487 | config CRYPTO_USER_API |
1488 | tristate | 1488 | tristate |
1489 | 1489 | ||
1490 | config CRYPTO_USER_API_HASH | 1490 | config CRYPTO_USER_API_HASH |
1491 | tristate "User-space interface for hash algorithms" | 1491 | tristate "User-space interface for hash algorithms" |
1492 | depends on NET | 1492 | depends on NET |
1493 | select CRYPTO_HASH | 1493 | select CRYPTO_HASH |
1494 | select CRYPTO_USER_API | 1494 | select CRYPTO_USER_API |
1495 | help | 1495 | help |
1496 | This option enables the user-spaces interface for hash | 1496 | This option enables the user-spaces interface for hash |
1497 | algorithms. | 1497 | algorithms. |
1498 | 1498 | ||
1499 | config CRYPTO_USER_API_SKCIPHER | 1499 | config CRYPTO_USER_API_SKCIPHER |
1500 | tristate "User-space interface for symmetric key cipher algorithms" | 1500 | tristate "User-space interface for symmetric key cipher algorithms" |
1501 | depends on NET | 1501 | depends on NET |
1502 | select CRYPTO_BLKCIPHER | 1502 | select CRYPTO_BLKCIPHER |
1503 | select CRYPTO_USER_API | 1503 | select CRYPTO_USER_API |
1504 | help | 1504 | help |
1505 | This option enables the user-spaces interface for symmetric | 1505 | This option enables the user-spaces interface for symmetric |
1506 | key cipher algorithms. | 1506 | key cipher algorithms. |
1507 | 1507 | ||
1508 | config CRYPTO_HASH_INFO | 1508 | config CRYPTO_HASH_INFO |
1509 | bool | 1509 | bool |
1510 | 1510 | ||
1511 | source "drivers/crypto/Kconfig" | 1511 | source "drivers/crypto/Kconfig" |
1512 | source crypto/asymmetric_keys/Kconfig | 1512 | source crypto/asymmetric_keys/Kconfig |
1513 | 1513 | ||
1514 | endif # if CRYPTO | 1514 | endif # if CRYPTO |
1515 | 1515 |