blob: ceb3611efe44c306c910a19f9b368cd9c544db72 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
Dan Williams685784a2007-07-09 11:56:42 -07002# Generic algorithms support
3#
4config XOR_BLOCKS
5 tristate
6
7#
Dan Williams9bc89cd2007-01-02 11:10:44 -07008# async_tx api: hardware offloaded memory transfer/transform support
9#
10source "crypto/async_tx/Kconfig"
11
12#
Linus Torvalds1da177e2005-04-16 15:20:36 -070013# Cryptographic API Configuration
14#
Jan Engelhardt2e290f42007-05-18 15:11:01 +100015menuconfig CRYPTO
Sebastian Siewiorc3715cb92008-03-30 16:36:09 +080016 tristate "Cryptographic API"
Linus Torvalds1da177e2005-04-16 15:20:36 -070017 help
18 This option provides the core Cryptographic API.
19
Herbert Xucce9e062006-08-21 21:08:13 +100020if CRYPTO
21
Sebastian Siewior584fffc2008-04-05 21:04:48 +080022comment "Crypto core or helper"
23
Neil Hormanccb778e2008-08-05 14:13:08 +080024config CRYPTO_FIPS
25 bool "FIPS 200 compliance"
Chuck Ebberte84c5482010-09-03 19:17:49 +080026 depends on CRYPTO_ANSI_CPRNG && !CRYPTO_MANAGER_DISABLE_TESTS
Neil Hormanccb778e2008-08-05 14:13:08 +080027 help
28 This options enables the fips boot option which is
29 required if you want to system to operate in a FIPS 200
30 certification. You should say no unless you know what
Chuck Ebberte84c5482010-09-03 19:17:49 +080031 this is.
Neil Hormanccb778e2008-08-05 14:13:08 +080032
Herbert Xucce9e062006-08-21 21:08:13 +100033config CRYPTO_ALGAPI
34 tristate
Herbert Xu6a0fcbb2008-12-10 23:29:44 +110035 select CRYPTO_ALGAPI2
Herbert Xucce9e062006-08-21 21:08:13 +100036 help
37 This option provides the API for cryptographic algorithms.
38
Herbert Xu6a0fcbb2008-12-10 23:29:44 +110039config CRYPTO_ALGAPI2
40 tristate
41
Herbert Xu1ae97822007-08-30 15:36:14 +080042config CRYPTO_AEAD
43 tristate
Herbert Xu6a0fcbb2008-12-10 23:29:44 +110044 select CRYPTO_AEAD2
Herbert Xu1ae97822007-08-30 15:36:14 +080045 select CRYPTO_ALGAPI
46
Herbert Xu6a0fcbb2008-12-10 23:29:44 +110047config CRYPTO_AEAD2
48 tristate
49 select CRYPTO_ALGAPI2
50
Herbert Xu5cde0af2006-08-22 00:07:53 +100051config CRYPTO_BLKCIPHER
52 tristate
Herbert Xu6a0fcbb2008-12-10 23:29:44 +110053 select CRYPTO_BLKCIPHER2
Herbert Xu5cde0af2006-08-22 00:07:53 +100054 select CRYPTO_ALGAPI
Herbert Xu6a0fcbb2008-12-10 23:29:44 +110055
56config CRYPTO_BLKCIPHER2
57 tristate
58 select CRYPTO_ALGAPI2
59 select CRYPTO_RNG2
Huang Ying0a2e8212009-02-19 14:44:02 +080060 select CRYPTO_WORKQUEUE
Herbert Xu5cde0af2006-08-22 00:07:53 +100061
Herbert Xu055bcee2006-08-19 22:24:23 +100062config CRYPTO_HASH
63 tristate
Herbert Xu6a0fcbb2008-12-10 23:29:44 +110064 select CRYPTO_HASH2
Herbert Xu055bcee2006-08-19 22:24:23 +100065 select CRYPTO_ALGAPI
66
Herbert Xu6a0fcbb2008-12-10 23:29:44 +110067config CRYPTO_HASH2
68 tristate
69 select CRYPTO_ALGAPI2
70
Neil Horman17f0f4a2008-08-14 22:15:52 +100071config CRYPTO_RNG
72 tristate
Herbert Xu6a0fcbb2008-12-10 23:29:44 +110073 select CRYPTO_RNG2
Neil Horman17f0f4a2008-08-14 22:15:52 +100074 select CRYPTO_ALGAPI
75
Herbert Xu6a0fcbb2008-12-10 23:29:44 +110076config CRYPTO_RNG2
77 tristate
78 select CRYPTO_ALGAPI2
79
Geert Uytterhoevena1d2f092009-03-04 15:05:33 +080080config CRYPTO_PCOMP
81 tristate
Herbert Xubc94e592010-06-03 20:33:06 +100082 select CRYPTO_PCOMP2
83 select CRYPTO_ALGAPI
84
85config CRYPTO_PCOMP2
86 tristate
Geert Uytterhoevena1d2f092009-03-04 15:05:33 +080087 select CRYPTO_ALGAPI2
88
Herbert Xu2b8c19d2006-09-21 11:31:44 +100089config CRYPTO_MANAGER
90 tristate "Cryptographic algorithm manager"
Herbert Xu6a0fcbb2008-12-10 23:29:44 +110091 select CRYPTO_MANAGER2
Herbert Xu2b8c19d2006-09-21 11:31:44 +100092 help
93 Create default cryptographic template instantiations such as
94 cbc(aes).
95
Herbert Xu6a0fcbb2008-12-10 23:29:44 +110096config CRYPTO_MANAGER2
97 def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y)
98 select CRYPTO_AEAD2
99 select CRYPTO_HASH2
100 select CRYPTO_BLKCIPHER2
Herbert Xubc94e592010-06-03 20:33:06 +1000101 select CRYPTO_PCOMP2
Herbert Xu6a0fcbb2008-12-10 23:29:44 +1100102
Steffen Klasserta38f7902011-09-27 07:23:50 +0200103config CRYPTO_USER
104 tristate "Userspace cryptographic algorithm configuration"
Herbert Xu5db017a2011-11-01 12:12:43 +1100105 depends on NET
Steffen Klasserta38f7902011-09-27 07:23:50 +0200106 select CRYPTO_MANAGER
107 help
Valdis.Kletnieks@vt.edud19978f2011-11-09 01:29:20 -0500108 Userspace configuration for cryptographic instantiations such as
Steffen Klasserta38f7902011-09-27 07:23:50 +0200109 cbc(aes).
110
Herbert Xu326a6342010-08-06 09:40:28 +0800111config CRYPTO_MANAGER_DISABLE_TESTS
112 bool "Disable run-time self tests"
Herbert Xu00ca28a2010-08-06 10:34:00 +0800113 default y
114 depends on CRYPTO_MANAGER2
Alexander Shishkin0b767f92010-06-03 20:53:43 +1000115 help
Herbert Xu326a6342010-08-06 09:40:28 +0800116 Disable run-time self tests that normally take place at
117 algorithm registration.
Alexander Shishkin0b767f92010-06-03 20:53:43 +1000118
Rik Snelc494e072006-11-29 18:59:44 +1100119config CRYPTO_GF128MUL
Jussi Kivilinna08c70fc2011-12-13 12:53:22 +0200120 tristate "GF(2^128) multiplication functions"
Rik Snelc494e072006-11-29 18:59:44 +1100121 help
122 Efficient table driven implementation of multiplications in the
123 field GF(2^128). This is needed by some cypher modes. This
124 option will be selected automatically if you select such a
125 cipher mode. Only select this option by hand if you expect to load
126 an external module that requires these functions.
127
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800128config CRYPTO_NULL
129 tristate "Null algorithms"
130 select CRYPTO_ALGAPI
131 select CRYPTO_BLKCIPHER
Herbert Xud35d2452008-11-08 08:09:56 +0800132 select CRYPTO_HASH
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800133 help
134 These are 'Null' algorithms, used by IPsec, which do nothing.
135
Steffen Klassert5068c7a2010-01-07 15:57:19 +1100136config CRYPTO_PCRYPT
Kees Cook3b4afaf2012-10-02 11:16:49 -0700137 tristate "Parallel crypto engine"
138 depends on SMP
Steffen Klassert5068c7a2010-01-07 15:57:19 +1100139 select PADATA
140 select CRYPTO_MANAGER
141 select CRYPTO_AEAD
142 help
143 This converts an arbitrary crypto algorithm into a parallel
144 algorithm that executes in kernel threads.
145
Huang Ying25c38d32009-02-19 14:33:40 +0800146config CRYPTO_WORKQUEUE
147 tristate
148
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800149config CRYPTO_CRYPTD
150 tristate "Software async crypto daemon"
Herbert Xudb131ef2006-09-21 11:44:08 +1000151 select CRYPTO_BLKCIPHER
Loc Hob8a28252008-05-14 21:23:00 +0800152 select CRYPTO_HASH
Herbert Xu43518402006-10-16 21:28:58 +1000153 select CRYPTO_MANAGER
Huang Ying254eff72009-02-19 14:42:19 +0800154 select CRYPTO_WORKQUEUE
Herbert Xudb131ef2006-09-21 11:44:08 +1000155 help
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800156 This is a generic software asynchronous crypto daemon that
157 converts an arbitrary synchronous software crypto algorithm
158 into an asynchronous algorithm that executes in a kernel thread.
159
160config CRYPTO_AUTHENC
161 tristate "Authenc support"
162 select CRYPTO_AEAD
163 select CRYPTO_BLKCIPHER
164 select CRYPTO_MANAGER
165 select CRYPTO_HASH
166 help
167 Authenc: Combined mode wrapper for IPsec.
168 This is required for IPSec.
169
170config CRYPTO_TEST
171 tristate "Testing module"
172 depends on m
Herbert Xuda7f0332008-07-31 17:08:25 +0800173 select CRYPTO_MANAGER
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800174 help
175 Quick & dirty crypto test module.
176
Jussi Kivilinnaffaf9152012-06-18 14:06:58 +0300177config CRYPTO_ABLK_HELPER_X86
178 tristate
179 depends on X86
180 select CRYPTO_CRYPTD
181
Jussi Kivilinna596d8752012-06-18 14:07:19 +0300182config CRYPTO_GLUE_HELPER_X86
183 tristate
184 depends on X86
185 select CRYPTO_ALGAPI
186
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800187comment "Authenticated Encryption with Associated Data"
188
189config CRYPTO_CCM
190 tristate "CCM support"
191 select CRYPTO_CTR
192 select CRYPTO_AEAD
193 help
194 Support for Counter with CBC MAC. Required for IPsec.
195
196config CRYPTO_GCM
197 tristate "GCM/GMAC support"
198 select CRYPTO_CTR
199 select CRYPTO_AEAD
Huang Ying9382d972009-08-06 15:34:26 +1000200 select CRYPTO_GHASH
Jussi Kivilinna9489667d2013-04-07 16:43:41 +0300201 select CRYPTO_NULL
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800202 help
203 Support for Galois/Counter Mode (GCM) and Galois Message
204 Authentication Code (GMAC). Required for IPSec.
205
206config CRYPTO_SEQIV
207 tristate "Sequence Number IV Generator"
208 select CRYPTO_AEAD
209 select CRYPTO_BLKCIPHER
Herbert Xua0f000e2008-08-14 22:21:31 +1000210 select CRYPTO_RNG
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800211 help
212 This IV generator generates an IV based on a sequence number by
213 xoring it with a salt. This algorithm is mainly useful for CTR
214
215comment "Block modes"
Herbert Xudb131ef2006-09-21 11:44:08 +1000216
217config CRYPTO_CBC
218 tristate "CBC support"
219 select CRYPTO_BLKCIPHER
Herbert Xu43518402006-10-16 21:28:58 +1000220 select CRYPTO_MANAGER
Herbert Xudb131ef2006-09-21 11:44:08 +1000221 help
222 CBC: Cipher Block Chaining mode
223 This block cipher algorithm is required for IPSec.
224
Joy Latten23e353c2007-10-23 08:50:32 +0800225config CRYPTO_CTR
226 tristate "CTR support"
227 select CRYPTO_BLKCIPHER
Herbert Xu0a270322007-11-30 21:38:37 +1100228 select CRYPTO_SEQIV
Joy Latten23e353c2007-10-23 08:50:32 +0800229 select CRYPTO_MANAGER
Joy Latten23e353c2007-10-23 08:50:32 +0800230 help
231 CTR: Counter mode
232 This block cipher algorithm is required for IPSec.
233
Kevin Coffman76cb9522008-03-24 21:26:16 +0800234config CRYPTO_CTS
235 tristate "CTS support"
236 select CRYPTO_BLKCIPHER
237 help
238 CTS: Cipher Text Stealing
239 This is the Cipher Text Stealing mode as described by
240 Section 8 of rfc2040 and referenced by rfc3962.
241 (rfc3962 includes errata information in its Appendix A)
242 This mode is required for Kerberos gss mechanism support
243 for AES encryption.
244
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800245config CRYPTO_ECB
246 tristate "ECB support"
Herbert Xu653ebd92007-11-27 19:48:27 +0800247 select CRYPTO_BLKCIPHER
Herbert Xu124b53d2007-04-16 20:49:20 +1000248 select CRYPTO_MANAGER
249 help
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800250 ECB: Electronic CodeBook mode
251 This is the simplest block cipher algorithm. It simply encrypts
252 the input block by block.
Herbert Xu124b53d2007-04-16 20:49:20 +1000253
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800254config CRYPTO_LRW
Jussi Kivilinna2470a2b2011-12-13 12:52:51 +0200255 tristate "LRW support"
David Howells90831632006-12-16 12:13:14 +1100256 select CRYPTO_BLKCIPHER
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800257 select CRYPTO_MANAGER
258 select CRYPTO_GF128MUL
David Howells90831632006-12-16 12:13:14 +1100259 help
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800260 LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable
261 narrow block cipher mode for dm-crypt. Use it with cipher
262 specification string aes-lrw-benbi, the key must be 256, 320 or 384.
263 The first 128, 192 or 256 bits in the key are used for AES and the
264 rest is used to tie each cipher block to its logical position.
David Howells90831632006-12-16 12:13:14 +1100265
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800266config CRYPTO_PCBC
267 tristate "PCBC support"
268 select CRYPTO_BLKCIPHER
269 select CRYPTO_MANAGER
270 help
271 PCBC: Propagating Cipher Block Chaining mode
272 This block cipher algorithm is required for RxRPC.
273
274config CRYPTO_XTS
Jussi Kivilinna5bcf8e62011-12-13 12:52:56 +0200275 tristate "XTS support"
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800276 select CRYPTO_BLKCIPHER
277 select CRYPTO_MANAGER
278 select CRYPTO_GF128MUL
279 help
280 XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain,
281 key size 256, 384 or 512 bits. This implementation currently
282 can't handle a sectorsize which is not a multiple of 16 bytes.
283
284comment "Hash modes"
285
Jussi Kivilinna93b5e862013-04-08 10:48:44 +0300286config CRYPTO_CMAC
287 tristate "CMAC support"
288 select CRYPTO_HASH
289 select CRYPTO_MANAGER
290 help
291 Cipher-based Message Authentication Code (CMAC) specified by
292 The National Institute of Standards and Technology (NIST).
293
294 https://tools.ietf.org/html/rfc4493
295 http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf
296
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800297config CRYPTO_HMAC
298 tristate "HMAC support"
299 select CRYPTO_HASH
300 select CRYPTO_MANAGER
301 help
302 HMAC: Keyed-Hashing for Message Authentication (RFC2104).
303 This is required for IPSec.
304
305config CRYPTO_XCBC
306 tristate "XCBC support"
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800307 select CRYPTO_HASH
308 select CRYPTO_MANAGER
309 help
310 XCBC: Keyed-Hashing with encryption algorithm
311 http://www.ietf.org/rfc/rfc3566.txt
312 http://csrc.nist.gov/encryption/modes/proposedmodes/
313 xcbc-mac/xcbc-mac-spec.pdf
314
Shane Wangf1939f72009-09-02 20:05:22 +1000315config CRYPTO_VMAC
316 tristate "VMAC support"
Shane Wangf1939f72009-09-02 20:05:22 +1000317 select CRYPTO_HASH
318 select CRYPTO_MANAGER
319 help
320 VMAC is a message authentication algorithm designed for
321 very high speed on 64-bit architectures.
322
323 See also:
324 <http://fastcrypto.org/vmac>
325
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800326comment "Digest"
327
328config CRYPTO_CRC32C
329 tristate "CRC32c CRC algorithm"
Herbert Xu5773a3e2008-07-08 20:54:28 +0800330 select CRYPTO_HASH
Darrick J. Wong6a0962b2012-03-23 15:02:25 -0700331 select CRC32
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800332 help
333 Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used
334 by iSCSI for header and data digests and by others.
Herbert Xu69c35ef2008-11-07 15:11:47 +0800335 See Castagnoli93. Module will be crc32c.
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800336
Austin Zhang8cb51ba2008-08-07 09:57:03 +0800337config CRYPTO_CRC32C_INTEL
338 tristate "CRC32c INTEL hardware acceleration"
339 depends on X86
340 select CRYPTO_HASH
341 help
342 In Intel processor with SSE4.2 supported, the processor will
343 support CRC32C implementation using hardware accelerated CRC32
344 instruction. This option will create 'crc32c-intel' module,
345 which will enable any routine to use the CRC32 instruction to
346 gain performance compared with software implementation.
347 Module will be crc32c-intel.
348
David S. Miller442a7c42012-08-22 20:47:36 -0700349config CRYPTO_CRC32C_SPARC64
350 tristate "CRC32c CRC algorithm (SPARC64)"
351 depends on SPARC64
352 select CRYPTO_HASH
353 select CRC32
354 help
355 CRC32c CRC algorithm implemented using sparc64 crypto instructions,
356 when available.
357
Alexander Boyko78c37d12013-01-10 18:54:59 +0400358config CRYPTO_CRC32
359 tristate "CRC32 CRC algorithm"
360 select CRYPTO_HASH
361 select CRC32
362 help
363 CRC-32-IEEE 802.3 cyclic redundancy-check algorithm.
364 Shash crypto api wrappers to crc32_le function.
365
366config CRYPTO_CRC32_PCLMUL
367 tristate "CRC32 PCLMULQDQ hardware acceleration"
368 depends on X86
369 select CRYPTO_HASH
370 select CRC32
371 help
372 From Intel Westmere and AMD Bulldozer processor with SSE4.2
373 and PCLMULQDQ supported, the processor will support
374 CRC32 PCLMULQDQ implementation using hardware accelerated PCLMULQDQ
375 instruction. This option will create 'crc32-plcmul' module,
376 which will enable any routine to use the CRC-32-IEEE 802.3 checksum
377 and gain better performance as compared with the table implementation.
378
Tim Chen2d31e512013-05-01 12:52:48 -0700379config CRYPTO_CRCT10DIF
380 tristate "CRCT10DIF algorithm"
381 select CRYPTO_HASH
382 help
383 CRC T10 Data Integrity Field computation is being cast as
384 a crypto transform. This allows for faster crc t10 diff
385 transforms to be used if they are available.
386
Huang Ying2cdc6892009-08-06 15:32:38 +1000387config CRYPTO_GHASH
388 tristate "GHASH digest algorithm"
Huang Ying2cdc6892009-08-06 15:32:38 +1000389 select CRYPTO_GF128MUL
390 help
391 GHASH is message digest algorithm for GCM (Galois/Counter Mode).
392
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800393config CRYPTO_MD4
394 tristate "MD4 digest algorithm"
Adrian-Ken Rueegsegger808a1762008-12-03 19:55:27 +0800395 select CRYPTO_HASH
Linus Torvalds1da177e2005-04-16 15:20:36 -0700396 help
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800397 MD4 message digest algorithm (RFC1320).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700398
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800399config CRYPTO_MD5
400 tristate "MD5 digest algorithm"
Adrian-Ken Rueegsegger14b75ba2008-12-03 19:57:12 +0800401 select CRYPTO_HASH
Linus Torvalds1da177e2005-04-16 15:20:36 -0700402 help
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800403 MD5 message digest algorithm (RFC1321).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700404
David S. Millerfa4dfed2012-08-19 21:51:26 -0700405config CRYPTO_MD5_SPARC64
406 tristate "MD5 digest algorithm (SPARC64)"
407 depends on SPARC64
408 select CRYPTO_MD5
409 select CRYPTO_HASH
410 help
411 MD5 message digest algorithm (RFC1321) implemented
412 using sparc64 crypto instructions, when available.
413
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800414config CRYPTO_MICHAEL_MIC
415 tristate "Michael MIC keyed digest algorithm"
Adrian-Ken Rueegsegger19e2bf12008-12-07 19:35:38 +0800416 select CRYPTO_HASH
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800417 help
418 Michael MIC is used for message integrity protection in TKIP
419 (IEEE 802.11i). This algorithm is required for TKIP, but it
420 should not be used for other purposes because of the weakness
421 of the algorithm.
422
Adrian-Ken Rueegsegger82798f92008-05-07 22:17:37 +0800423config CRYPTO_RMD128
Adrian Bunkb6d44342008-07-16 19:28:00 +0800424 tristate "RIPEMD-128 digest algorithm"
Herbert Xu7c4468b2008-11-08 09:10:40 +0800425 select CRYPTO_HASH
Adrian Bunkb6d44342008-07-16 19:28:00 +0800426 help
427 RIPEMD-128 (ISO/IEC 10118-3:2004).
Adrian-Ken Rueegsegger82798f92008-05-07 22:17:37 +0800428
Adrian Bunkb6d44342008-07-16 19:28:00 +0800429 RIPEMD-128 is a 128-bit cryptographic hash function. It should only
Michael Witten35ed4b32011-07-09 04:02:31 +0000430 be used as a secure replacement for RIPEMD. For other use cases,
Adrian Bunkb6d44342008-07-16 19:28:00 +0800431 RIPEMD-160 should be used.
Adrian-Ken Rueegsegger82798f92008-05-07 22:17:37 +0800432
Adrian Bunkb6d44342008-07-16 19:28:00 +0800433 Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
Justin P. Mattock6d8de742010-09-12 10:42:47 +0800434 See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
Adrian-Ken Rueegsegger82798f92008-05-07 22:17:37 +0800435
436config CRYPTO_RMD160
Adrian Bunkb6d44342008-07-16 19:28:00 +0800437 tristate "RIPEMD-160 digest algorithm"
Herbert Xue5835fb2008-11-08 09:18:51 +0800438 select CRYPTO_HASH
Adrian Bunkb6d44342008-07-16 19:28:00 +0800439 help
440 RIPEMD-160 (ISO/IEC 10118-3:2004).
Adrian-Ken Rueegsegger82798f92008-05-07 22:17:37 +0800441
Adrian Bunkb6d44342008-07-16 19:28:00 +0800442 RIPEMD-160 is a 160-bit cryptographic hash function. It is intended
443 to be used as a secure replacement for the 128-bit hash functions
444 MD4, MD5 and it's predecessor RIPEMD
445 (not to be confused with RIPEMD-128).
Adrian-Ken Rueegsegger82798f92008-05-07 22:17:37 +0800446
Adrian Bunkb6d44342008-07-16 19:28:00 +0800447 It's speed is comparable to SHA1 and there are no known attacks
448 against RIPEMD-160.
Adrian-Ken Rueegsegger534fe2c2008-05-09 21:30:27 +0800449
Adrian Bunkb6d44342008-07-16 19:28:00 +0800450 Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
Justin P. Mattock6d8de742010-09-12 10:42:47 +0800451 See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
Adrian-Ken Rueegsegger534fe2c2008-05-09 21:30:27 +0800452
453config CRYPTO_RMD256
Adrian Bunkb6d44342008-07-16 19:28:00 +0800454 tristate "RIPEMD-256 digest algorithm"
Herbert Xud8a5e2e2008-11-08 09:58:10 +0800455 select CRYPTO_HASH
Adrian Bunkb6d44342008-07-16 19:28:00 +0800456 help
457 RIPEMD-256 is an optional extension of RIPEMD-128 with a
458 256 bit hash. It is intended for applications that require
459 longer hash-results, without needing a larger security level
460 (than RIPEMD-128).
Adrian-Ken Rueegsegger534fe2c2008-05-09 21:30:27 +0800461
Adrian Bunkb6d44342008-07-16 19:28:00 +0800462 Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
Justin P. Mattock6d8de742010-09-12 10:42:47 +0800463 See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
Adrian-Ken Rueegsegger534fe2c2008-05-09 21:30:27 +0800464
465config CRYPTO_RMD320
Adrian Bunkb6d44342008-07-16 19:28:00 +0800466 tristate "RIPEMD-320 digest algorithm"
Herbert Xu3b8efb42008-11-08 10:11:09 +0800467 select CRYPTO_HASH
Adrian Bunkb6d44342008-07-16 19:28:00 +0800468 help
469 RIPEMD-320 is an optional extension of RIPEMD-160 with a
470 320 bit hash. It is intended for applications that require
471 longer hash-results, without needing a larger security level
472 (than RIPEMD-160).
Adrian-Ken Rueegsegger534fe2c2008-05-09 21:30:27 +0800473
Adrian Bunkb6d44342008-07-16 19:28:00 +0800474 Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
Justin P. Mattock6d8de742010-09-12 10:42:47 +0800475 See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
Adrian-Ken Rueegsegger82798f92008-05-07 22:17:37 +0800476
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800477config CRYPTO_SHA1
478 tristate "SHA1 digest algorithm"
Adrian-Ken Rueegsegger54ccb362008-12-02 21:08:20 +0800479 select CRYPTO_HASH
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800480 help
481 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
482
Mathias Krause66be8952011-08-04 20:19:25 +0200483config CRYPTO_SHA1_SSSE3
484 tristate "SHA1 digest algorithm (SSSE3/AVX)"
485 depends on X86 && 64BIT
486 select CRYPTO_SHA1
487 select CRYPTO_HASH
488 help
489 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
490 using Supplemental SSE3 (SSSE3) instructions or Advanced Vector
491 Extensions (AVX), when available.
492
Tim Chen8275d1a2013-03-26 13:59:17 -0700493config CRYPTO_SHA256_SSSE3
494 tristate "SHA256 digest algorithm (SSSE3/AVX/AVX2)"
495 depends on X86 && 64BIT
496 select CRYPTO_SHA256
497 select CRYPTO_HASH
498 help
499 SHA-256 secure hash standard (DFIPS 180-2) implemented
500 using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector
501 Extensions version 1 (AVX1), or Advanced Vector Extensions
502 version 2 (AVX2) instructions, when available.
503
Tim Chen87de4572013-03-26 14:00:02 -0700504config CRYPTO_SHA512_SSSE3
505 tristate "SHA512 digest algorithm (SSSE3/AVX/AVX2)"
506 depends on X86 && 64BIT
507 select CRYPTO_SHA512
508 select CRYPTO_HASH
509 help
510 SHA-512 secure hash standard (DFIPS 180-2) implemented
511 using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector
512 Extensions version 1 (AVX1), or Advanced Vector Extensions
513 version 2 (AVX2) instructions, when available.
514
David S. Miller4ff28d42012-08-19 15:41:53 -0700515config CRYPTO_SHA1_SPARC64
516 tristate "SHA1 digest algorithm (SPARC64)"
517 depends on SPARC64
518 select CRYPTO_SHA1
519 select CRYPTO_HASH
520 help
521 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
522 using sparc64 crypto instructions, when available.
523
David McCulloughf0be44f2012-09-07 04:17:02 +0800524config CRYPTO_SHA1_ARM
525 tristate "SHA1 digest algorithm (ARM-asm)"
526 depends on ARM
527 select CRYPTO_SHA1
528 select CRYPTO_HASH
529 help
530 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
531 using optimized ARM assembler.
532
Michael Ellerman323a6bf2012-09-13 23:00:49 +0000533config CRYPTO_SHA1_PPC
534 tristate "SHA1 digest algorithm (powerpc)"
535 depends on PPC
536 help
537 This is the powerpc hardware accelerated implementation of the
538 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
539
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800540config CRYPTO_SHA256
541 tristate "SHA224 and SHA256 digest algorithm"
Adrian-Ken Rueegsegger50e109b52008-12-03 19:57:49 +0800542 select CRYPTO_HASH
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800543 help
544 SHA256 secure hash standard (DFIPS 180-2).
545
546 This version of SHA implements a 256 bit hash with 128 bits of
547 security against collision attacks.
548
Adrian Bunkb6d44342008-07-16 19:28:00 +0800549 This code also includes SHA-224, a 224 bit hash with 112 bits
550 of security against collision attacks.
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800551
David S. Miller86c93b22012-08-19 17:11:37 -0700552config CRYPTO_SHA256_SPARC64
553 tristate "SHA224 and SHA256 digest algorithm (SPARC64)"
554 depends on SPARC64
555 select CRYPTO_SHA256
556 select CRYPTO_HASH
557 help
558 SHA-256 secure hash standard (DFIPS 180-2) implemented
559 using sparc64 crypto instructions, when available.
560
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800561config CRYPTO_SHA512
562 tristate "SHA384 and SHA512 digest algorithms"
Adrian-Ken Rueegseggerbd9d20d2008-12-17 16:49:02 +1100563 select CRYPTO_HASH
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800564 help
565 SHA512 secure hash standard (DFIPS 180-2).
566
567 This version of SHA implements a 512 bit hash with 256 bits of
568 security against collision attacks.
569
570 This code also includes SHA-384, a 384 bit hash with 192 bits
571 of security against collision attacks.
572
David S. Miller775e0c62012-08-19 17:37:56 -0700573config CRYPTO_SHA512_SPARC64
574 tristate "SHA384 and SHA512 digest algorithm (SPARC64)"
575 depends on SPARC64
576 select CRYPTO_SHA512
577 select CRYPTO_HASH
578 help
579 SHA-512 secure hash standard (DFIPS 180-2) implemented
580 using sparc64 crypto instructions, when available.
581
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800582config CRYPTO_TGR192
583 tristate "Tiger digest algorithms"
Adrian-Ken Rueegseggerf63fbd32008-12-03 19:58:32 +0800584 select CRYPTO_HASH
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800585 help
586 Tiger hash algorithm 192, 160 and 128-bit hashes
587
588 Tiger is a hash function optimized for 64-bit processors while
589 still having decent performance on 32-bit processors.
590 Tiger was developed by Ross Anderson and Eli Biham.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700591
592 See also:
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800593 <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
594
595config CRYPTO_WP512
596 tristate "Whirlpool digest algorithms"
Adrian-Ken Rueegsegger49465102008-12-07 19:34:37 +0800597 select CRYPTO_HASH
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800598 help
599 Whirlpool hash algorithm 512, 384 and 256-bit hashes
600
601 Whirlpool-512 is part of the NESSIE cryptographic primitives.
602 Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
603
604 See also:
Justin P. Mattock6d8de742010-09-12 10:42:47 +0800605 <http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html>
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800606
Huang Ying0e1227d2009-10-19 11:53:06 +0900607config CRYPTO_GHASH_CLMUL_NI_INTEL
608 tristate "GHASH digest algorithm (CLMUL-NI accelerated)"
Richard Weinberger8af00862011-06-08 20:56:29 +0800609 depends on X86 && 64BIT
Huang Ying0e1227d2009-10-19 11:53:06 +0900610 select CRYPTO_CRYPTD
611 help
612 GHASH is message digest algorithm for GCM (Galois/Counter Mode).
613 The implementation is accelerated by CLMUL-NI of Intel.
614
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800615comment "Ciphers"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700616
617config CRYPTO_AES
618 tristate "AES cipher algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +1000619 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700620 help
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800621 AES cipher algorithms (FIPS-197). AES uses the Rijndael
Linus Torvalds1da177e2005-04-16 15:20:36 -0700622 algorithm.
623
624 Rijndael appears to be consistently a very good performer in
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800625 both hardware and software across a wide range of computing
626 environments regardless of its use in feedback or non-feedback
627 modes. Its key setup time is excellent, and its key agility is
628 good. Rijndael's very low memory requirements make it very well
629 suited for restricted-space environments, in which it also
630 demonstrates excellent performance. Rijndael's operations are
631 among the easiest to defend against power and timing attacks.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700632
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800633 The AES specifies three key sizes: 128, 192 and 256 bits
Linus Torvalds1da177e2005-04-16 15:20:36 -0700634
635 See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
636
637config CRYPTO_AES_586
638 tristate "AES cipher algorithms (i586)"
Herbert Xucce9e062006-08-21 21:08:13 +1000639 depends on (X86 || UML_X86) && !64BIT
640 select CRYPTO_ALGAPI
Sebastian Siewior5157dea2007-11-10 19:07:16 +0800641 select CRYPTO_AES
Linus Torvalds1da177e2005-04-16 15:20:36 -0700642 help
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800643 AES cipher algorithms (FIPS-197). AES uses the Rijndael
Linus Torvalds1da177e2005-04-16 15:20:36 -0700644 algorithm.
645
646 Rijndael appears to be consistently a very good performer in
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800647 both hardware and software across a wide range of computing
648 environments regardless of its use in feedback or non-feedback
649 modes. Its key setup time is excellent, and its key agility is
650 good. Rijndael's very low memory requirements make it very well
651 suited for restricted-space environments, in which it also
652 demonstrates excellent performance. Rijndael's operations are
653 among the easiest to defend against power and timing attacks.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700654
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800655 The AES specifies three key sizes: 128, 192 and 256 bits
Linus Torvalds1da177e2005-04-16 15:20:36 -0700656
657 See <http://csrc.nist.gov/encryption/aes/> for more information.
658
Andreas Steinmetza2a892a2005-07-06 13:55:00 -0700659config CRYPTO_AES_X86_64
660 tristate "AES cipher algorithms (x86_64)"
Herbert Xucce9e062006-08-21 21:08:13 +1000661 depends on (X86 || UML_X86) && 64BIT
662 select CRYPTO_ALGAPI
Sebastian Siewior81190b32007-11-08 21:25:04 +0800663 select CRYPTO_AES
Andreas Steinmetza2a892a2005-07-06 13:55:00 -0700664 help
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800665 AES cipher algorithms (FIPS-197). AES uses the Rijndael
Andreas Steinmetza2a892a2005-07-06 13:55:00 -0700666 algorithm.
667
668 Rijndael appears to be consistently a very good performer in
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800669 both hardware and software across a wide range of computing
670 environments regardless of its use in feedback or non-feedback
671 modes. Its key setup time is excellent, and its key agility is
672 good. Rijndael's very low memory requirements make it very well
673 suited for restricted-space environments, in which it also
674 demonstrates excellent performance. Rijndael's operations are
675 among the easiest to defend against power and timing attacks.
Andreas Steinmetza2a892a2005-07-06 13:55:00 -0700676
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800677 The AES specifies three key sizes: 128, 192 and 256 bits
Andreas Steinmetza2a892a2005-07-06 13:55:00 -0700678
679 See <http://csrc.nist.gov/encryption/aes/> for more information.
680
Huang Ying54b6a1b2009-01-18 16:28:34 +1100681config CRYPTO_AES_NI_INTEL
682 tristate "AES cipher algorithms (AES-NI)"
Richard Weinberger8af00862011-06-08 20:56:29 +0800683 depends on X86
Mathias Krause0d258ef2010-11-27 16:34:46 +0800684 select CRYPTO_AES_X86_64 if 64BIT
685 select CRYPTO_AES_586 if !64BIT
Huang Ying54b6a1b2009-01-18 16:28:34 +1100686 select CRYPTO_CRYPTD
Jussi Kivilinnaa9629d72012-06-18 14:07:08 +0300687 select CRYPTO_ABLK_HELPER_X86
Huang Ying54b6a1b2009-01-18 16:28:34 +1100688 select CRYPTO_ALGAPI
Jussi Kivilinna7643a112013-04-10 18:39:20 +0300689 select CRYPTO_GLUE_HELPER_X86 if 64BIT
Jussi Kivilinna023af602012-07-22 18:18:37 +0300690 select CRYPTO_LRW
691 select CRYPTO_XTS
Huang Ying54b6a1b2009-01-18 16:28:34 +1100692 help
693 Use Intel AES-NI instructions for AES algorithm.
694
695 AES cipher algorithms (FIPS-197). AES uses the Rijndael
696 algorithm.
697
698 Rijndael appears to be consistently a very good performer in
699 both hardware and software across a wide range of computing
700 environments regardless of its use in feedback or non-feedback
701 modes. Its key setup time is excellent, and its key agility is
702 good. Rijndael's very low memory requirements make it very well
703 suited for restricted-space environments, in which it also
704 demonstrates excellent performance. Rijndael's operations are
705 among the easiest to defend against power and timing attacks.
706
707 The AES specifies three key sizes: 128, 192 and 256 bits
708
709 See <http://csrc.nist.gov/encryption/aes/> for more information.
710
Mathias Krause0d258ef2010-11-27 16:34:46 +0800711 In addition to AES cipher algorithm support, the acceleration
712 for some popular block cipher mode is supported too, including
713 ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional
714 acceleration for CTR.
Huang Ying2cf4ac82009-03-29 15:41:20 +0800715
David S. Miller9bf4852d2012-08-21 03:58:13 -0700716config CRYPTO_AES_SPARC64
717 tristate "AES cipher algorithms (SPARC64)"
718 depends on SPARC64
719 select CRYPTO_CRYPTD
720 select CRYPTO_ALGAPI
721 help
722 Use SPARC64 crypto opcodes for AES algorithm.
723
724 AES cipher algorithms (FIPS-197). AES uses the Rijndael
725 algorithm.
726
727 Rijndael appears to be consistently a very good performer in
728 both hardware and software across a wide range of computing
729 environments regardless of its use in feedback or non-feedback
730 modes. Its key setup time is excellent, and its key agility is
731 good. Rijndael's very low memory requirements make it very well
732 suited for restricted-space environments, in which it also
733 demonstrates excellent performance. Rijndael's operations are
734 among the easiest to defend against power and timing attacks.
735
736 The AES specifies three key sizes: 128, 192 and 256 bits
737
738 See <http://csrc.nist.gov/encryption/aes/> for more information.
739
740 In addition to AES cipher algorithm support, the acceleration
741 for some popular block cipher mode is supported too, including
742 ECB and CBC.
743
David McCulloughf0be44f2012-09-07 04:17:02 +0800744config CRYPTO_AES_ARM
745 tristate "AES cipher algorithms (ARM-asm)"
746 depends on ARM
747 select CRYPTO_ALGAPI
748 select CRYPTO_AES
749 help
750 Use optimized AES assembler routines for ARM platforms.
751
752 AES cipher algorithms (FIPS-197). AES uses the Rijndael
753 algorithm.
754
755 Rijndael appears to be consistently a very good performer in
756 both hardware and software across a wide range of computing
757 environments regardless of its use in feedback or non-feedback
758 modes. Its key setup time is excellent, and its key agility is
759 good. Rijndael's very low memory requirements make it very well
760 suited for restricted-space environments, in which it also
761 demonstrates excellent performance. Rijndael's operations are
762 among the easiest to defend against power and timing attacks.
763
764 The AES specifies three key sizes: 128, 192 and 256 bits
765
766 See <http://csrc.nist.gov/encryption/aes/> for more information.
767
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800768config CRYPTO_ANUBIS
769 tristate "Anubis cipher algorithm"
770 select CRYPTO_ALGAPI
771 help
772 Anubis cipher algorithm.
773
774 Anubis is a variable key length cipher which can use keys from
775 128 bits to 320 bits in length. It was evaluated as a entrant
776 in the NESSIE competition.
777
778 See also:
Justin P. Mattock6d8de742010-09-12 10:42:47 +0800779 <https://www.cosic.esat.kuleuven.be/nessie/reports/>
780 <http://www.larc.usp.br/~pbarreto/AnubisPage.html>
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800781
782config CRYPTO_ARC4
783 tristate "ARC4 cipher algorithm"
Sebastian Andrzej Siewiorb9b0f082012-06-26 18:13:46 +0200784 select CRYPTO_BLKCIPHER
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800785 help
786 ARC4 cipher algorithm.
787
788 ARC4 is a stream cipher using keys ranging from 8 bits to 2048
789 bits in length. This algorithm is required for driver-based
790 WEP, but it should not be for other purposes because of the
791 weakness of the algorithm.
792
793config CRYPTO_BLOWFISH
794 tristate "Blowfish cipher algorithm"
795 select CRYPTO_ALGAPI
Jussi Kivilinna52ba8672011-09-02 01:45:07 +0300796 select CRYPTO_BLOWFISH_COMMON
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800797 help
798 Blowfish cipher algorithm, by Bruce Schneier.
799
800 This is a variable key length cipher which can use keys from 32
801 bits to 448 bits in length. It's fast, simple and specifically
802 designed for use on "large microprocessors".
803
804 See also:
805 <http://www.schneier.com/blowfish.html>
806
Jussi Kivilinna52ba8672011-09-02 01:45:07 +0300807config CRYPTO_BLOWFISH_COMMON
808 tristate
809 help
810 Common parts of the Blowfish cipher algorithm shared by the
811 generic c and the assembler implementations.
812
813 See also:
814 <http://www.schneier.com/blowfish.html>
815
Jussi Kivilinna64b94ce2011-09-02 01:45:22 +0300816config CRYPTO_BLOWFISH_X86_64
817 tristate "Blowfish cipher algorithm (x86_64)"
Al Virof21a7c12012-04-08 20:31:22 -0400818 depends on X86 && 64BIT
Jussi Kivilinna64b94ce2011-09-02 01:45:22 +0300819 select CRYPTO_ALGAPI
820 select CRYPTO_BLOWFISH_COMMON
821 help
822 Blowfish cipher algorithm (x86_64), by Bruce Schneier.
823
824 This is a variable key length cipher which can use keys from 32
825 bits to 448 bits in length. It's fast, simple and specifically
826 designed for use on "large microprocessors".
827
828 See also:
829 <http://www.schneier.com/blowfish.html>
830
Jussi Kivilinna60488012013-04-13 13:46:45 +0300831config CRYPTO_BLOWFISH_AVX2_X86_64
832 tristate "Blowfish cipher algorithm (x86_64/AVX2)"
833 depends on X86 && 64BIT
834 select CRYPTO_ALGAPI
835 select CRYPTO_CRYPTD
836 select CRYPTO_ABLK_HELPER_X86
837 select CRYPTO_BLOWFISH_COMMON
838 select CRYPTO_BLOWFISH_X86_64
839 help
840 Blowfish cipher algorithm (x86_64/AVX2), by Bruce Schneier.
841
842 This is a variable key length cipher which can use keys from 32
843 bits to 448 bits in length. It's fast, simple and specifically
844 designed for use on "large microprocessors".
845
846 See also:
847 <http://www.schneier.com/blowfish.html>
848
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800849config CRYPTO_CAMELLIA
850 tristate "Camellia cipher algorithms"
851 depends on CRYPTO
852 select CRYPTO_ALGAPI
853 help
854 Camellia cipher algorithms module.
855
856 Camellia is a symmetric key block cipher developed jointly
857 at NTT and Mitsubishi Electric Corporation.
858
859 The Camellia specifies three key sizes: 128, 192 and 256 bits.
860
861 See also:
862 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
863
Jussi Kivilinna0b95ec52012-03-05 20:26:47 +0200864config CRYPTO_CAMELLIA_X86_64
865 tristate "Camellia cipher algorithm (x86_64)"
Al Virof21a7c12012-04-08 20:31:22 -0400866 depends on X86 && 64BIT
Jussi Kivilinna0b95ec52012-03-05 20:26:47 +0200867 depends on CRYPTO
868 select CRYPTO_ALGAPI
Jussi Kivilinna964263a2012-06-18 14:07:29 +0300869 select CRYPTO_GLUE_HELPER_X86
Jussi Kivilinna0b95ec52012-03-05 20:26:47 +0200870 select CRYPTO_LRW
871 select CRYPTO_XTS
872 help
873 Camellia cipher algorithm module (x86_64).
874
875 Camellia is a symmetric key block cipher developed jointly
876 at NTT and Mitsubishi Electric Corporation.
877
878 The Camellia specifies three key sizes: 128, 192 and 256 bits.
879
880 See also:
881 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
882
Jussi Kivilinnad9b1d2e2012-10-26 14:49:01 +0300883config CRYPTO_CAMELLIA_AESNI_AVX_X86_64
884 tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX)"
885 depends on X86 && 64BIT
886 depends on CRYPTO
887 select CRYPTO_ALGAPI
888 select CRYPTO_CRYPTD
889 select CRYPTO_ABLK_HELPER_X86
890 select CRYPTO_GLUE_HELPER_X86
891 select CRYPTO_CAMELLIA_X86_64
892 select CRYPTO_LRW
893 select CRYPTO_XTS
894 help
895 Camellia cipher algorithm module (x86_64/AES-NI/AVX).
896
897 Camellia is a symmetric key block cipher developed jointly
898 at NTT and Mitsubishi Electric Corporation.
899
900 The Camellia specifies three key sizes: 128, 192 and 256 bits.
901
902 See also:
903 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
904
Jussi Kivilinnaf3f935a2013-04-13 13:47:00 +0300905config CRYPTO_CAMELLIA_AESNI_AVX2_X86_64
906 tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX2)"
907 depends on X86 && 64BIT
908 depends on CRYPTO
909 select CRYPTO_ALGAPI
910 select CRYPTO_CRYPTD
911 select CRYPTO_ABLK_HELPER_X86
912 select CRYPTO_GLUE_HELPER_X86
913 select CRYPTO_CAMELLIA_X86_64
914 select CRYPTO_CAMELLIA_AESNI_AVX_X86_64
915 select CRYPTO_LRW
916 select CRYPTO_XTS
917 help
918 Camellia cipher algorithm module (x86_64/AES-NI/AVX2).
919
920 Camellia is a symmetric key block cipher developed jointly
921 at NTT and Mitsubishi Electric Corporation.
922
923 The Camellia specifies three key sizes: 128, 192 and 256 bits.
924
925 See also:
926 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
927
David S. Miller81658ad2012-08-28 12:05:54 -0700928config CRYPTO_CAMELLIA_SPARC64
929 tristate "Camellia cipher algorithm (SPARC64)"
930 depends on SPARC64
931 depends on CRYPTO
932 select CRYPTO_ALGAPI
933 help
934 Camellia cipher algorithm module (SPARC64).
935
936 Camellia is a symmetric key block cipher developed jointly
937 at NTT and Mitsubishi Electric Corporation.
938
939 The Camellia specifies three key sizes: 128, 192 and 256 bits.
940
941 See also:
942 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
943
Jussi Kivilinna044ab522012-11-13 11:43:14 +0200944config CRYPTO_CAST_COMMON
945 tristate
946 help
947 Common parts of the CAST cipher algorithms shared by the
948 generic c and the assembler implementations.
949
Linus Torvalds1da177e2005-04-16 15:20:36 -0700950config CRYPTO_CAST5
951 tristate "CAST5 (CAST-128) cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000952 select CRYPTO_ALGAPI
Jussi Kivilinna044ab522012-11-13 11:43:14 +0200953 select CRYPTO_CAST_COMMON
Linus Torvalds1da177e2005-04-16 15:20:36 -0700954 help
955 The CAST5 encryption algorithm (synonymous with CAST-128) is
956 described in RFC2144.
957
Johannes Goetzfried4d6d6a22012-07-11 19:37:37 +0200958config CRYPTO_CAST5_AVX_X86_64
959 tristate "CAST5 (CAST-128) cipher algorithm (x86_64/AVX)"
960 depends on X86 && 64BIT
961 select CRYPTO_ALGAPI
962 select CRYPTO_CRYPTD
963 select CRYPTO_ABLK_HELPER_X86
Jussi Kivilinna044ab522012-11-13 11:43:14 +0200964 select CRYPTO_CAST_COMMON
Johannes Goetzfried4d6d6a22012-07-11 19:37:37 +0200965 select CRYPTO_CAST5
966 help
967 The CAST5 encryption algorithm (synonymous with CAST-128) is
968 described in RFC2144.
969
970 This module provides the Cast5 cipher algorithm that processes
971 sixteen blocks parallel using the AVX instruction set.
972
Linus Torvalds1da177e2005-04-16 15:20:36 -0700973config CRYPTO_CAST6
974 tristate "CAST6 (CAST-256) cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +1000975 select CRYPTO_ALGAPI
Jussi Kivilinna044ab522012-11-13 11:43:14 +0200976 select CRYPTO_CAST_COMMON
Linus Torvalds1da177e2005-04-16 15:20:36 -0700977 help
978 The CAST6 encryption algorithm (synonymous with CAST-256) is
979 described in RFC2612.
980
Johannes Goetzfried4ea12772012-07-11 19:38:57 +0200981config CRYPTO_CAST6_AVX_X86_64
982 tristate "CAST6 (CAST-256) cipher algorithm (x86_64/AVX)"
983 depends on X86 && 64BIT
984 select CRYPTO_ALGAPI
985 select CRYPTO_CRYPTD
986 select CRYPTO_ABLK_HELPER_X86
987 select CRYPTO_GLUE_HELPER_X86
Jussi Kivilinna044ab522012-11-13 11:43:14 +0200988 select CRYPTO_CAST_COMMON
Johannes Goetzfried4ea12772012-07-11 19:38:57 +0200989 select CRYPTO_CAST6
990 select CRYPTO_LRW
991 select CRYPTO_XTS
992 help
993 The CAST6 encryption algorithm (synonymous with CAST-256) is
994 described in RFC2612.
995
996 This module provides the Cast6 cipher algorithm that processes
997 eight blocks parallel using the AVX instruction set.
998
Sebastian Siewior584fffc2008-04-05 21:04:48 +0800999config CRYPTO_DES
1000 tristate "DES and Triple DES EDE cipher algorithms"
Herbert Xucce9e062006-08-21 21:08:13 +10001001 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -07001002 help
Sebastian Siewior584fffc2008-04-05 21:04:48 +08001003 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
Linus Torvalds1da177e2005-04-16 15:20:36 -07001004
David S. Millerc5aac2d2012-08-25 22:37:23 -07001005config CRYPTO_DES_SPARC64
1006 tristate "DES and Triple DES EDE cipher algorithms (SPARC64)"
Dave Jones97da37b2012-10-02 17:13:20 -04001007 depends on SPARC64
David S. Millerc5aac2d2012-08-25 22:37:23 -07001008 select CRYPTO_ALGAPI
1009 select CRYPTO_DES
1010 help
1011 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3),
1012 optimized using SPARC64 crypto opcodes.
1013
Sebastian Siewior584fffc2008-04-05 21:04:48 +08001014config CRYPTO_FCRYPT
1015 tristate "FCrypt cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +10001016 select CRYPTO_ALGAPI
Sebastian Siewior584fffc2008-04-05 21:04:48 +08001017 select CRYPTO_BLKCIPHER
Linus Torvalds1da177e2005-04-16 15:20:36 -07001018 help
Sebastian Siewior584fffc2008-04-05 21:04:48 +08001019 FCrypt algorithm used by RxRPC.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001020
1021config CRYPTO_KHAZAD
1022 tristate "Khazad cipher algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +10001023 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -07001024 help
1025 Khazad cipher algorithm.
1026
1027 Khazad was a finalist in the initial NESSIE competition. It is
1028 an algorithm optimized for 64-bit processors with good performance
1029 on 32-bit processors. Khazad uses an 128 bit key size.
1030
1031 See also:
Justin P. Mattock6d8de742010-09-12 10:42:47 +08001032 <http://www.larc.usp.br/~pbarreto/KhazadPage.html>
Linus Torvalds1da177e2005-04-16 15:20:36 -07001033
Tan Swee Heng2407d602007-11-23 19:45:00 +08001034config CRYPTO_SALSA20
Kees Cook3b4afaf2012-10-02 11:16:49 -07001035 tristate "Salsa20 stream cipher algorithm"
Tan Swee Heng2407d602007-11-23 19:45:00 +08001036 select CRYPTO_BLKCIPHER
1037 help
1038 Salsa20 stream cipher algorithm.
1039
1040 Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
1041 Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
1042
1043 The Salsa20 stream cipher algorithm is designed by Daniel J.
1044 Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
Linus Torvalds1da177e2005-04-16 15:20:36 -07001045
Tan Swee Heng974e4b72007-12-10 15:52:56 +08001046config CRYPTO_SALSA20_586
Kees Cook3b4afaf2012-10-02 11:16:49 -07001047 tristate "Salsa20 stream cipher algorithm (i586)"
Tan Swee Heng974e4b72007-12-10 15:52:56 +08001048 depends on (X86 || UML_X86) && !64BIT
Tan Swee Heng974e4b72007-12-10 15:52:56 +08001049 select CRYPTO_BLKCIPHER
Tan Swee Heng974e4b72007-12-10 15:52:56 +08001050 help
1051 Salsa20 stream cipher algorithm.
1052
1053 Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
1054 Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
1055
1056 The Salsa20 stream cipher algorithm is designed by Daniel J.
1057 Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
1058
Tan Swee Heng9a7dafb2007-12-18 00:04:40 +08001059config CRYPTO_SALSA20_X86_64
Kees Cook3b4afaf2012-10-02 11:16:49 -07001060 tristate "Salsa20 stream cipher algorithm (x86_64)"
Tan Swee Heng9a7dafb2007-12-18 00:04:40 +08001061 depends on (X86 || UML_X86) && 64BIT
Tan Swee Heng9a7dafb2007-12-18 00:04:40 +08001062 select CRYPTO_BLKCIPHER
Tan Swee Heng9a7dafb2007-12-18 00:04:40 +08001063 help
1064 Salsa20 stream cipher algorithm.
1065
1066 Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
1067 Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
1068
1069 The Salsa20 stream cipher algorithm is designed by Daniel J.
1070 Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
1071
Sebastian Siewior584fffc2008-04-05 21:04:48 +08001072config CRYPTO_SEED
1073 tristate "SEED cipher algorithm"
1074 select CRYPTO_ALGAPI
1075 help
1076 SEED cipher algorithm (RFC4269).
1077
1078 SEED is a 128-bit symmetric key block cipher that has been
1079 developed by KISA (Korea Information Security Agency) as a
1080 national standard encryption algorithm of the Republic of Korea.
1081 It is a 16 round block cipher with the key size of 128 bit.
1082
1083 See also:
1084 <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp>
1085
1086config CRYPTO_SERPENT
1087 tristate "Serpent cipher algorithm"
1088 select CRYPTO_ALGAPI
1089 help
1090 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1091
1092 Keys are allowed to be from 0 to 256 bits in length, in steps
1093 of 8 bits. Also includes the 'Tnepres' algorithm, a reversed
1094 variant of Serpent for compatibility with old kerneli.org code.
1095
1096 See also:
1097 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1098
Jussi Kivilinna937c30d2011-11-09 16:26:25 +02001099config CRYPTO_SERPENT_SSE2_X86_64
1100 tristate "Serpent cipher algorithm (x86_64/SSE2)"
1101 depends on X86 && 64BIT
1102 select CRYPTO_ALGAPI
Jussi Kivilinna341975b2011-11-24 08:37:41 +02001103 select CRYPTO_CRYPTD
Jussi Kivilinnaffaf9152012-06-18 14:06:58 +03001104 select CRYPTO_ABLK_HELPER_X86
Jussi Kivilinna596d8752012-06-18 14:07:19 +03001105 select CRYPTO_GLUE_HELPER_X86
Jussi Kivilinna937c30d2011-11-09 16:26:25 +02001106 select CRYPTO_SERPENT
Jussi Kivilinnafeaf0cf2011-12-13 12:53:12 +02001107 select CRYPTO_LRW
1108 select CRYPTO_XTS
Jussi Kivilinna937c30d2011-11-09 16:26:25 +02001109 help
1110 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1111
1112 Keys are allowed to be from 0 to 256 bits in length, in steps
1113 of 8 bits.
1114
1115 This module provides Serpent cipher algorithm that processes eigth
1116 blocks parallel using SSE2 instruction set.
1117
1118 See also:
1119 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1120
Jussi Kivilinna251496d2011-11-09 16:26:31 +02001121config CRYPTO_SERPENT_SSE2_586
1122 tristate "Serpent cipher algorithm (i586/SSE2)"
1123 depends on X86 && !64BIT
1124 select CRYPTO_ALGAPI
Jussi Kivilinna341975b2011-11-24 08:37:41 +02001125 select CRYPTO_CRYPTD
Jussi Kivilinnaffaf9152012-06-18 14:06:58 +03001126 select CRYPTO_ABLK_HELPER_X86
Jussi Kivilinna596d8752012-06-18 14:07:19 +03001127 select CRYPTO_GLUE_HELPER_X86
Jussi Kivilinna251496d2011-11-09 16:26:31 +02001128 select CRYPTO_SERPENT
Jussi Kivilinnafeaf0cf2011-12-13 12:53:12 +02001129 select CRYPTO_LRW
1130 select CRYPTO_XTS
Jussi Kivilinna251496d2011-11-09 16:26:31 +02001131 help
1132 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1133
1134 Keys are allowed to be from 0 to 256 bits in length, in steps
1135 of 8 bits.
1136
1137 This module provides Serpent cipher algorithm that processes four
1138 blocks parallel using SSE2 instruction set.
1139
1140 See also:
1141 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1142
Johannes Goetzfried7efe4072012-06-12 16:47:43 +08001143config CRYPTO_SERPENT_AVX_X86_64
1144 tristate "Serpent cipher algorithm (x86_64/AVX)"
1145 depends on X86 && 64BIT
1146 select CRYPTO_ALGAPI
1147 select CRYPTO_CRYPTD
Jussi Kivilinnaffaf9152012-06-18 14:06:58 +03001148 select CRYPTO_ABLK_HELPER_X86
Jussi Kivilinna1d0debb2012-06-18 14:07:24 +03001149 select CRYPTO_GLUE_HELPER_X86
Johannes Goetzfried7efe4072012-06-12 16:47:43 +08001150 select CRYPTO_SERPENT
1151 select CRYPTO_LRW
1152 select CRYPTO_XTS
1153 help
1154 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1155
1156 Keys are allowed to be from 0 to 256 bits in length, in steps
1157 of 8 bits.
1158
1159 This module provides the Serpent cipher algorithm that processes
1160 eight blocks parallel using the AVX instruction set.
1161
1162 See also:
1163 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1164
Jussi Kivilinna56d76c92013-04-13 13:46:55 +03001165config CRYPTO_SERPENT_AVX2_X86_64
1166 tristate "Serpent cipher algorithm (x86_64/AVX2)"
1167 depends on X86 && 64BIT
1168 select CRYPTO_ALGAPI
1169 select CRYPTO_CRYPTD
1170 select CRYPTO_ABLK_HELPER_X86
1171 select CRYPTO_GLUE_HELPER_X86
1172 select CRYPTO_SERPENT
1173 select CRYPTO_SERPENT_AVX_X86_64
1174 select CRYPTO_LRW
1175 select CRYPTO_XTS
1176 help
1177 Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1178
1179 Keys are allowed to be from 0 to 256 bits in length, in steps
1180 of 8 bits.
1181
1182 This module provides Serpent cipher algorithm that processes 16
1183 blocks parallel using AVX2 instruction set.
1184
1185 See also:
1186 <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1187
Sebastian Siewior584fffc2008-04-05 21:04:48 +08001188config CRYPTO_TEA
1189 tristate "TEA, XTEA and XETA cipher algorithms"
1190 select CRYPTO_ALGAPI
1191 help
1192 TEA cipher algorithm.
1193
1194 Tiny Encryption Algorithm is a simple cipher that uses
1195 many rounds for security. It is very fast and uses
1196 little memory.
1197
1198 Xtendend Tiny Encryption Algorithm is a modification to
1199 the TEA algorithm to address a potential key weakness
1200 in the TEA algorithm.
1201
1202 Xtendend Encryption Tiny Algorithm is a mis-implementation
1203 of the XTEA algorithm for compatibility purposes.
1204
1205config CRYPTO_TWOFISH
1206 tristate "Twofish cipher algorithm"
1207 select CRYPTO_ALGAPI
1208 select CRYPTO_TWOFISH_COMMON
1209 help
1210 Twofish cipher algorithm.
1211
1212 Twofish was submitted as an AES (Advanced Encryption Standard)
1213 candidate cipher by researchers at CounterPane Systems. It is a
1214 16 round block cipher supporting key sizes of 128, 192, and 256
1215 bits.
1216
1217 See also:
1218 <http://www.schneier.com/twofish.html>
1219
1220config CRYPTO_TWOFISH_COMMON
1221 tristate
1222 help
1223 Common parts of the Twofish cipher algorithm shared by the
1224 generic c and the assembler implementations.
1225
1226config CRYPTO_TWOFISH_586
1227 tristate "Twofish cipher algorithms (i586)"
1228 depends on (X86 || UML_X86) && !64BIT
1229 select CRYPTO_ALGAPI
1230 select CRYPTO_TWOFISH_COMMON
1231 help
1232 Twofish cipher algorithm.
1233
1234 Twofish was submitted as an AES (Advanced Encryption Standard)
1235 candidate cipher by researchers at CounterPane Systems. It is a
1236 16 round block cipher supporting key sizes of 128, 192, and 256
1237 bits.
1238
1239 See also:
1240 <http://www.schneier.com/twofish.html>
1241
1242config CRYPTO_TWOFISH_X86_64
1243 tristate "Twofish cipher algorithm (x86_64)"
1244 depends on (X86 || UML_X86) && 64BIT
1245 select CRYPTO_ALGAPI
1246 select CRYPTO_TWOFISH_COMMON
1247 help
1248 Twofish cipher algorithm (x86_64).
1249
1250 Twofish was submitted as an AES (Advanced Encryption Standard)
1251 candidate cipher by researchers at CounterPane Systems. It is a
1252 16 round block cipher supporting key sizes of 128, 192, and 256
1253 bits.
1254
1255 See also:
1256 <http://www.schneier.com/twofish.html>
1257
Jussi Kivilinna8280daa2011-09-26 16:47:25 +03001258config CRYPTO_TWOFISH_X86_64_3WAY
1259 tristate "Twofish cipher algorithm (x86_64, 3-way parallel)"
Al Virof21a7c12012-04-08 20:31:22 -04001260 depends on X86 && 64BIT
Jussi Kivilinna8280daa2011-09-26 16:47:25 +03001261 select CRYPTO_ALGAPI
1262 select CRYPTO_TWOFISH_COMMON
1263 select CRYPTO_TWOFISH_X86_64
Jussi Kivilinna414cb5e2012-06-18 14:07:34 +03001264 select CRYPTO_GLUE_HELPER_X86
Jussi Kivilinnae7cda5d2011-12-13 12:53:01 +02001265 select CRYPTO_LRW
1266 select CRYPTO_XTS
Jussi Kivilinna8280daa2011-09-26 16:47:25 +03001267 help
1268 Twofish cipher algorithm (x86_64, 3-way parallel).
1269
1270 Twofish was submitted as an AES (Advanced Encryption Standard)
1271 candidate cipher by researchers at CounterPane Systems. It is a
1272 16 round block cipher supporting key sizes of 128, 192, and 256
1273 bits.
1274
1275 This module provides Twofish cipher algorithm that processes three
1276 blocks parallel, utilizing resources of out-of-order CPUs better.
1277
1278 See also:
1279 <http://www.schneier.com/twofish.html>
1280
Johannes Goetzfried107778b2012-05-28 15:54:24 +02001281config CRYPTO_TWOFISH_AVX_X86_64
1282 tristate "Twofish cipher algorithm (x86_64/AVX)"
1283 depends on X86 && 64BIT
1284 select CRYPTO_ALGAPI
1285 select CRYPTO_CRYPTD
Jussi Kivilinna30a04002012-06-18 14:07:03 +03001286 select CRYPTO_ABLK_HELPER_X86
Jussi Kivilinnaa7378d42012-06-18 14:07:39 +03001287 select CRYPTO_GLUE_HELPER_X86
Johannes Goetzfried107778b2012-05-28 15:54:24 +02001288 select CRYPTO_TWOFISH_COMMON
1289 select CRYPTO_TWOFISH_X86_64
1290 select CRYPTO_TWOFISH_X86_64_3WAY
1291 select CRYPTO_LRW
1292 select CRYPTO_XTS
1293 help
1294 Twofish cipher algorithm (x86_64/AVX).
1295
1296 Twofish was submitted as an AES (Advanced Encryption Standard)
1297 candidate cipher by researchers at CounterPane Systems. It is a
1298 16 round block cipher supporting key sizes of 128, 192, and 256
1299 bits.
1300
1301 This module provides the Twofish cipher algorithm that processes
1302 eight blocks parallel using the AVX Instruction Set.
1303
1304 See also:
1305 <http://www.schneier.com/twofish.html>
1306
Jussi Kivilinnacf1521a2013-04-13 13:46:50 +03001307config CRYPTO_TWOFISH_AVX2_X86_64
1308 tristate "Twofish cipher algorithm (x86_64/AVX2)"
1309 depends on X86 && 64BIT
1310 select CRYPTO_ALGAPI
1311 select CRYPTO_CRYPTD
1312 select CRYPTO_ABLK_HELPER_X86
1313 select CRYPTO_GLUE_HELPER_X86
1314 select CRYPTO_TWOFISH_COMMON
1315 select CRYPTO_TWOFISH_X86_64
1316 select CRYPTO_TWOFISH_X86_64_3WAY
1317 select CRYPTO_TWOFISH_AVX_X86_64
1318 select CRYPTO_LRW
1319 select CRYPTO_XTS
1320 help
1321 Twofish cipher algorithm (x86_64/AVX2).
1322
1323 Twofish was submitted as an AES (Advanced Encryption Standard)
1324 candidate cipher by researchers at CounterPane Systems. It is a
1325 16 round block cipher supporting key sizes of 128, 192, and 256
1326 bits.
1327
1328 See also:
1329 <http://www.schneier.com/twofish.html>
1330
Sebastian Siewior584fffc2008-04-05 21:04:48 +08001331comment "Compression"
1332
Linus Torvalds1da177e2005-04-16 15:20:36 -07001333config CRYPTO_DEFLATE
1334 tristate "Deflate compression algorithm"
Herbert Xucce9e062006-08-21 21:08:13 +10001335 select CRYPTO_ALGAPI
Linus Torvalds1da177e2005-04-16 15:20:36 -07001336 select ZLIB_INFLATE
1337 select ZLIB_DEFLATE
1338 help
1339 This is the Deflate algorithm (RFC1951), specified for use in
1340 IPSec with the IPCOMP protocol (RFC3173, RFC2394).
Sebastian Siewior584fffc2008-04-05 21:04:48 +08001341
Linus Torvalds1da177e2005-04-16 15:20:36 -07001342 You will most probably want this if using IPSec.
1343
Geert Uytterhoevenbf68e652009-03-04 15:15:49 +08001344config CRYPTO_ZLIB
1345 tristate "Zlib compression algorithm"
1346 select CRYPTO_PCOMP
1347 select ZLIB_INFLATE
1348 select ZLIB_DEFLATE
1349 select NLATTR
1350 help
1351 This is the zlib algorithm.
1352
Zoltan Sogor0b77abb2007-12-07 16:53:23 +08001353config CRYPTO_LZO
1354 tristate "LZO compression algorithm"
1355 select CRYPTO_ALGAPI
1356 select LZO_COMPRESS
1357 select LZO_DECOMPRESS
1358 help
1359 This is the LZO algorithm.
1360
Seth Jennings35a1fc12012-07-19 09:42:41 -05001361config CRYPTO_842
1362 tristate "842 compression algorithm"
1363 depends on CRYPTO_DEV_NX_COMPRESS
1364 # 842 uses lzo if the hardware becomes unavailable
1365 select LZO_COMPRESS
1366 select LZO_DECOMPRESS
1367 help
1368 This is the 842 algorithm.
1369
Neil Horman17f0f4a2008-08-14 22:15:52 +10001370comment "Random Number Generation"
1371
1372config CRYPTO_ANSI_CPRNG
1373 tristate "Pseudo Random Number Generation for Cryptographic modules"
Neil Horman4e4ed832009-08-20 17:54:16 +10001374 default m
Neil Horman17f0f4a2008-08-14 22:15:52 +10001375 select CRYPTO_AES
1376 select CRYPTO_RNG
Neil Horman17f0f4a2008-08-14 22:15:52 +10001377 help
1378 This option enables the generic pseudo random number generator
1379 for cryptographic modules. Uses the Algorithm specified in
Jiri Kosina7dd607e2010-01-27 01:00:10 +01001380 ANSI X9.31 A.2.4. Note that this option must be enabled if
1381 CRYPTO_FIPS is selected
Neil Horman17f0f4a2008-08-14 22:15:52 +10001382
Herbert Xu03c8efc2010-10-19 21:12:39 +08001383config CRYPTO_USER_API
1384 tristate
1385
Herbert Xufe869cd2010-10-19 21:23:00 +08001386config CRYPTO_USER_API_HASH
1387 tristate "User-space interface for hash algorithms"
Herbert Xu74517082010-11-29 22:56:03 +08001388 depends on NET
Herbert Xufe869cd2010-10-19 21:23:00 +08001389 select CRYPTO_HASH
1390 select CRYPTO_USER_API
1391 help
1392 This option enables the user-spaces interface for hash
1393 algorithms.
1394
Herbert Xu8ff59092010-10-19 21:31:55 +08001395config CRYPTO_USER_API_SKCIPHER
1396 tristate "User-space interface for symmetric key cipher algorithms"
Herbert Xu74517082010-11-29 22:56:03 +08001397 depends on NET
Herbert Xu8ff59092010-10-19 21:31:55 +08001398 select CRYPTO_BLKCIPHER
1399 select CRYPTO_USER_API
1400 help
1401 This option enables the user-spaces interface for symmetric
1402 key cipher algorithms.
1403
Linus Torvalds1da177e2005-04-16 15:20:36 -07001404source "drivers/crypto/Kconfig"
David Howells964f3b32012-09-13 15:17:21 +01001405source crypto/asymmetric_keys/Kconfig
Linus Torvalds1da177e2005-04-16 15:20:36 -07001406
Herbert Xucce9e062006-08-21 21:08:13 +10001407endif # if CRYPTO