xref: /linux/crypto/Kconfig (revision 124b53d020622ffa24e27406f2373d5a3debd0d3)
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
19b5b7f088SHerbert Xuconfig CRYPTO_ABLKCIPHER
20b5b7f088SHerbert Xu	tristate
21b5b7f088SHerbert Xu	select CRYPTO_BLKCIPHER
22b5b7f088SHerbert Xu
235cde0af2SHerbert Xuconfig CRYPTO_BLKCIPHER
245cde0af2SHerbert Xu	tristate
255cde0af2SHerbert Xu	select CRYPTO_ALGAPI
265cde0af2SHerbert Xu
27055bcee3SHerbert Xuconfig CRYPTO_HASH
28055bcee3SHerbert Xu	tristate
29055bcee3SHerbert Xu	select CRYPTO_ALGAPI
30055bcee3SHerbert Xu
312b8c19dbSHerbert Xuconfig CRYPTO_MANAGER
322b8c19dbSHerbert Xu	tristate "Cryptographic algorithm manager"
332b8c19dbSHerbert Xu	select CRYPTO_ALGAPI
342b8c19dbSHerbert Xu	help
352b8c19dbSHerbert Xu	  Create default cryptographic template instantiations such as
362b8c19dbSHerbert Xu	  cbc(aes).
372b8c19dbSHerbert Xu
381da177e4SLinus Torvaldsconfig CRYPTO_HMAC
398425165dSHerbert Xu	tristate "HMAC support"
400796ae06SHerbert Xu	select CRYPTO_HASH
4143518407SHerbert Xu	select CRYPTO_MANAGER
421da177e4SLinus Torvalds	help
431da177e4SLinus Torvalds	  HMAC: Keyed-Hashing for Message Authentication (RFC2104).
441da177e4SLinus Torvalds	  This is required for IPSec.
451da177e4SLinus Torvalds
46333b0d7eSKazunori MIYAZAWAconfig CRYPTO_XCBC
47333b0d7eSKazunori MIYAZAWA	tristate "XCBC support"
48333b0d7eSKazunori MIYAZAWA	depends on EXPERIMENTAL
49333b0d7eSKazunori MIYAZAWA	select CRYPTO_HASH
50333b0d7eSKazunori MIYAZAWA	select CRYPTO_MANAGER
51333b0d7eSKazunori MIYAZAWA	help
52333b0d7eSKazunori MIYAZAWA	  XCBC: Keyed-Hashing with encryption algorithm
53333b0d7eSKazunori MIYAZAWA		http://www.ietf.org/rfc/rfc3566.txt
54333b0d7eSKazunori MIYAZAWA		http://csrc.nist.gov/encryption/modes/proposedmodes/
55333b0d7eSKazunori MIYAZAWA		 xcbc-mac/xcbc-mac-spec.pdf
56333b0d7eSKazunori MIYAZAWA
571da177e4SLinus Torvaldsconfig CRYPTO_NULL
581da177e4SLinus Torvalds	tristate "Null algorithms"
59cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
601da177e4SLinus Torvalds	help
611da177e4SLinus Torvalds	  These are 'Null' algorithms, used by IPsec, which do nothing.
621da177e4SLinus Torvalds
631da177e4SLinus Torvaldsconfig CRYPTO_MD4
641da177e4SLinus Torvalds	tristate "MD4 digest algorithm"
65cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
661da177e4SLinus Torvalds	help
671da177e4SLinus Torvalds	  MD4 message digest algorithm (RFC1320).
681da177e4SLinus Torvalds
691da177e4SLinus Torvaldsconfig CRYPTO_MD5
701da177e4SLinus Torvalds	tristate "MD5 digest algorithm"
71cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
721da177e4SLinus Torvalds	help
731da177e4SLinus Torvalds	  MD5 message digest algorithm (RFC1321).
741da177e4SLinus Torvalds
751da177e4SLinus Torvaldsconfig CRYPTO_SHA1
761da177e4SLinus Torvalds	tristate "SHA1 digest algorithm"
77cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
781da177e4SLinus Torvalds	help
791da177e4SLinus Torvalds	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
801da177e4SLinus Torvalds
811da177e4SLinus Torvaldsconfig CRYPTO_SHA256
821da177e4SLinus Torvalds	tristate "SHA256 digest algorithm"
83cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
841da177e4SLinus Torvalds	help
851da177e4SLinus Torvalds	  SHA256 secure hash standard (DFIPS 180-2).
861da177e4SLinus Torvalds
871da177e4SLinus Torvalds	  This version of SHA implements a 256 bit hash with 128 bits of
881da177e4SLinus Torvalds	  security against collision attacks.
891da177e4SLinus Torvalds
901da177e4SLinus Torvaldsconfig CRYPTO_SHA512
911da177e4SLinus Torvalds	tristate "SHA384 and SHA512 digest algorithms"
92cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
931da177e4SLinus Torvalds	help
941da177e4SLinus Torvalds	  SHA512 secure hash standard (DFIPS 180-2).
951da177e4SLinus Torvalds
961da177e4SLinus Torvalds	  This version of SHA implements a 512 bit hash with 256 bits of
971da177e4SLinus Torvalds	  security against collision attacks.
981da177e4SLinus Torvalds
991da177e4SLinus Torvalds	  This code also includes SHA-384, a 384 bit hash with 192 bits
1001da177e4SLinus Torvalds	  of security against collision attacks.
1011da177e4SLinus Torvalds
1021da177e4SLinus Torvaldsconfig CRYPTO_WP512
1031da177e4SLinus Torvalds	tristate "Whirlpool digest algorithms"
104cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
1051da177e4SLinus Torvalds	help
1061da177e4SLinus Torvalds	  Whirlpool hash algorithm 512, 384 and 256-bit hashes
1071da177e4SLinus Torvalds
1081da177e4SLinus Torvalds	  Whirlpool-512 is part of the NESSIE cryptographic primitives.
1091da177e4SLinus Torvalds	  Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
1101da177e4SLinus Torvalds
1111da177e4SLinus Torvalds	  See also:
1121da177e4SLinus Torvalds	  <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
1131da177e4SLinus Torvalds
1141da177e4SLinus Torvaldsconfig CRYPTO_TGR192
1151da177e4SLinus Torvalds	tristate "Tiger digest algorithms"
116cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
1171da177e4SLinus Torvalds	help
1181da177e4SLinus Torvalds	  Tiger hash algorithm 192, 160 and 128-bit hashes
1191da177e4SLinus Torvalds
1201da177e4SLinus Torvalds	  Tiger is a hash function optimized for 64-bit processors while
1211da177e4SLinus Torvalds	  still having decent performance on 32-bit processors.
1221da177e4SLinus Torvalds	  Tiger was developed by Ross Anderson and Eli Biham.
1231da177e4SLinus Torvalds
1241da177e4SLinus Torvalds	  See also:
1251da177e4SLinus Torvalds	  <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
1261da177e4SLinus Torvalds
127c494e070SRik Snelconfig CRYPTO_GF128MUL
128c494e070SRik Snel	tristate "GF(2^128) multiplication functions (EXPERIMENTAL)"
129c494e070SRik Snel	depends on EXPERIMENTAL
130c494e070SRik Snel	help
131c494e070SRik Snel	  Efficient table driven implementation of multiplications in the
132c494e070SRik Snel	  field GF(2^128).  This is needed by some cypher modes. This
133c494e070SRik Snel	  option will be selected automatically if you select such a
134c494e070SRik Snel	  cipher mode.  Only select this option by hand if you expect to load
135c494e070SRik Snel	  an external module that requires these functions.
136c494e070SRik Snel
137db131ef9SHerbert Xuconfig CRYPTO_ECB
138db131ef9SHerbert Xu	tristate "ECB support"
139db131ef9SHerbert Xu	select CRYPTO_BLKCIPHER
14043518407SHerbert Xu	select CRYPTO_MANAGER
141db131ef9SHerbert Xu	default m
142db131ef9SHerbert Xu	help
143db131ef9SHerbert Xu	  ECB: Electronic CodeBook mode
144db131ef9SHerbert Xu	  This is the simplest block cipher algorithm.  It simply encrypts
145db131ef9SHerbert Xu	  the input block by block.
146db131ef9SHerbert Xu
147db131ef9SHerbert Xuconfig CRYPTO_CBC
148db131ef9SHerbert Xu	tristate "CBC support"
149db131ef9SHerbert Xu	select CRYPTO_BLKCIPHER
15043518407SHerbert Xu	select CRYPTO_MANAGER
151db131ef9SHerbert Xu	default m
152db131ef9SHerbert Xu	help
153db131ef9SHerbert Xu	  CBC: Cipher Block Chaining mode
154db131ef9SHerbert Xu	  This block cipher algorithm is required for IPSec.
155db131ef9SHerbert Xu
15691652be5SDavid Howellsconfig CRYPTO_PCBC
15791652be5SDavid Howells	tristate "PCBC support"
15891652be5SDavid Howells	select CRYPTO_BLKCIPHER
15991652be5SDavid Howells	select CRYPTO_MANAGER
16091652be5SDavid Howells	default m
16191652be5SDavid Howells	help
16291652be5SDavid Howells	  PCBC: Propagating Cipher Block Chaining mode
16391652be5SDavid Howells	  This block cipher algorithm is required for RxRPC.
16491652be5SDavid Howells
16564470f1bSRik Snelconfig CRYPTO_LRW
16664470f1bSRik Snel	tristate "LRW support (EXPERIMENTAL)"
16764470f1bSRik Snel	depends on EXPERIMENTAL
16864470f1bSRik Snel	select CRYPTO_BLKCIPHER
16964470f1bSRik Snel	select CRYPTO_MANAGER
17064470f1bSRik Snel	select CRYPTO_GF128MUL
17164470f1bSRik Snel	help
17264470f1bSRik Snel	  LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable
17364470f1bSRik Snel	  narrow block cipher mode for dm-crypt.  Use it with cipher
17464470f1bSRik Snel	  specification string aes-lrw-benbi, the key must be 256, 320 or 384.
17564470f1bSRik Snel	  The first 128, 192 or 256 bits in the key are used for AES and the
17664470f1bSRik Snel	  rest is used to tie each cipher block to its logical position.
17764470f1bSRik Snel
178*124b53d0SHerbert Xuconfig CRYPTO_CRYPTD
179*124b53d0SHerbert Xu	tristate "Software async crypto daemon"
180*124b53d0SHerbert Xu	select CRYPTO_ABLKCIPHER
181*124b53d0SHerbert Xu	select CRYPTO_MANAGER
182*124b53d0SHerbert Xu	help
183*124b53d0SHerbert Xu	  This is a generic software asynchronous crypto daemon that
184*124b53d0SHerbert Xu	  converts an arbitrary synchronous software crypto algorithm
185*124b53d0SHerbert Xu	  into an asynchronous algorithm that executes in a kernel thread.
186*124b53d0SHerbert Xu
1871da177e4SLinus Torvaldsconfig CRYPTO_DES
1881da177e4SLinus Torvalds	tristate "DES and Triple DES EDE cipher algorithms"
189cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
1901da177e4SLinus Torvalds	help
1911da177e4SLinus Torvalds	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
1921da177e4SLinus Torvalds
19390831639SDavid Howellsconfig CRYPTO_FCRYPT
19490831639SDavid Howells	tristate "FCrypt cipher algorithm"
19590831639SDavid Howells	select CRYPTO_ALGAPI
19690831639SDavid Howells	select CRYPTO_BLKCIPHER
19790831639SDavid Howells	help
19890831639SDavid Howells	  FCrypt algorithm used by RxRPC.
19990831639SDavid Howells
2001da177e4SLinus Torvaldsconfig CRYPTO_BLOWFISH
2011da177e4SLinus Torvalds	tristate "Blowfish cipher algorithm"
202cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
2031da177e4SLinus Torvalds	help
2041da177e4SLinus Torvalds	  Blowfish cipher algorithm, by Bruce Schneier.
2051da177e4SLinus Torvalds
2061da177e4SLinus Torvalds	  This is a variable key length cipher which can use keys from 32
2071da177e4SLinus Torvalds	  bits to 448 bits in length.  It's fast, simple and specifically
2081da177e4SLinus Torvalds	  designed for use on "large microprocessors".
2091da177e4SLinus Torvalds
2101da177e4SLinus Torvalds	  See also:
2111da177e4SLinus Torvalds	  <http://www.schneier.com/blowfish.html>
2121da177e4SLinus Torvalds
2131da177e4SLinus Torvaldsconfig CRYPTO_TWOFISH
2141da177e4SLinus Torvalds	tristate "Twofish cipher algorithm"
215cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
2162729bb42SJoachim Fritschi	select CRYPTO_TWOFISH_COMMON
2171da177e4SLinus Torvalds	help
2181da177e4SLinus Torvalds	  Twofish cipher algorithm.
2191da177e4SLinus Torvalds
2201da177e4SLinus Torvalds	  Twofish was submitted as an AES (Advanced Encryption Standard)
2211da177e4SLinus Torvalds	  candidate cipher by researchers at CounterPane Systems.  It is a
2221da177e4SLinus Torvalds	  16 round block cipher supporting key sizes of 128, 192, and 256
2231da177e4SLinus Torvalds	  bits.
2241da177e4SLinus Torvalds
2251da177e4SLinus Torvalds	  See also:
2261da177e4SLinus Torvalds	  <http://www.schneier.com/twofish.html>
2271da177e4SLinus Torvalds
2282729bb42SJoachim Fritschiconfig CRYPTO_TWOFISH_COMMON
2292729bb42SJoachim Fritschi	tristate
2302729bb42SJoachim Fritschi	help
2312729bb42SJoachim Fritschi	  Common parts of the Twofish cipher algorithm shared by the
2322729bb42SJoachim Fritschi	  generic c and the assembler implementations.
2332729bb42SJoachim Fritschi
234b9f535ffSJoachim Fritschiconfig CRYPTO_TWOFISH_586
235b9f535ffSJoachim Fritschi	tristate "Twofish cipher algorithms (i586)"
236cce9e06dSHerbert Xu	depends on (X86 || UML_X86) && !64BIT
237cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
238b9f535ffSJoachim Fritschi	select CRYPTO_TWOFISH_COMMON
239b9f535ffSJoachim Fritschi	help
240b9f535ffSJoachim Fritschi	  Twofish cipher algorithm.
241b9f535ffSJoachim Fritschi
242b9f535ffSJoachim Fritschi	  Twofish was submitted as an AES (Advanced Encryption Standard)
243b9f535ffSJoachim Fritschi	  candidate cipher by researchers at CounterPane Systems.  It is a
244b9f535ffSJoachim Fritschi	  16 round block cipher supporting key sizes of 128, 192, and 256
245b9f535ffSJoachim Fritschi	  bits.
246b9f535ffSJoachim Fritschi
247b9f535ffSJoachim Fritschi	  See also:
248b9f535ffSJoachim Fritschi	  <http://www.schneier.com/twofish.html>
249b9f535ffSJoachim Fritschi
250eaf44088SJoachim Fritschiconfig CRYPTO_TWOFISH_X86_64
251eaf44088SJoachim Fritschi	tristate "Twofish cipher algorithm (x86_64)"
252cce9e06dSHerbert Xu	depends on (X86 || UML_X86) && 64BIT
253cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
254eaf44088SJoachim Fritschi	select CRYPTO_TWOFISH_COMMON
255eaf44088SJoachim Fritschi	help
256eaf44088SJoachim Fritschi	  Twofish cipher algorithm (x86_64).
257eaf44088SJoachim Fritschi
258eaf44088SJoachim Fritschi	  Twofish was submitted as an AES (Advanced Encryption Standard)
259eaf44088SJoachim Fritschi	  candidate cipher by researchers at CounterPane Systems.  It is a
260eaf44088SJoachim Fritschi	  16 round block cipher supporting key sizes of 128, 192, and 256
261eaf44088SJoachim Fritschi	  bits.
262eaf44088SJoachim Fritschi
263eaf44088SJoachim Fritschi	  See also:
264eaf44088SJoachim Fritschi	  <http://www.schneier.com/twofish.html>
265eaf44088SJoachim Fritschi
2661da177e4SLinus Torvaldsconfig CRYPTO_SERPENT
2671da177e4SLinus Torvalds	tristate "Serpent cipher algorithm"
268cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
2691da177e4SLinus Torvalds	help
2701da177e4SLinus Torvalds	  Serpent cipher algorithm, by Anderson, Biham & Knudsen.
2711da177e4SLinus Torvalds
2721da177e4SLinus Torvalds	  Keys are allowed to be from 0 to 256 bits in length, in steps
2731da177e4SLinus Torvalds	  of 8 bits.  Also includes the 'Tnepres' algorithm, a reversed
2741da177e4SLinus Torvalds	  variant of Serpent for compatibility with old kerneli code.
2751da177e4SLinus Torvalds
2761da177e4SLinus Torvalds	  See also:
2771da177e4SLinus Torvalds	  <http://www.cl.cam.ac.uk/~rja14/serpent.html>
2781da177e4SLinus Torvalds
2791da177e4SLinus Torvaldsconfig CRYPTO_AES
2801da177e4SLinus Torvalds	tristate "AES cipher algorithms"
281cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
2821da177e4SLinus Torvalds	help
2831da177e4SLinus Torvalds	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
2841da177e4SLinus Torvalds	  algorithm.
2851da177e4SLinus Torvalds
2861da177e4SLinus Torvalds	  Rijndael appears to be consistently a very good performer in
2871da177e4SLinus Torvalds	  both hardware and software across a wide range of computing
2881da177e4SLinus Torvalds	  environments regardless of its use in feedback or non-feedback
2891da177e4SLinus Torvalds	  modes. Its key setup time is excellent, and its key agility is
2901da177e4SLinus Torvalds	  good. Rijndael's very low memory requirements make it very well
2911da177e4SLinus Torvalds	  suited for restricted-space environments, in which it also
2921da177e4SLinus Torvalds	  demonstrates excellent performance. Rijndael's operations are
2931da177e4SLinus Torvalds	  among the easiest to defend against power and timing attacks.
2941da177e4SLinus Torvalds
2951da177e4SLinus Torvalds	  The AES specifies three key sizes: 128, 192 and 256 bits
2961da177e4SLinus Torvalds
2971da177e4SLinus Torvalds	  See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
2981da177e4SLinus Torvalds
2991da177e4SLinus Torvaldsconfig CRYPTO_AES_586
3001da177e4SLinus Torvalds	tristate "AES cipher algorithms (i586)"
301cce9e06dSHerbert Xu	depends on (X86 || UML_X86) && !64BIT
302cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3031da177e4SLinus Torvalds	help
3041da177e4SLinus Torvalds	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
3051da177e4SLinus Torvalds	  algorithm.
3061da177e4SLinus Torvalds
3071da177e4SLinus Torvalds	  Rijndael appears to be consistently a very good performer in
3081da177e4SLinus Torvalds	  both hardware and software across a wide range of computing
3091da177e4SLinus Torvalds	  environments regardless of its use in feedback or non-feedback
3101da177e4SLinus Torvalds	  modes. Its key setup time is excellent, and its key agility is
3111da177e4SLinus Torvalds	  good. Rijndael's very low memory requirements make it very well
3121da177e4SLinus Torvalds	  suited for restricted-space environments, in which it also
3131da177e4SLinus Torvalds	  demonstrates excellent performance. Rijndael's operations are
3141da177e4SLinus Torvalds	  among the easiest to defend against power and timing attacks.
3151da177e4SLinus Torvalds
3161da177e4SLinus Torvalds	  The AES specifies three key sizes: 128, 192 and 256 bits
3171da177e4SLinus Torvalds
3181da177e4SLinus Torvalds	  See <http://csrc.nist.gov/encryption/aes/> for more information.
3191da177e4SLinus Torvalds
320a2a892a2SAndreas Steinmetzconfig CRYPTO_AES_X86_64
321a2a892a2SAndreas Steinmetz	tristate "AES cipher algorithms (x86_64)"
322cce9e06dSHerbert Xu	depends on (X86 || UML_X86) && 64BIT
323cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
324a2a892a2SAndreas Steinmetz	help
325a2a892a2SAndreas Steinmetz	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
326a2a892a2SAndreas Steinmetz	  algorithm.
327a2a892a2SAndreas Steinmetz
328a2a892a2SAndreas Steinmetz	  Rijndael appears to be consistently a very good performer in
329a2a892a2SAndreas Steinmetz	  both hardware and software across a wide range of computing
330a2a892a2SAndreas Steinmetz	  environments regardless of its use in feedback or non-feedback
331a2a892a2SAndreas Steinmetz	  modes. Its key setup time is excellent, and its key agility is
332a2a892a2SAndreas Steinmetz	  good. Rijndael's very low memory requirements make it very well
333a2a892a2SAndreas Steinmetz	  suited for restricted-space environments, in which it also
334a2a892a2SAndreas Steinmetz	  demonstrates excellent performance. Rijndael's operations are
335a2a892a2SAndreas Steinmetz	  among the easiest to defend against power and timing attacks.
336a2a892a2SAndreas Steinmetz
337a2a892a2SAndreas Steinmetz	  The AES specifies three key sizes: 128, 192 and 256 bits
338a2a892a2SAndreas Steinmetz
339a2a892a2SAndreas Steinmetz	  See <http://csrc.nist.gov/encryption/aes/> for more information.
340a2a892a2SAndreas Steinmetz
3411da177e4SLinus Torvaldsconfig CRYPTO_CAST5
3421da177e4SLinus Torvalds	tristate "CAST5 (CAST-128) cipher algorithm"
343cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3441da177e4SLinus Torvalds	help
3451da177e4SLinus Torvalds	  The CAST5 encryption algorithm (synonymous with CAST-128) is
3461da177e4SLinus Torvalds	  described in RFC2144.
3471da177e4SLinus Torvalds
3481da177e4SLinus Torvaldsconfig CRYPTO_CAST6
3491da177e4SLinus Torvalds	tristate "CAST6 (CAST-256) cipher algorithm"
350cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3511da177e4SLinus Torvalds	help
3521da177e4SLinus Torvalds	  The CAST6 encryption algorithm (synonymous with CAST-256) is
3531da177e4SLinus Torvalds	  described in RFC2612.
3541da177e4SLinus Torvalds
3551da177e4SLinus Torvaldsconfig CRYPTO_TEA
356fb4f10edSAaron Grothe	tristate "TEA, XTEA and XETA cipher algorithms"
357cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3581da177e4SLinus Torvalds	help
3591da177e4SLinus Torvalds	  TEA cipher algorithm.
3601da177e4SLinus Torvalds
3611da177e4SLinus Torvalds	  Tiny Encryption Algorithm is a simple cipher that uses
3621da177e4SLinus Torvalds	  many rounds for security.  It is very fast and uses
3631da177e4SLinus Torvalds	  little memory.
3641da177e4SLinus Torvalds
3651da177e4SLinus Torvalds	  Xtendend Tiny Encryption Algorithm is a modification to
3661da177e4SLinus Torvalds	  the TEA algorithm to address a potential key weakness
3671da177e4SLinus Torvalds	  in the TEA algorithm.
3681da177e4SLinus Torvalds
369fb4f10edSAaron Grothe	  Xtendend Encryption Tiny Algorithm is a mis-implementation
370fb4f10edSAaron Grothe	  of the XTEA algorithm for compatibility purposes.
371fb4f10edSAaron Grothe
3721da177e4SLinus Torvaldsconfig CRYPTO_ARC4
3731da177e4SLinus Torvalds	tristate "ARC4 cipher algorithm"
374cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3751da177e4SLinus Torvalds	help
3761da177e4SLinus Torvalds	  ARC4 cipher algorithm.
3771da177e4SLinus Torvalds
3781da177e4SLinus Torvalds	  ARC4 is a stream cipher using keys ranging from 8 bits to 2048
3791da177e4SLinus Torvalds	  bits in length.  This algorithm is required for driver-based
3801da177e4SLinus Torvalds	  WEP, but it should not be for other purposes because of the
3811da177e4SLinus Torvalds	  weakness of the algorithm.
3821da177e4SLinus Torvalds
3831da177e4SLinus Torvaldsconfig CRYPTO_KHAZAD
3841da177e4SLinus Torvalds	tristate "Khazad cipher algorithm"
385cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3861da177e4SLinus Torvalds	help
3871da177e4SLinus Torvalds	  Khazad cipher algorithm.
3881da177e4SLinus Torvalds
3891da177e4SLinus Torvalds	  Khazad was a finalist in the initial NESSIE competition.  It is
3901da177e4SLinus Torvalds	  an algorithm optimized for 64-bit processors with good performance
3911da177e4SLinus Torvalds	  on 32-bit processors.  Khazad uses an 128 bit key size.
3921da177e4SLinus Torvalds
3931da177e4SLinus Torvalds	  See also:
3941da177e4SLinus Torvalds	  <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
3951da177e4SLinus Torvalds
3961da177e4SLinus Torvaldsconfig CRYPTO_ANUBIS
3971da177e4SLinus Torvalds	tristate "Anubis cipher algorithm"
398cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3991da177e4SLinus Torvalds	help
4001da177e4SLinus Torvalds	  Anubis cipher algorithm.
4011da177e4SLinus Torvalds
4021da177e4SLinus Torvalds	  Anubis is a variable key length cipher which can use keys from
4031da177e4SLinus Torvalds	  128 bits to 320 bits in length.  It was evaluated as a entrant
4041da177e4SLinus Torvalds	  in the NESSIE competition.
4051da177e4SLinus Torvalds
4061da177e4SLinus Torvalds	  See also:
4071da177e4SLinus Torvalds	  <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
4081da177e4SLinus Torvalds	  <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
4091da177e4SLinus Torvalds
4101da177e4SLinus Torvalds
4111da177e4SLinus Torvaldsconfig CRYPTO_DEFLATE
4121da177e4SLinus Torvalds	tristate "Deflate compression algorithm"
413cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4141da177e4SLinus Torvalds	select ZLIB_INFLATE
4151da177e4SLinus Torvalds	select ZLIB_DEFLATE
4161da177e4SLinus Torvalds	help
4171da177e4SLinus Torvalds	  This is the Deflate algorithm (RFC1951), specified for use in
4181da177e4SLinus Torvalds	  IPSec with the IPCOMP protocol (RFC3173, RFC2394).
4191da177e4SLinus Torvalds
4201da177e4SLinus Torvalds	  You will most probably want this if using IPSec.
4211da177e4SLinus Torvalds
4221da177e4SLinus Torvaldsconfig CRYPTO_MICHAEL_MIC
4231da177e4SLinus Torvalds	tristate "Michael MIC keyed digest algorithm"
424cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4251da177e4SLinus Torvalds	help
4261da177e4SLinus Torvalds	  Michael MIC is used for message integrity protection in TKIP
4271da177e4SLinus Torvalds	  (IEEE 802.11i). This algorithm is required for TKIP, but it
4281da177e4SLinus Torvalds	  should not be used for other purposes because of the weakness
4291da177e4SLinus Torvalds	  of the algorithm.
4301da177e4SLinus Torvalds
4311da177e4SLinus Torvaldsconfig CRYPTO_CRC32C
4321da177e4SLinus Torvalds	tristate "CRC32c CRC algorithm"
433cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4341da177e4SLinus Torvalds	select LIBCRC32C
4351da177e4SLinus Torvalds	help
4361da177e4SLinus Torvalds	  Castagnoli, et al Cyclic Redundancy-Check Algorithm.  Used
4371da177e4SLinus Torvalds	  by iSCSI for header and data digests and by others.
4381da177e4SLinus Torvalds	  See Castagnoli93.  This implementation uses lib/libcrc32c.
4391da177e4SLinus Torvalds          Module will be crc32c.
4401da177e4SLinus Torvalds
44104ac7db3SNoriaki TAKAMIYAconfig CRYPTO_CAMELLIA
44204ac7db3SNoriaki TAKAMIYA	tristate "Camellia cipher algorithms"
44304ac7db3SNoriaki TAKAMIYA	depends on CRYPTO
44404ac7db3SNoriaki TAKAMIYA	select CRYPTO_ALGAPI
44504ac7db3SNoriaki TAKAMIYA	help
44604ac7db3SNoriaki TAKAMIYA	  Camellia cipher algorithms module.
44704ac7db3SNoriaki TAKAMIYA
44804ac7db3SNoriaki TAKAMIYA	  Camellia is a symmetric key block cipher developed jointly
44904ac7db3SNoriaki TAKAMIYA	  at NTT and Mitsubishi Electric Corporation.
45004ac7db3SNoriaki TAKAMIYA
45104ac7db3SNoriaki TAKAMIYA	  The Camellia specifies three key sizes: 128, 192 and 256 bits.
45204ac7db3SNoriaki TAKAMIYA
45304ac7db3SNoriaki TAKAMIYA	  See also:
45404ac7db3SNoriaki TAKAMIYA	  <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
45504ac7db3SNoriaki TAKAMIYA
4561da177e4SLinus Torvaldsconfig CRYPTO_TEST
4571da177e4SLinus Torvalds	tristate "Testing module"
458cce9e06dSHerbert Xu	depends on m
459cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4601da177e4SLinus Torvalds	help
4611da177e4SLinus Torvalds	  Quick & dirty crypto test module.
4621da177e4SLinus Torvalds
4631da177e4SLinus Torvaldssource "drivers/crypto/Kconfig"
4641da177e4SLinus Torvalds
465cce9e06dSHerbert Xuendif	# if CRYPTO
466cce9e06dSHerbert Xu
467cce9e06dSHerbert Xuendmenu
468