xref: /linux/crypto/Kconfig (revision 333b0d7eeacbd47159daf23757aa81368470c409)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# Cryptographic API Configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
51da177e4SLinus Torvaldsmenu "Cryptographic options"
61da177e4SLinus Torvalds
71da177e4SLinus Torvaldsconfig CRYPTO
81da177e4SLinus Torvalds	bool "Cryptographic API"
91da177e4SLinus Torvalds	help
101da177e4SLinus Torvalds	  This option provides the core Cryptographic API.
111da177e4SLinus Torvalds
12cce9e06dSHerbert Xuif CRYPTO
13cce9e06dSHerbert Xu
14cce9e06dSHerbert Xuconfig CRYPTO_ALGAPI
15cce9e06dSHerbert Xu	tristate
16cce9e06dSHerbert Xu	help
17cce9e06dSHerbert Xu	  This option provides the API for cryptographic algorithms.
18cce9e06dSHerbert Xu
195cde0af2SHerbert Xuconfig CRYPTO_BLKCIPHER
205cde0af2SHerbert Xu	tristate
215cde0af2SHerbert Xu	select CRYPTO_ALGAPI
225cde0af2SHerbert Xu
23055bcee3SHerbert Xuconfig CRYPTO_HASH
24055bcee3SHerbert Xu	tristate
25055bcee3SHerbert Xu	select CRYPTO_ALGAPI
26055bcee3SHerbert Xu
272b8c19dbSHerbert Xuconfig CRYPTO_MANAGER
282b8c19dbSHerbert Xu	tristate "Cryptographic algorithm manager"
292b8c19dbSHerbert Xu	select CRYPTO_ALGAPI
302b8c19dbSHerbert Xu	help
312b8c19dbSHerbert Xu	  Create default cryptographic template instantiations such as
322b8c19dbSHerbert Xu	  cbc(aes).
332b8c19dbSHerbert Xu
341da177e4SLinus Torvaldsconfig CRYPTO_HMAC
358425165dSHerbert Xu	tristate "HMAC support"
360796ae06SHerbert Xu	select CRYPTO_HASH
3743518407SHerbert Xu	select CRYPTO_MANAGER
381da177e4SLinus Torvalds	help
391da177e4SLinus Torvalds	  HMAC: Keyed-Hashing for Message Authentication (RFC2104).
401da177e4SLinus Torvalds	  This is required for IPSec.
411da177e4SLinus Torvalds
42*333b0d7eSKazunori MIYAZAWAconfig CRYPTO_XCBC
43*333b0d7eSKazunori MIYAZAWA	tristate "XCBC support"
44*333b0d7eSKazunori MIYAZAWA	depends on EXPERIMENTAL
45*333b0d7eSKazunori MIYAZAWA	select CRYPTO_HASH
46*333b0d7eSKazunori MIYAZAWA	select CRYPTO_MANAGER
47*333b0d7eSKazunori MIYAZAWA	help
48*333b0d7eSKazunori MIYAZAWA	  XCBC: Keyed-Hashing with encryption algorithm
49*333b0d7eSKazunori MIYAZAWA		http://www.ietf.org/rfc/rfc3566.txt
50*333b0d7eSKazunori MIYAZAWA		http://csrc.nist.gov/encryption/modes/proposedmodes/
51*333b0d7eSKazunori MIYAZAWA		 xcbc-mac/xcbc-mac-spec.pdf
52*333b0d7eSKazunori MIYAZAWA
531da177e4SLinus Torvaldsconfig CRYPTO_NULL
541da177e4SLinus Torvalds	tristate "Null algorithms"
55cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
561da177e4SLinus Torvalds	help
571da177e4SLinus Torvalds	  These are 'Null' algorithms, used by IPsec, which do nothing.
581da177e4SLinus Torvalds
591da177e4SLinus Torvaldsconfig CRYPTO_MD4
601da177e4SLinus Torvalds	tristate "MD4 digest algorithm"
61cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
621da177e4SLinus Torvalds	help
631da177e4SLinus Torvalds	  MD4 message digest algorithm (RFC1320).
641da177e4SLinus Torvalds
651da177e4SLinus Torvaldsconfig CRYPTO_MD5
661da177e4SLinus Torvalds	tristate "MD5 digest algorithm"
67cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
681da177e4SLinus Torvalds	help
691da177e4SLinus Torvalds	  MD5 message digest algorithm (RFC1321).
701da177e4SLinus Torvalds
711da177e4SLinus Torvaldsconfig CRYPTO_SHA1
721da177e4SLinus Torvalds	tristate "SHA1 digest algorithm"
73cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
741da177e4SLinus Torvalds	help
751da177e4SLinus Torvalds	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
761da177e4SLinus Torvalds
77c1e26e1eSJan Glauberconfig CRYPTO_SHA1_S390
78c1e26e1eSJan Glauber	tristate "SHA1 digest algorithm (s390)"
79cce9e06dSHerbert Xu	depends on S390
80cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
811da177e4SLinus Torvalds	help
820a497c17SJan Glauber	  This is the s390 hardware accelerated implementation of the
831da177e4SLinus Torvalds	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
841da177e4SLinus Torvalds
851da177e4SLinus Torvaldsconfig CRYPTO_SHA256
861da177e4SLinus Torvalds	tristate "SHA256 digest algorithm"
87cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
881da177e4SLinus Torvalds	help
891da177e4SLinus Torvalds	  SHA256 secure hash standard (DFIPS 180-2).
901da177e4SLinus Torvalds
911da177e4SLinus Torvalds	  This version of SHA implements a 256 bit hash with 128 bits of
921da177e4SLinus Torvalds	  security against collision attacks.
931da177e4SLinus Torvalds
940a497c17SJan Glauberconfig CRYPTO_SHA256_S390
950a497c17SJan Glauber	tristate "SHA256 digest algorithm (s390)"
96cce9e06dSHerbert Xu	depends on S390
97cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
980a497c17SJan Glauber	help
990a497c17SJan Glauber	  This is the s390 hardware accelerated implementation of the
1000a497c17SJan Glauber	  SHA256 secure hash standard (DFIPS 180-2).
1010a497c17SJan Glauber
1020a497c17SJan Glauber	  This version of SHA implements a 256 bit hash with 128 bits of
1030a497c17SJan Glauber	  security against collision attacks.
1040a497c17SJan Glauber
1051da177e4SLinus Torvaldsconfig CRYPTO_SHA512
1061da177e4SLinus Torvalds	tristate "SHA384 and SHA512 digest algorithms"
107cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
1081da177e4SLinus Torvalds	help
1091da177e4SLinus Torvalds	  SHA512 secure hash standard (DFIPS 180-2).
1101da177e4SLinus Torvalds
1111da177e4SLinus Torvalds	  This version of SHA implements a 512 bit hash with 256 bits of
1121da177e4SLinus Torvalds	  security against collision attacks.
1131da177e4SLinus Torvalds
1141da177e4SLinus Torvalds	  This code also includes SHA-384, a 384 bit hash with 192 bits
1151da177e4SLinus Torvalds	  of security against collision attacks.
1161da177e4SLinus Torvalds
1171da177e4SLinus Torvaldsconfig CRYPTO_WP512
1181da177e4SLinus Torvalds	tristate "Whirlpool digest algorithms"
119cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
1201da177e4SLinus Torvalds	help
1211da177e4SLinus Torvalds	  Whirlpool hash algorithm 512, 384 and 256-bit hashes
1221da177e4SLinus Torvalds
1231da177e4SLinus Torvalds	  Whirlpool-512 is part of the NESSIE cryptographic primitives.
1241da177e4SLinus Torvalds	  Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
1251da177e4SLinus Torvalds
1261da177e4SLinus Torvalds	  See also:
1271da177e4SLinus Torvalds	  <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
1281da177e4SLinus Torvalds
1291da177e4SLinus Torvaldsconfig CRYPTO_TGR192
1301da177e4SLinus Torvalds	tristate "Tiger digest algorithms"
131cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
1321da177e4SLinus Torvalds	help
1331da177e4SLinus Torvalds	  Tiger hash algorithm 192, 160 and 128-bit hashes
1341da177e4SLinus Torvalds
1351da177e4SLinus Torvalds	  Tiger is a hash function optimized for 64-bit processors while
1361da177e4SLinus Torvalds	  still having decent performance on 32-bit processors.
1371da177e4SLinus Torvalds	  Tiger was developed by Ross Anderson and Eli Biham.
1381da177e4SLinus Torvalds
1391da177e4SLinus Torvalds	  See also:
1401da177e4SLinus Torvalds	  <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
1411da177e4SLinus Torvalds
142db131ef9SHerbert Xuconfig CRYPTO_ECB
143db131ef9SHerbert Xu	tristate "ECB support"
144db131ef9SHerbert Xu	select CRYPTO_BLKCIPHER
14543518407SHerbert Xu	select CRYPTO_MANAGER
146db131ef9SHerbert Xu	default m
147db131ef9SHerbert Xu	help
148db131ef9SHerbert Xu	  ECB: Electronic CodeBook mode
149db131ef9SHerbert Xu	  This is the simplest block cipher algorithm.  It simply encrypts
150db131ef9SHerbert Xu	  the input block by block.
151db131ef9SHerbert Xu
152db131ef9SHerbert Xuconfig CRYPTO_CBC
153db131ef9SHerbert Xu	tristate "CBC support"
154db131ef9SHerbert Xu	select CRYPTO_BLKCIPHER
15543518407SHerbert Xu	select CRYPTO_MANAGER
156db131ef9SHerbert Xu	default m
157db131ef9SHerbert Xu	help
158db131ef9SHerbert Xu	  CBC: Cipher Block Chaining mode
159db131ef9SHerbert Xu	  This block cipher algorithm is required for IPSec.
160db131ef9SHerbert Xu
1611da177e4SLinus Torvaldsconfig CRYPTO_DES
1621da177e4SLinus Torvalds	tristate "DES and Triple DES EDE cipher algorithms"
163cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
1641da177e4SLinus Torvalds	help
1651da177e4SLinus Torvalds	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
1661da177e4SLinus Torvalds
167c1e26e1eSJan Glauberconfig CRYPTO_DES_S390
168c1e26e1eSJan Glauber	tristate "DES and Triple DES cipher algorithms (s390)"
169cce9e06dSHerbert Xu	depends on S390
170cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
171a9e62fadSHerbert Xu	select CRYPTO_BLKCIPHER
1721da177e4SLinus Torvalds	help
1731da177e4SLinus Torvalds	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
1741da177e4SLinus Torvalds
1751da177e4SLinus Torvaldsconfig CRYPTO_BLOWFISH
1761da177e4SLinus Torvalds	tristate "Blowfish cipher algorithm"
177cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
1781da177e4SLinus Torvalds	help
1791da177e4SLinus Torvalds	  Blowfish cipher algorithm, by Bruce Schneier.
1801da177e4SLinus Torvalds
1811da177e4SLinus Torvalds	  This is a variable key length cipher which can use keys from 32
1821da177e4SLinus Torvalds	  bits to 448 bits in length.  It's fast, simple and specifically
1831da177e4SLinus Torvalds	  designed for use on "large microprocessors".
1841da177e4SLinus Torvalds
1851da177e4SLinus Torvalds	  See also:
1861da177e4SLinus Torvalds	  <http://www.schneier.com/blowfish.html>
1871da177e4SLinus Torvalds
1881da177e4SLinus Torvaldsconfig CRYPTO_TWOFISH
1891da177e4SLinus Torvalds	tristate "Twofish cipher algorithm"
190cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
1912729bb42SJoachim Fritschi	select CRYPTO_TWOFISH_COMMON
1921da177e4SLinus Torvalds	help
1931da177e4SLinus Torvalds	  Twofish cipher algorithm.
1941da177e4SLinus Torvalds
1951da177e4SLinus Torvalds	  Twofish was submitted as an AES (Advanced Encryption Standard)
1961da177e4SLinus Torvalds	  candidate cipher by researchers at CounterPane Systems.  It is a
1971da177e4SLinus Torvalds	  16 round block cipher supporting key sizes of 128, 192, and 256
1981da177e4SLinus Torvalds	  bits.
1991da177e4SLinus Torvalds
2001da177e4SLinus Torvalds	  See also:
2011da177e4SLinus Torvalds	  <http://www.schneier.com/twofish.html>
2021da177e4SLinus Torvalds
2032729bb42SJoachim Fritschiconfig CRYPTO_TWOFISH_COMMON
2042729bb42SJoachim Fritschi	tristate
2052729bb42SJoachim Fritschi	help
2062729bb42SJoachim Fritschi	  Common parts of the Twofish cipher algorithm shared by the
2072729bb42SJoachim Fritschi	  generic c and the assembler implementations.
2082729bb42SJoachim Fritschi
209b9f535ffSJoachim Fritschiconfig CRYPTO_TWOFISH_586
210b9f535ffSJoachim Fritschi	tristate "Twofish cipher algorithms (i586)"
211cce9e06dSHerbert Xu	depends on (X86 || UML_X86) && !64BIT
212cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
213b9f535ffSJoachim Fritschi	select CRYPTO_TWOFISH_COMMON
214b9f535ffSJoachim Fritschi	help
215b9f535ffSJoachim Fritschi	  Twofish cipher algorithm.
216b9f535ffSJoachim Fritschi
217b9f535ffSJoachim Fritschi	  Twofish was submitted as an AES (Advanced Encryption Standard)
218b9f535ffSJoachim Fritschi	  candidate cipher by researchers at CounterPane Systems.  It is a
219b9f535ffSJoachim Fritschi	  16 round block cipher supporting key sizes of 128, 192, and 256
220b9f535ffSJoachim Fritschi	  bits.
221b9f535ffSJoachim Fritschi
222b9f535ffSJoachim Fritschi	  See also:
223b9f535ffSJoachim Fritschi	  <http://www.schneier.com/twofish.html>
224b9f535ffSJoachim Fritschi
225eaf44088SJoachim Fritschiconfig CRYPTO_TWOFISH_X86_64
226eaf44088SJoachim Fritschi	tristate "Twofish cipher algorithm (x86_64)"
227cce9e06dSHerbert Xu	depends on (X86 || UML_X86) && 64BIT
228cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
229eaf44088SJoachim Fritschi	select CRYPTO_TWOFISH_COMMON
230eaf44088SJoachim Fritschi	help
231eaf44088SJoachim Fritschi	  Twofish cipher algorithm (x86_64).
232eaf44088SJoachim Fritschi
233eaf44088SJoachim Fritschi	  Twofish was submitted as an AES (Advanced Encryption Standard)
234eaf44088SJoachim Fritschi	  candidate cipher by researchers at CounterPane Systems.  It is a
235eaf44088SJoachim Fritschi	  16 round block cipher supporting key sizes of 128, 192, and 256
236eaf44088SJoachim Fritschi	  bits.
237eaf44088SJoachim Fritschi
238eaf44088SJoachim Fritschi	  See also:
239eaf44088SJoachim Fritschi	  <http://www.schneier.com/twofish.html>
240eaf44088SJoachim Fritschi
2411da177e4SLinus Torvaldsconfig CRYPTO_SERPENT
2421da177e4SLinus Torvalds	tristate "Serpent cipher algorithm"
243cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
2441da177e4SLinus Torvalds	help
2451da177e4SLinus Torvalds	  Serpent cipher algorithm, by Anderson, Biham & Knudsen.
2461da177e4SLinus Torvalds
2471da177e4SLinus Torvalds	  Keys are allowed to be from 0 to 256 bits in length, in steps
2481da177e4SLinus Torvalds	  of 8 bits.  Also includes the 'Tnepres' algorithm, a reversed
2491da177e4SLinus Torvalds	  variant of Serpent for compatibility with old kerneli code.
2501da177e4SLinus Torvalds
2511da177e4SLinus Torvalds	  See also:
2521da177e4SLinus Torvalds	  <http://www.cl.cam.ac.uk/~rja14/serpent.html>
2531da177e4SLinus Torvalds
2541da177e4SLinus Torvaldsconfig CRYPTO_AES
2551da177e4SLinus Torvalds	tristate "AES cipher algorithms"
256cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
2571da177e4SLinus Torvalds	help
2581da177e4SLinus Torvalds	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
2591da177e4SLinus Torvalds	  algorithm.
2601da177e4SLinus Torvalds
2611da177e4SLinus Torvalds	  Rijndael appears to be consistently a very good performer in
2621da177e4SLinus Torvalds	  both hardware and software across a wide range of computing
2631da177e4SLinus Torvalds	  environments regardless of its use in feedback or non-feedback
2641da177e4SLinus Torvalds	  modes. Its key setup time is excellent, and its key agility is
2651da177e4SLinus Torvalds	  good. Rijndael's very low memory requirements make it very well
2661da177e4SLinus Torvalds	  suited for restricted-space environments, in which it also
2671da177e4SLinus Torvalds	  demonstrates excellent performance. Rijndael's operations are
2681da177e4SLinus Torvalds	  among the easiest to defend against power and timing attacks.
2691da177e4SLinus Torvalds
2701da177e4SLinus Torvalds	  The AES specifies three key sizes: 128, 192 and 256 bits
2711da177e4SLinus Torvalds
2721da177e4SLinus Torvalds	  See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
2731da177e4SLinus Torvalds
2741da177e4SLinus Torvaldsconfig CRYPTO_AES_586
2751da177e4SLinus Torvalds	tristate "AES cipher algorithms (i586)"
276cce9e06dSHerbert Xu	depends on (X86 || UML_X86) && !64BIT
277cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
2781da177e4SLinus Torvalds	help
2791da177e4SLinus Torvalds	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
2801da177e4SLinus Torvalds	  algorithm.
2811da177e4SLinus Torvalds
2821da177e4SLinus Torvalds	  Rijndael appears to be consistently a very good performer in
2831da177e4SLinus Torvalds	  both hardware and software across a wide range of computing
2841da177e4SLinus Torvalds	  environments regardless of its use in feedback or non-feedback
2851da177e4SLinus Torvalds	  modes. Its key setup time is excellent, and its key agility is
2861da177e4SLinus Torvalds	  good. Rijndael's very low memory requirements make it very well
2871da177e4SLinus Torvalds	  suited for restricted-space environments, in which it also
2881da177e4SLinus Torvalds	  demonstrates excellent performance. Rijndael's operations are
2891da177e4SLinus Torvalds	  among the easiest to defend against power and timing attacks.
2901da177e4SLinus Torvalds
2911da177e4SLinus Torvalds	  The AES specifies three key sizes: 128, 192 and 256 bits
2921da177e4SLinus Torvalds
2931da177e4SLinus Torvalds	  See <http://csrc.nist.gov/encryption/aes/> for more information.
2941da177e4SLinus Torvalds
295a2a892a2SAndreas Steinmetzconfig CRYPTO_AES_X86_64
296a2a892a2SAndreas Steinmetz	tristate "AES cipher algorithms (x86_64)"
297cce9e06dSHerbert Xu	depends on (X86 || UML_X86) && 64BIT
298cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
299a2a892a2SAndreas Steinmetz	help
300a2a892a2SAndreas Steinmetz	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
301a2a892a2SAndreas Steinmetz	  algorithm.
302a2a892a2SAndreas Steinmetz
303a2a892a2SAndreas Steinmetz	  Rijndael appears to be consistently a very good performer in
304a2a892a2SAndreas Steinmetz	  both hardware and software across a wide range of computing
305a2a892a2SAndreas Steinmetz	  environments regardless of its use in feedback or non-feedback
306a2a892a2SAndreas Steinmetz	  modes. Its key setup time is excellent, and its key agility is
307a2a892a2SAndreas Steinmetz	  good. Rijndael's very low memory requirements make it very well
308a2a892a2SAndreas Steinmetz	  suited for restricted-space environments, in which it also
309a2a892a2SAndreas Steinmetz	  demonstrates excellent performance. Rijndael's operations are
310a2a892a2SAndreas Steinmetz	  among the easiest to defend against power and timing attacks.
311a2a892a2SAndreas Steinmetz
312a2a892a2SAndreas Steinmetz	  The AES specifies three key sizes: 128, 192 and 256 bits
313a2a892a2SAndreas Steinmetz
314a2a892a2SAndreas Steinmetz	  See <http://csrc.nist.gov/encryption/aes/> for more information.
315a2a892a2SAndreas Steinmetz
316bf754ae8SJan Glauberconfig CRYPTO_AES_S390
317bf754ae8SJan Glauber	tristate "AES cipher algorithms (s390)"
318cce9e06dSHerbert Xu	depends on S390
319cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
320a9e62fadSHerbert Xu	select CRYPTO_BLKCIPHER
321bf754ae8SJan Glauber	help
322bf754ae8SJan Glauber	  This is the s390 hardware accelerated implementation of the
323bf754ae8SJan Glauber	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
324bf754ae8SJan Glauber	  algorithm.
325bf754ae8SJan Glauber
326bf754ae8SJan Glauber	  Rijndael appears to be consistently a very good performer in
327bf754ae8SJan Glauber	  both hardware and software across a wide range of computing
328bf754ae8SJan Glauber	  environments regardless of its use in feedback or non-feedback
329bf754ae8SJan Glauber	  modes. Its key setup time is excellent, and its key agility is
330bf754ae8SJan Glauber	  good. Rijndael's very low memory requirements make it very well
331bf754ae8SJan Glauber	  suited for restricted-space environments, in which it also
332bf754ae8SJan Glauber	  demonstrates excellent performance. Rijndael's operations are
333bf754ae8SJan Glauber	  among the easiest to defend against power and timing attacks.
334bf754ae8SJan Glauber
335bf754ae8SJan Glauber	  On s390 the System z9-109 currently only supports the key size
336bf754ae8SJan Glauber	  of 128 bit.
337bf754ae8SJan Glauber
3381da177e4SLinus Torvaldsconfig CRYPTO_CAST5
3391da177e4SLinus Torvalds	tristate "CAST5 (CAST-128) cipher algorithm"
340cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3411da177e4SLinus Torvalds	help
3421da177e4SLinus Torvalds	  The CAST5 encryption algorithm (synonymous with CAST-128) is
3431da177e4SLinus Torvalds	  described in RFC2144.
3441da177e4SLinus Torvalds
3451da177e4SLinus Torvaldsconfig CRYPTO_CAST6
3461da177e4SLinus Torvalds	tristate "CAST6 (CAST-256) cipher algorithm"
347cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3481da177e4SLinus Torvalds	help
3491da177e4SLinus Torvalds	  The CAST6 encryption algorithm (synonymous with CAST-256) is
3501da177e4SLinus Torvalds	  described in RFC2612.
3511da177e4SLinus Torvalds
3521da177e4SLinus Torvaldsconfig CRYPTO_TEA
353fb4f10edSAaron Grothe	tristate "TEA, XTEA and XETA cipher algorithms"
354cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3551da177e4SLinus Torvalds	help
3561da177e4SLinus Torvalds	  TEA cipher algorithm.
3571da177e4SLinus Torvalds
3581da177e4SLinus Torvalds	  Tiny Encryption Algorithm is a simple cipher that uses
3591da177e4SLinus Torvalds	  many rounds for security.  It is very fast and uses
3601da177e4SLinus Torvalds	  little memory.
3611da177e4SLinus Torvalds
3621da177e4SLinus Torvalds	  Xtendend Tiny Encryption Algorithm is a modification to
3631da177e4SLinus Torvalds	  the TEA algorithm to address a potential key weakness
3641da177e4SLinus Torvalds	  in the TEA algorithm.
3651da177e4SLinus Torvalds
366fb4f10edSAaron Grothe	  Xtendend Encryption Tiny Algorithm is a mis-implementation
367fb4f10edSAaron Grothe	  of the XTEA algorithm for compatibility purposes.
368fb4f10edSAaron Grothe
3691da177e4SLinus Torvaldsconfig CRYPTO_ARC4
3701da177e4SLinus Torvalds	tristate "ARC4 cipher algorithm"
371cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3721da177e4SLinus Torvalds	help
3731da177e4SLinus Torvalds	  ARC4 cipher algorithm.
3741da177e4SLinus Torvalds
3751da177e4SLinus Torvalds	  ARC4 is a stream cipher using keys ranging from 8 bits to 2048
3761da177e4SLinus Torvalds	  bits in length.  This algorithm is required for driver-based
3771da177e4SLinus Torvalds	  WEP, but it should not be for other purposes because of the
3781da177e4SLinus Torvalds	  weakness of the algorithm.
3791da177e4SLinus Torvalds
3801da177e4SLinus Torvaldsconfig CRYPTO_KHAZAD
3811da177e4SLinus Torvalds	tristate "Khazad cipher algorithm"
382cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3831da177e4SLinus Torvalds	help
3841da177e4SLinus Torvalds	  Khazad cipher algorithm.
3851da177e4SLinus Torvalds
3861da177e4SLinus Torvalds	  Khazad was a finalist in the initial NESSIE competition.  It is
3871da177e4SLinus Torvalds	  an algorithm optimized for 64-bit processors with good performance
3881da177e4SLinus Torvalds	  on 32-bit processors.  Khazad uses an 128 bit key size.
3891da177e4SLinus Torvalds
3901da177e4SLinus Torvalds	  See also:
3911da177e4SLinus Torvalds	  <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
3921da177e4SLinus Torvalds
3931da177e4SLinus Torvaldsconfig CRYPTO_ANUBIS
3941da177e4SLinus Torvalds	tristate "Anubis cipher algorithm"
395cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3961da177e4SLinus Torvalds	help
3971da177e4SLinus Torvalds	  Anubis cipher algorithm.
3981da177e4SLinus Torvalds
3991da177e4SLinus Torvalds	  Anubis is a variable key length cipher which can use keys from
4001da177e4SLinus Torvalds	  128 bits to 320 bits in length.  It was evaluated as a entrant
4011da177e4SLinus Torvalds	  in the NESSIE competition.
4021da177e4SLinus Torvalds
4031da177e4SLinus Torvalds	  See also:
4041da177e4SLinus Torvalds	  <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
4051da177e4SLinus Torvalds	  <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
4061da177e4SLinus Torvalds
4071da177e4SLinus Torvalds
4081da177e4SLinus Torvaldsconfig CRYPTO_DEFLATE
4091da177e4SLinus Torvalds	tristate "Deflate compression algorithm"
410cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4111da177e4SLinus Torvalds	select ZLIB_INFLATE
4121da177e4SLinus Torvalds	select ZLIB_DEFLATE
4131da177e4SLinus Torvalds	help
4141da177e4SLinus Torvalds	  This is the Deflate algorithm (RFC1951), specified for use in
4151da177e4SLinus Torvalds	  IPSec with the IPCOMP protocol (RFC3173, RFC2394).
4161da177e4SLinus Torvalds
4171da177e4SLinus Torvalds	  You will most probably want this if using IPSec.
4181da177e4SLinus Torvalds
4191da177e4SLinus Torvaldsconfig CRYPTO_MICHAEL_MIC
4201da177e4SLinus Torvalds	tristate "Michael MIC keyed digest algorithm"
421cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4221da177e4SLinus Torvalds	help
4231da177e4SLinus Torvalds	  Michael MIC is used for message integrity protection in TKIP
4241da177e4SLinus Torvalds	  (IEEE 802.11i). This algorithm is required for TKIP, but it
4251da177e4SLinus Torvalds	  should not be used for other purposes because of the weakness
4261da177e4SLinus Torvalds	  of the algorithm.
4271da177e4SLinus Torvalds
4281da177e4SLinus Torvaldsconfig CRYPTO_CRC32C
4291da177e4SLinus Torvalds	tristate "CRC32c CRC algorithm"
430cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4311da177e4SLinus Torvalds	select LIBCRC32C
4321da177e4SLinus Torvalds	help
4331da177e4SLinus Torvalds	  Castagnoli, et al Cyclic Redundancy-Check Algorithm.  Used
4341da177e4SLinus Torvalds	  by iSCSI for header and data digests and by others.
4351da177e4SLinus Torvalds	  See Castagnoli93.  This implementation uses lib/libcrc32c.
4361da177e4SLinus Torvalds          Module will be crc32c.
4371da177e4SLinus Torvalds
4381da177e4SLinus Torvaldsconfig CRYPTO_TEST
4391da177e4SLinus Torvalds	tristate "Testing module"
440cce9e06dSHerbert Xu	depends on m
441cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4421da177e4SLinus Torvalds	help
4431da177e4SLinus Torvalds	  Quick & dirty crypto test module.
4441da177e4SLinus Torvalds
4451da177e4SLinus Torvaldssource "drivers/crypto/Kconfig"
4461da177e4SLinus Torvalds
447cce9e06dSHerbert Xuendif	# if CRYPTO
448cce9e06dSHerbert Xu
449cce9e06dSHerbert Xuendmenu
450