xref: /linux/crypto/Kconfig (revision 9bc89cd82d6f88fb0ca39b30445c329a430fd66b)
11da177e4SLinus Torvalds#
2685784aaSDan Williams# Generic algorithms support
3685784aaSDan Williams#
4685784aaSDan Williamsconfig XOR_BLOCKS
5685784aaSDan Williams	tristate
6685784aaSDan Williams
7685784aaSDan Williams#
8*9bc89cd8SDan Williams# async_tx api: hardware offloaded memory transfer/transform support
9*9bc89cd8SDan Williams#
10*9bc89cd8SDan Williamssource "crypto/async_tx/Kconfig"
11*9bc89cd8SDan Williams
12*9bc89cd8SDan Williams#
131da177e4SLinus Torvalds# Cryptographic API Configuration
141da177e4SLinus Torvalds#
151da177e4SLinus Torvaldsmenu "Cryptographic options"
161da177e4SLinus Torvalds
171da177e4SLinus Torvaldsconfig CRYPTO
181da177e4SLinus Torvalds	bool "Cryptographic API"
191da177e4SLinus Torvalds	help
201da177e4SLinus Torvalds	  This option provides the core Cryptographic API.
211da177e4SLinus Torvalds
22cce9e06dSHerbert Xuif CRYPTO
23cce9e06dSHerbert Xu
24cce9e06dSHerbert Xuconfig CRYPTO_ALGAPI
25cce9e06dSHerbert Xu	tristate
26cce9e06dSHerbert Xu	help
27cce9e06dSHerbert Xu	  This option provides the API for cryptographic algorithms.
28cce9e06dSHerbert Xu
29b5b7f088SHerbert Xuconfig CRYPTO_ABLKCIPHER
30b5b7f088SHerbert Xu	tristate
31b5b7f088SHerbert Xu	select CRYPTO_BLKCIPHER
32b5b7f088SHerbert Xu
335cde0af2SHerbert Xuconfig CRYPTO_BLKCIPHER
345cde0af2SHerbert Xu	tristate
355cde0af2SHerbert Xu	select CRYPTO_ALGAPI
365cde0af2SHerbert Xu
37055bcee3SHerbert Xuconfig CRYPTO_HASH
38055bcee3SHerbert Xu	tristate
39055bcee3SHerbert Xu	select CRYPTO_ALGAPI
40055bcee3SHerbert Xu
412b8c19dbSHerbert Xuconfig CRYPTO_MANAGER
422b8c19dbSHerbert Xu	tristate "Cryptographic algorithm manager"
432b8c19dbSHerbert Xu	select CRYPTO_ALGAPI
442b8c19dbSHerbert Xu	help
452b8c19dbSHerbert Xu	  Create default cryptographic template instantiations such as
462b8c19dbSHerbert Xu	  cbc(aes).
472b8c19dbSHerbert Xu
481da177e4SLinus Torvaldsconfig CRYPTO_HMAC
498425165dSHerbert Xu	tristate "HMAC support"
500796ae06SHerbert Xu	select CRYPTO_HASH
5143518407SHerbert Xu	select CRYPTO_MANAGER
521da177e4SLinus Torvalds	help
531da177e4SLinus Torvalds	  HMAC: Keyed-Hashing for Message Authentication (RFC2104).
541da177e4SLinus Torvalds	  This is required for IPSec.
551da177e4SLinus Torvalds
56333b0d7eSKazunori MIYAZAWAconfig CRYPTO_XCBC
57333b0d7eSKazunori MIYAZAWA	tristate "XCBC support"
58333b0d7eSKazunori MIYAZAWA	depends on EXPERIMENTAL
59333b0d7eSKazunori MIYAZAWA	select CRYPTO_HASH
60333b0d7eSKazunori MIYAZAWA	select CRYPTO_MANAGER
61333b0d7eSKazunori MIYAZAWA	help
62333b0d7eSKazunori MIYAZAWA	  XCBC: Keyed-Hashing with encryption algorithm
63333b0d7eSKazunori MIYAZAWA		http://www.ietf.org/rfc/rfc3566.txt
64333b0d7eSKazunori MIYAZAWA		http://csrc.nist.gov/encryption/modes/proposedmodes/
65333b0d7eSKazunori MIYAZAWA		 xcbc-mac/xcbc-mac-spec.pdf
66333b0d7eSKazunori MIYAZAWA
671da177e4SLinus Torvaldsconfig CRYPTO_NULL
681da177e4SLinus Torvalds	tristate "Null algorithms"
69cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
701da177e4SLinus Torvalds	help
711da177e4SLinus Torvalds	  These are 'Null' algorithms, used by IPsec, which do nothing.
721da177e4SLinus Torvalds
731da177e4SLinus Torvaldsconfig CRYPTO_MD4
741da177e4SLinus Torvalds	tristate "MD4 digest algorithm"
75cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
761da177e4SLinus Torvalds	help
771da177e4SLinus Torvalds	  MD4 message digest algorithm (RFC1320).
781da177e4SLinus Torvalds
791da177e4SLinus Torvaldsconfig CRYPTO_MD5
801da177e4SLinus Torvalds	tristate "MD5 digest algorithm"
81cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
821da177e4SLinus Torvalds	help
831da177e4SLinus Torvalds	  MD5 message digest algorithm (RFC1321).
841da177e4SLinus Torvalds
851da177e4SLinus Torvaldsconfig CRYPTO_SHA1
861da177e4SLinus Torvalds	tristate "SHA1 digest algorithm"
87cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
881da177e4SLinus Torvalds	help
891da177e4SLinus Torvalds	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
901da177e4SLinus Torvalds
911da177e4SLinus Torvaldsconfig CRYPTO_SHA256
921da177e4SLinus Torvalds	tristate "SHA256 digest algorithm"
93cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
941da177e4SLinus Torvalds	help
951da177e4SLinus Torvalds	  SHA256 secure hash standard (DFIPS 180-2).
961da177e4SLinus Torvalds
971da177e4SLinus Torvalds	  This version of SHA implements a 256 bit hash with 128 bits of
981da177e4SLinus Torvalds	  security against collision attacks.
991da177e4SLinus Torvalds
1001da177e4SLinus Torvaldsconfig CRYPTO_SHA512
1011da177e4SLinus Torvalds	tristate "SHA384 and SHA512 digest algorithms"
102cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
1031da177e4SLinus Torvalds	help
1041da177e4SLinus Torvalds	  SHA512 secure hash standard (DFIPS 180-2).
1051da177e4SLinus Torvalds
1061da177e4SLinus Torvalds	  This version of SHA implements a 512 bit hash with 256 bits of
1071da177e4SLinus Torvalds	  security against collision attacks.
1081da177e4SLinus Torvalds
1091da177e4SLinus Torvalds	  This code also includes SHA-384, a 384 bit hash with 192 bits
1101da177e4SLinus Torvalds	  of security against collision attacks.
1111da177e4SLinus Torvalds
1121da177e4SLinus Torvaldsconfig CRYPTO_WP512
1131da177e4SLinus Torvalds	tristate "Whirlpool digest algorithms"
114cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
1151da177e4SLinus Torvalds	help
1161da177e4SLinus Torvalds	  Whirlpool hash algorithm 512, 384 and 256-bit hashes
1171da177e4SLinus Torvalds
1181da177e4SLinus Torvalds	  Whirlpool-512 is part of the NESSIE cryptographic primitives.
1191da177e4SLinus Torvalds	  Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
1201da177e4SLinus Torvalds
1211da177e4SLinus Torvalds	  See also:
1221da177e4SLinus Torvalds	  <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
1231da177e4SLinus Torvalds
1241da177e4SLinus Torvaldsconfig CRYPTO_TGR192
1251da177e4SLinus Torvalds	tristate "Tiger digest algorithms"
126cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
1271da177e4SLinus Torvalds	help
1281da177e4SLinus Torvalds	  Tiger hash algorithm 192, 160 and 128-bit hashes
1291da177e4SLinus Torvalds
1301da177e4SLinus Torvalds	  Tiger is a hash function optimized for 64-bit processors while
1311da177e4SLinus Torvalds	  still having decent performance on 32-bit processors.
1321da177e4SLinus Torvalds	  Tiger was developed by Ross Anderson and Eli Biham.
1331da177e4SLinus Torvalds
1341da177e4SLinus Torvalds	  See also:
1351da177e4SLinus Torvalds	  <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
1361da177e4SLinus Torvalds
137c494e070SRik Snelconfig CRYPTO_GF128MUL
138c494e070SRik Snel	tristate "GF(2^128) multiplication functions (EXPERIMENTAL)"
139c494e070SRik Snel	depends on EXPERIMENTAL
140c494e070SRik Snel	help
141c494e070SRik Snel	  Efficient table driven implementation of multiplications in the
142c494e070SRik Snel	  field GF(2^128).  This is needed by some cypher modes. This
143c494e070SRik Snel	  option will be selected automatically if you select such a
144c494e070SRik Snel	  cipher mode.  Only select this option by hand if you expect to load
145c494e070SRik Snel	  an external module that requires these functions.
146c494e070SRik Snel
147db131ef9SHerbert Xuconfig CRYPTO_ECB
148db131ef9SHerbert Xu	tristate "ECB support"
149db131ef9SHerbert Xu	select CRYPTO_BLKCIPHER
15043518407SHerbert Xu	select CRYPTO_MANAGER
151db131ef9SHerbert Xu	default m
152db131ef9SHerbert Xu	help
153db131ef9SHerbert Xu	  ECB: Electronic CodeBook mode
154db131ef9SHerbert Xu	  This is the simplest block cipher algorithm.  It simply encrypts
155db131ef9SHerbert Xu	  the input block by block.
156db131ef9SHerbert Xu
157db131ef9SHerbert Xuconfig CRYPTO_CBC
158db131ef9SHerbert Xu	tristate "CBC support"
159db131ef9SHerbert Xu	select CRYPTO_BLKCIPHER
16043518407SHerbert Xu	select CRYPTO_MANAGER
161db131ef9SHerbert Xu	default m
162db131ef9SHerbert Xu	help
163db131ef9SHerbert Xu	  CBC: Cipher Block Chaining mode
164db131ef9SHerbert Xu	  This block cipher algorithm is required for IPSec.
165db131ef9SHerbert Xu
16691652be5SDavid Howellsconfig CRYPTO_PCBC
16791652be5SDavid Howells	tristate "PCBC support"
16891652be5SDavid Howells	select CRYPTO_BLKCIPHER
16991652be5SDavid Howells	select CRYPTO_MANAGER
17091652be5SDavid Howells	default m
17191652be5SDavid Howells	help
17291652be5SDavid Howells	  PCBC: Propagating Cipher Block Chaining mode
17391652be5SDavid Howells	  This block cipher algorithm is required for RxRPC.
17491652be5SDavid Howells
17564470f1bSRik Snelconfig CRYPTO_LRW
17664470f1bSRik Snel	tristate "LRW support (EXPERIMENTAL)"
17764470f1bSRik Snel	depends on EXPERIMENTAL
17864470f1bSRik Snel	select CRYPTO_BLKCIPHER
17964470f1bSRik Snel	select CRYPTO_MANAGER
18064470f1bSRik Snel	select CRYPTO_GF128MUL
18164470f1bSRik Snel	help
18264470f1bSRik Snel	  LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable
18364470f1bSRik Snel	  narrow block cipher mode for dm-crypt.  Use it with cipher
18464470f1bSRik Snel	  specification string aes-lrw-benbi, the key must be 256, 320 or 384.
18564470f1bSRik Snel	  The first 128, 192 or 256 bits in the key are used for AES and the
18664470f1bSRik Snel	  rest is used to tie each cipher block to its logical position.
18764470f1bSRik Snel
188124b53d0SHerbert Xuconfig CRYPTO_CRYPTD
189124b53d0SHerbert Xu	tristate "Software async crypto daemon"
190124b53d0SHerbert Xu	select CRYPTO_ABLKCIPHER
191124b53d0SHerbert Xu	select CRYPTO_MANAGER
192124b53d0SHerbert Xu	help
193124b53d0SHerbert Xu	  This is a generic software asynchronous crypto daemon that
194124b53d0SHerbert Xu	  converts an arbitrary synchronous software crypto algorithm
195124b53d0SHerbert Xu	  into an asynchronous algorithm that executes in a kernel thread.
196124b53d0SHerbert Xu
1971da177e4SLinus Torvaldsconfig CRYPTO_DES
1981da177e4SLinus Torvalds	tristate "DES and Triple DES EDE cipher algorithms"
199cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
2001da177e4SLinus Torvalds	help
2011da177e4SLinus Torvalds	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
2021da177e4SLinus Torvalds
20390831639SDavid Howellsconfig CRYPTO_FCRYPT
20490831639SDavid Howells	tristate "FCrypt cipher algorithm"
20590831639SDavid Howells	select CRYPTO_ALGAPI
20690831639SDavid Howells	select CRYPTO_BLKCIPHER
20790831639SDavid Howells	help
20890831639SDavid Howells	  FCrypt algorithm used by RxRPC.
20990831639SDavid Howells
2101da177e4SLinus Torvaldsconfig CRYPTO_BLOWFISH
2111da177e4SLinus Torvalds	tristate "Blowfish cipher algorithm"
212cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
2131da177e4SLinus Torvalds	help
2141da177e4SLinus Torvalds	  Blowfish cipher algorithm, by Bruce Schneier.
2151da177e4SLinus Torvalds
2161da177e4SLinus Torvalds	  This is a variable key length cipher which can use keys from 32
2171da177e4SLinus Torvalds	  bits to 448 bits in length.  It's fast, simple and specifically
2181da177e4SLinus Torvalds	  designed for use on "large microprocessors".
2191da177e4SLinus Torvalds
2201da177e4SLinus Torvalds	  See also:
2211da177e4SLinus Torvalds	  <http://www.schneier.com/blowfish.html>
2221da177e4SLinus Torvalds
2231da177e4SLinus Torvaldsconfig CRYPTO_TWOFISH
2241da177e4SLinus Torvalds	tristate "Twofish cipher algorithm"
225cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
2262729bb42SJoachim Fritschi	select CRYPTO_TWOFISH_COMMON
2271da177e4SLinus Torvalds	help
2281da177e4SLinus Torvalds	  Twofish cipher algorithm.
2291da177e4SLinus Torvalds
2301da177e4SLinus Torvalds	  Twofish was submitted as an AES (Advanced Encryption Standard)
2311da177e4SLinus Torvalds	  candidate cipher by researchers at CounterPane Systems.  It is a
2321da177e4SLinus Torvalds	  16 round block cipher supporting key sizes of 128, 192, and 256
2331da177e4SLinus Torvalds	  bits.
2341da177e4SLinus Torvalds
2351da177e4SLinus Torvalds	  See also:
2361da177e4SLinus Torvalds	  <http://www.schneier.com/twofish.html>
2371da177e4SLinus Torvalds
2382729bb42SJoachim Fritschiconfig CRYPTO_TWOFISH_COMMON
2392729bb42SJoachim Fritschi	tristate
2402729bb42SJoachim Fritschi	help
2412729bb42SJoachim Fritschi	  Common parts of the Twofish cipher algorithm shared by the
2422729bb42SJoachim Fritschi	  generic c and the assembler implementations.
2432729bb42SJoachim Fritschi
244b9f535ffSJoachim Fritschiconfig CRYPTO_TWOFISH_586
245b9f535ffSJoachim Fritschi	tristate "Twofish cipher algorithms (i586)"
246cce9e06dSHerbert Xu	depends on (X86 || UML_X86) && !64BIT
247cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
248b9f535ffSJoachim Fritschi	select CRYPTO_TWOFISH_COMMON
249b9f535ffSJoachim Fritschi	help
250b9f535ffSJoachim Fritschi	  Twofish cipher algorithm.
251b9f535ffSJoachim Fritschi
252b9f535ffSJoachim Fritschi	  Twofish was submitted as an AES (Advanced Encryption Standard)
253b9f535ffSJoachim Fritschi	  candidate cipher by researchers at CounterPane Systems.  It is a
254b9f535ffSJoachim Fritschi	  16 round block cipher supporting key sizes of 128, 192, and 256
255b9f535ffSJoachim Fritschi	  bits.
256b9f535ffSJoachim Fritschi
257b9f535ffSJoachim Fritschi	  See also:
258b9f535ffSJoachim Fritschi	  <http://www.schneier.com/twofish.html>
259b9f535ffSJoachim Fritschi
260eaf44088SJoachim Fritschiconfig CRYPTO_TWOFISH_X86_64
261eaf44088SJoachim Fritschi	tristate "Twofish cipher algorithm (x86_64)"
262cce9e06dSHerbert Xu	depends on (X86 || UML_X86) && 64BIT
263cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
264eaf44088SJoachim Fritschi	select CRYPTO_TWOFISH_COMMON
265eaf44088SJoachim Fritschi	help
266eaf44088SJoachim Fritschi	  Twofish cipher algorithm (x86_64).
267eaf44088SJoachim Fritschi
268eaf44088SJoachim Fritschi	  Twofish was submitted as an AES (Advanced Encryption Standard)
269eaf44088SJoachim Fritschi	  candidate cipher by researchers at CounterPane Systems.  It is a
270eaf44088SJoachim Fritschi	  16 round block cipher supporting key sizes of 128, 192, and 256
271eaf44088SJoachim Fritschi	  bits.
272eaf44088SJoachim Fritschi
273eaf44088SJoachim Fritschi	  See also:
274eaf44088SJoachim Fritschi	  <http://www.schneier.com/twofish.html>
275eaf44088SJoachim Fritschi
2761da177e4SLinus Torvaldsconfig CRYPTO_SERPENT
2771da177e4SLinus Torvalds	tristate "Serpent cipher algorithm"
278cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
2791da177e4SLinus Torvalds	help
2801da177e4SLinus Torvalds	  Serpent cipher algorithm, by Anderson, Biham & Knudsen.
2811da177e4SLinus Torvalds
2821da177e4SLinus Torvalds	  Keys are allowed to be from 0 to 256 bits in length, in steps
2831da177e4SLinus Torvalds	  of 8 bits.  Also includes the 'Tnepres' algorithm, a reversed
2843dde6ad8SDavid Sterba	  variant of Serpent for compatibility with old kerneli.org code.
2851da177e4SLinus Torvalds
2861da177e4SLinus Torvalds	  See also:
2871da177e4SLinus Torvalds	  <http://www.cl.cam.ac.uk/~rja14/serpent.html>
2881da177e4SLinus Torvalds
2891da177e4SLinus Torvaldsconfig CRYPTO_AES
2901da177e4SLinus Torvalds	tristate "AES cipher algorithms"
291cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
2921da177e4SLinus Torvalds	help
2931da177e4SLinus Torvalds	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
2941da177e4SLinus Torvalds	  algorithm.
2951da177e4SLinus Torvalds
2961da177e4SLinus Torvalds	  Rijndael appears to be consistently a very good performer in
2971da177e4SLinus Torvalds	  both hardware and software across a wide range of computing
2981da177e4SLinus Torvalds	  environments regardless of its use in feedback or non-feedback
2991da177e4SLinus Torvalds	  modes. Its key setup time is excellent, and its key agility is
3001da177e4SLinus Torvalds	  good. Rijndael's very low memory requirements make it very well
3011da177e4SLinus Torvalds	  suited for restricted-space environments, in which it also
3021da177e4SLinus Torvalds	  demonstrates excellent performance. Rijndael's operations are
3031da177e4SLinus Torvalds	  among the easiest to defend against power and timing attacks.
3041da177e4SLinus Torvalds
3051da177e4SLinus Torvalds	  The AES specifies three key sizes: 128, 192 and 256 bits
3061da177e4SLinus Torvalds
3071da177e4SLinus Torvalds	  See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
3081da177e4SLinus Torvalds
3091da177e4SLinus Torvaldsconfig CRYPTO_AES_586
3101da177e4SLinus Torvalds	tristate "AES cipher algorithms (i586)"
311cce9e06dSHerbert Xu	depends on (X86 || UML_X86) && !64BIT
312cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3131da177e4SLinus Torvalds	help
3141da177e4SLinus Torvalds	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
3151da177e4SLinus Torvalds	  algorithm.
3161da177e4SLinus Torvalds
3171da177e4SLinus Torvalds	  Rijndael appears to be consistently a very good performer in
3181da177e4SLinus Torvalds	  both hardware and software across a wide range of computing
3191da177e4SLinus Torvalds	  environments regardless of its use in feedback or non-feedback
3201da177e4SLinus Torvalds	  modes. Its key setup time is excellent, and its key agility is
3211da177e4SLinus Torvalds	  good. Rijndael's very low memory requirements make it very well
3221da177e4SLinus Torvalds	  suited for restricted-space environments, in which it also
3231da177e4SLinus Torvalds	  demonstrates excellent performance. Rijndael's operations are
3241da177e4SLinus Torvalds	  among the easiest to defend against power and timing attacks.
3251da177e4SLinus Torvalds
3261da177e4SLinus Torvalds	  The AES specifies three key sizes: 128, 192 and 256 bits
3271da177e4SLinus Torvalds
3281da177e4SLinus Torvalds	  See <http://csrc.nist.gov/encryption/aes/> for more information.
3291da177e4SLinus Torvalds
330a2a892a2SAndreas Steinmetzconfig CRYPTO_AES_X86_64
331a2a892a2SAndreas Steinmetz	tristate "AES cipher algorithms (x86_64)"
332cce9e06dSHerbert Xu	depends on (X86 || UML_X86) && 64BIT
333cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
334a2a892a2SAndreas Steinmetz	help
335a2a892a2SAndreas Steinmetz	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
336a2a892a2SAndreas Steinmetz	  algorithm.
337a2a892a2SAndreas Steinmetz
338a2a892a2SAndreas Steinmetz	  Rijndael appears to be consistently a very good performer in
339a2a892a2SAndreas Steinmetz	  both hardware and software across a wide range of computing
340a2a892a2SAndreas Steinmetz	  environments regardless of its use in feedback or non-feedback
341a2a892a2SAndreas Steinmetz	  modes. Its key setup time is excellent, and its key agility is
342a2a892a2SAndreas Steinmetz	  good. Rijndael's very low memory requirements make it very well
343a2a892a2SAndreas Steinmetz	  suited for restricted-space environments, in which it also
344a2a892a2SAndreas Steinmetz	  demonstrates excellent performance. Rijndael's operations are
345a2a892a2SAndreas Steinmetz	  among the easiest to defend against power and timing attacks.
346a2a892a2SAndreas Steinmetz
347a2a892a2SAndreas Steinmetz	  The AES specifies three key sizes: 128, 192 and 256 bits
348a2a892a2SAndreas Steinmetz
349a2a892a2SAndreas Steinmetz	  See <http://csrc.nist.gov/encryption/aes/> for more information.
350a2a892a2SAndreas Steinmetz
3511da177e4SLinus Torvaldsconfig CRYPTO_CAST5
3521da177e4SLinus Torvalds	tristate "CAST5 (CAST-128) cipher algorithm"
353cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3541da177e4SLinus Torvalds	help
3551da177e4SLinus Torvalds	  The CAST5 encryption algorithm (synonymous with CAST-128) is
3561da177e4SLinus Torvalds	  described in RFC2144.
3571da177e4SLinus Torvalds
3581da177e4SLinus Torvaldsconfig CRYPTO_CAST6
3591da177e4SLinus Torvalds	tristate "CAST6 (CAST-256) cipher algorithm"
360cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3611da177e4SLinus Torvalds	help
3621da177e4SLinus Torvalds	  The CAST6 encryption algorithm (synonymous with CAST-256) is
3631da177e4SLinus Torvalds	  described in RFC2612.
3641da177e4SLinus Torvalds
3651da177e4SLinus Torvaldsconfig CRYPTO_TEA
366fb4f10edSAaron Grothe	tristate "TEA, XTEA and XETA cipher algorithms"
367cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3681da177e4SLinus Torvalds	help
3691da177e4SLinus Torvalds	  TEA cipher algorithm.
3701da177e4SLinus Torvalds
3711da177e4SLinus Torvalds	  Tiny Encryption Algorithm is a simple cipher that uses
3721da177e4SLinus Torvalds	  many rounds for security.  It is very fast and uses
3731da177e4SLinus Torvalds	  little memory.
3741da177e4SLinus Torvalds
3751da177e4SLinus Torvalds	  Xtendend Tiny Encryption Algorithm is a modification to
3761da177e4SLinus Torvalds	  the TEA algorithm to address a potential key weakness
3771da177e4SLinus Torvalds	  in the TEA algorithm.
3781da177e4SLinus Torvalds
379fb4f10edSAaron Grothe	  Xtendend Encryption Tiny Algorithm is a mis-implementation
380fb4f10edSAaron Grothe	  of the XTEA algorithm for compatibility purposes.
381fb4f10edSAaron Grothe
3821da177e4SLinus Torvaldsconfig CRYPTO_ARC4
3831da177e4SLinus Torvalds	tristate "ARC4 cipher algorithm"
384cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3851da177e4SLinus Torvalds	help
3861da177e4SLinus Torvalds	  ARC4 cipher algorithm.
3871da177e4SLinus Torvalds
3881da177e4SLinus Torvalds	  ARC4 is a stream cipher using keys ranging from 8 bits to 2048
3891da177e4SLinus Torvalds	  bits in length.  This algorithm is required for driver-based
3901da177e4SLinus Torvalds	  WEP, but it should not be for other purposes because of the
3911da177e4SLinus Torvalds	  weakness of the algorithm.
3921da177e4SLinus Torvalds
3931da177e4SLinus Torvaldsconfig CRYPTO_KHAZAD
3941da177e4SLinus Torvalds	tristate "Khazad cipher algorithm"
395cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
3961da177e4SLinus Torvalds	help
3971da177e4SLinus Torvalds	  Khazad cipher algorithm.
3981da177e4SLinus Torvalds
3991da177e4SLinus Torvalds	  Khazad was a finalist in the initial NESSIE competition.  It is
4001da177e4SLinus Torvalds	  an algorithm optimized for 64-bit processors with good performance
4011da177e4SLinus Torvalds	  on 32-bit processors.  Khazad uses an 128 bit key size.
4021da177e4SLinus Torvalds
4031da177e4SLinus Torvalds	  See also:
4041da177e4SLinus Torvalds	  <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
4051da177e4SLinus Torvalds
4061da177e4SLinus Torvaldsconfig CRYPTO_ANUBIS
4071da177e4SLinus Torvalds	tristate "Anubis cipher algorithm"
408cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4091da177e4SLinus Torvalds	help
4101da177e4SLinus Torvalds	  Anubis cipher algorithm.
4111da177e4SLinus Torvalds
4121da177e4SLinus Torvalds	  Anubis is a variable key length cipher which can use keys from
4131da177e4SLinus Torvalds	  128 bits to 320 bits in length.  It was evaluated as a entrant
4141da177e4SLinus Torvalds	  in the NESSIE competition.
4151da177e4SLinus Torvalds
4161da177e4SLinus Torvalds	  See also:
4171da177e4SLinus Torvalds	  <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
4181da177e4SLinus Torvalds	  <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
4191da177e4SLinus Torvalds
4201da177e4SLinus Torvalds
4211da177e4SLinus Torvaldsconfig CRYPTO_DEFLATE
4221da177e4SLinus Torvalds	tristate "Deflate compression algorithm"
423cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4241da177e4SLinus Torvalds	select ZLIB_INFLATE
4251da177e4SLinus Torvalds	select ZLIB_DEFLATE
4261da177e4SLinus Torvalds	help
4271da177e4SLinus Torvalds	  This is the Deflate algorithm (RFC1951), specified for use in
4281da177e4SLinus Torvalds	  IPSec with the IPCOMP protocol (RFC3173, RFC2394).
4291da177e4SLinus Torvalds
4301da177e4SLinus Torvalds	  You will most probably want this if using IPSec.
4311da177e4SLinus Torvalds
4321da177e4SLinus Torvaldsconfig CRYPTO_MICHAEL_MIC
4331da177e4SLinus Torvalds	tristate "Michael MIC keyed digest algorithm"
434cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4351da177e4SLinus Torvalds	help
4361da177e4SLinus Torvalds	  Michael MIC is used for message integrity protection in TKIP
4371da177e4SLinus Torvalds	  (IEEE 802.11i). This algorithm is required for TKIP, but it
4381da177e4SLinus Torvalds	  should not be used for other purposes because of the weakness
4391da177e4SLinus Torvalds	  of the algorithm.
4401da177e4SLinus Torvalds
4411da177e4SLinus Torvaldsconfig CRYPTO_CRC32C
4421da177e4SLinus Torvalds	tristate "CRC32c CRC algorithm"
443cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4441da177e4SLinus Torvalds	select LIBCRC32C
4451da177e4SLinus Torvalds	help
4461da177e4SLinus Torvalds	  Castagnoli, et al Cyclic Redundancy-Check Algorithm.  Used
4471da177e4SLinus Torvalds	  by iSCSI for header and data digests and by others.
4481da177e4SLinus Torvalds	  See Castagnoli93.  This implementation uses lib/libcrc32c.
4491da177e4SLinus Torvalds          Module will be crc32c.
4501da177e4SLinus Torvalds
45104ac7db3SNoriaki TAKAMIYAconfig CRYPTO_CAMELLIA
45204ac7db3SNoriaki TAKAMIYA	tristate "Camellia cipher algorithms"
45304ac7db3SNoriaki TAKAMIYA	depends on CRYPTO
45404ac7db3SNoriaki TAKAMIYA	select CRYPTO_ALGAPI
45504ac7db3SNoriaki TAKAMIYA	help
45604ac7db3SNoriaki TAKAMIYA	  Camellia cipher algorithms module.
45704ac7db3SNoriaki TAKAMIYA
45804ac7db3SNoriaki TAKAMIYA	  Camellia is a symmetric key block cipher developed jointly
45904ac7db3SNoriaki TAKAMIYA	  at NTT and Mitsubishi Electric Corporation.
46004ac7db3SNoriaki TAKAMIYA
46104ac7db3SNoriaki TAKAMIYA	  The Camellia specifies three key sizes: 128, 192 and 256 bits.
46204ac7db3SNoriaki TAKAMIYA
46304ac7db3SNoriaki TAKAMIYA	  See also:
46404ac7db3SNoriaki TAKAMIYA	  <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
46504ac7db3SNoriaki TAKAMIYA
4661da177e4SLinus Torvaldsconfig CRYPTO_TEST
4671da177e4SLinus Torvalds	tristate "Testing module"
468cce9e06dSHerbert Xu	depends on m
469cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
4701da177e4SLinus Torvalds	help
4711da177e4SLinus Torvalds	  Quick & dirty crypto test module.
4721da177e4SLinus Torvalds
4731da177e4SLinus Torvaldssource "drivers/crypto/Kconfig"
4741da177e4SLinus Torvalds
475cce9e06dSHerbert Xuendif	# if CRYPTO
476cce9e06dSHerbert Xu
477cce9e06dSHerbert Xuendmenu
478