vserver 1.9.5.x5
[linux-2.6.git] / crypto / Kconfig
1 #
2 # Cryptographic API Configuration
3 #
4
5 menu "Cryptographic options"
6
7 config CRYPTO
8         bool "Cryptographic API"
9         help
10           This option provides the core Cryptographic API.
11
12 config CRYPTO_HMAC
13         bool "HMAC support"
14         depends on CRYPTO
15         help
16           HMAC: Keyed-Hashing for Message Authentication (RFC2104).
17           This is required for IPSec.
18
19 config CRYPTO_NULL
20         tristate "Null algorithms"
21         depends on CRYPTO
22         help
23           These are 'Null' algorithms, used by IPsec, which do nothing.
24
25 config CRYPTO_MD4
26         tristate "MD4 digest algorithm"
27         depends on CRYPTO
28         help
29           MD4 message digest algorithm (RFC1320).
30
31 config CRYPTO_MD5
32         tristate "MD5 digest algorithm"
33         depends on CRYPTO
34         help
35           MD5 message digest algorithm (RFC1321).
36
37 config CRYPTO_SHA1
38         tristate "SHA1 digest algorithm"
39         depends on CRYPTO
40         help
41           SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
42
43 config CRYPTO_SHA1_Z990
44         tristate "SHA1 digest algorithm for IBM zSeries z990"
45         depends on CRYPTO && ARCH_S390
46         help
47           SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
48
49 config CRYPTO_SHA256
50         tristate "SHA256 digest algorithm"
51         depends on CRYPTO
52         help
53           SHA256 secure hash standard (DFIPS 180-2).
54           
55           This version of SHA implements a 256 bit hash with 128 bits of
56           security against collision attacks.
57
58 config CRYPTO_SHA512
59         tristate "SHA384 and SHA512 digest algorithms"
60         depends on CRYPTO
61         help
62           SHA512 secure hash standard (DFIPS 180-2).
63           
64           This version of SHA implements a 512 bit hash with 256 bits of
65           security against collision attacks.
66
67           This code also includes SHA-384, a 384 bit hash with 192 bits
68           of security against collision attacks.
69
70 config CRYPTO_WP512
71         tristate "Whirlpool digest algorithms"
72         depends on CRYPTO
73         help
74           Whirlpool hash algorithm 512, 384 and 256-bit hashes
75
76           Whirlpool-512 is part of the NESSIE cryptographic primitives.
77           Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
78
79           See also:
80           <http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
81
82 config CRYPTO_DES
83         tristate "DES and Triple DES EDE cipher algorithms"
84         depends on CRYPTO
85         help
86           DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
87
88 config CRYPTO_DES_Z990
89         tristate "DES and Triple DES cipher algorithms for IBM zSeries z990"
90         depends on CRYPTO && ARCH_S390
91         help
92           DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
93
94 config CRYPTO_BLOWFISH
95         tristate "Blowfish cipher algorithm"
96         depends on CRYPTO
97         help
98           Blowfish cipher algorithm, by Bruce Schneier.
99           
100           This is a variable key length cipher which can use keys from 32
101           bits to 448 bits in length.  It's fast, simple and specifically
102           designed for use on "large microprocessors".
103           
104           See also:
105           <http://www.schneier.com/blowfish.html>
106
107 config CRYPTO_TWOFISH
108         tristate "Twofish cipher algorithm"
109         depends on CRYPTO
110         help
111           Twofish cipher algorithm.
112           
113           Twofish was submitted as an AES (Advanced Encryption Standard)
114           candidate cipher by researchers at CounterPane Systems.  It is a
115           16 round block cipher supporting key sizes of 128, 192, and 256
116           bits.
117           
118           See also:
119           <http://www.schneier.com/twofish.html>
120
121 config CRYPTO_SERPENT
122         tristate "Serpent cipher algorithm"
123         depends on CRYPTO
124         help
125           Serpent cipher algorithm, by Anderson, Biham & Knudsen.
126
127           Keys are allowed to be from 0 to 256 bits in length, in steps
128           of 8 bits.  Also includes the 'Tnepres' algorithm, a reversed
129           variant of Serpent for compatibility with old kerneli code.
130
131           See also:
132           <http://www.cl.cam.ac.uk/~rja14/serpent.html>
133
134 config CRYPTO_AES
135         tristate "AES cipher algorithms"
136         depends on CRYPTO && !(X86 && !X86_64)
137         help
138           AES cipher algorithms (FIPS-197). AES uses the Rijndael 
139           algorithm.
140
141           Rijndael appears to be consistently a very good performer in
142           both hardware and software across a wide range of computing 
143           environments regardless of its use in feedback or non-feedback 
144           modes. Its key setup time is excellent, and its key agility is 
145           good. Rijndael's very low memory requirements make it very well 
146           suited for restricted-space environments, in which it also 
147           demonstrates excellent performance. Rijndael's operations are 
148           among the easiest to defend against power and timing attacks. 
149
150           The AES specifies three key sizes: 128, 192 and 256 bits        
151
152           See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
153
154 config CRYPTO_AES_586
155         tristate "AES cipher algorithms (i586)"
156         depends on CRYPTO && (X86 && !X86_64)
157         help
158           AES cipher algorithms (FIPS-197). AES uses the Rijndael 
159           algorithm.
160
161           Rijndael appears to be consistently a very good performer in
162           both hardware and software across a wide range of computing 
163           environments regardless of its use in feedback or non-feedback 
164           modes. Its key setup time is excellent, and its key agility is 
165           good. Rijndael's very low memory requirements make it very well 
166           suited for restricted-space environments, in which it also 
167           demonstrates excellent performance. Rijndael's operations are 
168           among the easiest to defend against power and timing attacks. 
169
170           The AES specifies three key sizes: 128, 192 and 256 bits        
171
172           See <http://csrc.nist.gov/encryption/aes/> for more information.
173
174 config CRYPTO_CAST5
175         tristate "CAST5 (CAST-128) cipher algorithm"
176         depends on CRYPTO
177         help
178           The CAST5 encryption algorithm (synonymous with CAST-128) is
179           described in RFC2144.
180
181 config CRYPTO_CAST6
182         tristate "CAST6 (CAST-256) cipher algorithm"
183         depends on CRYPTO
184         help
185           The CAST6 encryption algorithm (synonymous with CAST-256) is
186           described in RFC2612.
187
188 config CRYPTO_TEA
189         tristate "TEA and XTEA cipher algorithms"
190         depends on CRYPTO
191         help
192           TEA cipher algorithm.
193
194           Tiny Encryption Algorithm is a simple cipher that uses
195           many rounds for security.  It is very fast and uses
196           little memory.
197
198           Xtendend Tiny Encryption Algorithm is a modification to
199           the TEA algorithm to address a potential key weakness
200           in the TEA algorithm.
201
202 config CRYPTO_ARC4
203         tristate "ARC4 cipher algorithm"
204         depends on CRYPTO
205         help
206           ARC4 cipher algorithm.
207
208           ARC4 is a stream cipher using keys ranging from 8 bits to 2048
209           bits in length.  This algorithm is required for driver-based 
210           WEP, but it should not be for other purposes because of the
211           weakness of the algorithm.
212
213 config CRYPTO_KHAZAD
214         tristate "Khazad cipher algorithm"
215         depends on CRYPTO
216         help
217           Khazad cipher algorithm.
218
219           Khazad was a finalist in the initial NESSIE competition.  It is
220           an algorithm optimized for 64-bit processors with good performance
221           on 32-bit processors.  Khazad uses an 128 bit key size.
222
223           See also:
224           <http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html>
225
226 config CRYPTO_ANUBIS
227         tristate "Anubis cipher algorithm"
228         depends on CRYPTO
229         help
230           Anubis cipher algorithm.
231
232           Anubis is a variable key length cipher which can use keys from 
233           128 bits to 320 bits in length.  It was evaluated as a entrant
234           in the NESSIE competition.
235           
236           See also:
237           <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
238           <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
239
240
241 config CRYPTO_DEFLATE
242         tristate "Deflate compression algorithm"
243         depends on CRYPTO
244         select ZLIB_INFLATE
245         select ZLIB_DEFLATE
246         help
247           This is the Deflate algorithm (RFC1951), specified for use in
248           IPSec with the IPCOMP protocol (RFC3173, RFC2394).
249           
250           You will most probably want this if using IPSec.
251
252 config CRYPTO_MICHAEL_MIC
253         tristate "Michael MIC keyed digest algorithm"
254         depends on CRYPTO
255         help
256           Michael MIC is used for message integrity protection in TKIP
257           (IEEE 802.11i). This algorithm is required for TKIP, but it
258           should not be used for other purposes because of the weakness
259           of the algorithm.
260
261 config CRYPTO_CRC32C
262         tristate "CRC32c CRC algorithm"
263         depends on CRYPTO
264         select LIBCRC32C
265         help
266           Castagnoli, et al Cyclic Redundancy-Check Algorithm.  Used
267           by iSCSI for header and data digests and by others.
268           See Castagnoli93.  This implementation uses lib/libcrc32c.
269           Module will be crc32c.
270
271 config CRYPTO_TEST
272         tristate "Testing module"
273         depends on CRYPTO
274         help
275           Quick & dirty crypto test module.
276
277 source "drivers/crypto/Kconfig"
278 endmenu
279