[CRYPTO] sha384: Hardware acceleration for s390
[linux-2.6.git] / drivers / crypto / Kconfig
1
2 menuconfig CRYPTO_HW
3         bool "Hardware crypto devices"
4         default y
5         ---help---
6           Say Y here to get to see options for hardware crypto devices and
7           processors. This option alone does not add any kernel code.
8
9           If you say N, all options in this submenu will be skipped and disabled.
10
11 if CRYPTO_HW
12
13 config CRYPTO_DEV_PADLOCK
14         tristate "Support for VIA PadLock ACE"
15         depends on X86_32 && !UML
16         select CRYPTO_ALGAPI
17         help
18           Some VIA processors come with an integrated crypto engine
19           (so called VIA PadLock ACE, Advanced Cryptography Engine)
20           that provides instructions for very fast cryptographic
21           operations with supported algorithms.
22           
23           The instructions are used only when the CPU supports them.
24           Otherwise software encryption is used.
25
26 config CRYPTO_DEV_PADLOCK_AES
27         tristate "PadLock driver for AES algorithm"
28         depends on CRYPTO_DEV_PADLOCK
29         select CRYPTO_BLKCIPHER
30         help
31           Use VIA PadLock for AES algorithm.
32
33           Available in VIA C3 and newer CPUs.
34
35           If unsure say M. The compiled module will be
36           called padlock-aes.ko
37
38 config CRYPTO_DEV_PADLOCK_SHA
39         tristate "PadLock driver for SHA1 and SHA256 algorithms"
40         depends on CRYPTO_DEV_PADLOCK
41         select CRYPTO_SHA1
42         select CRYPTO_SHA256
43         help
44           Use VIA PadLock for SHA1/SHA256 algorithms.
45
46           Available in VIA C7 and newer processors.
47
48           If unsure say M. The compiled module will be
49           called padlock-sha.ko
50
51 config CRYPTO_DEV_GEODE
52         tristate "Support for the Geode LX AES engine"
53         depends on X86_32 && PCI
54         select CRYPTO_ALGAPI
55         select CRYPTO_BLKCIPHER
56         help
57           Say 'Y' here to use the AMD Geode LX processor on-board AES
58           engine for the CryptoAPI AES algorithm.
59
60           To compile this driver as a module, choose M here: the module
61           will be called geode-aes.
62
63 config ZCRYPT
64         tristate "Support for PCI-attached cryptographic adapters"
65         depends on S390
66         select ZCRYPT_MONOLITHIC if ZCRYPT="y"
67         select HW_RANDOM
68         help
69           Select this option if you want to use a PCI-attached cryptographic
70           adapter like:
71           + PCI Cryptographic Accelerator (PCICA)
72           + PCI Cryptographic Coprocessor (PCICC)
73           + PCI-X Cryptographic Coprocessor (PCIXCC)
74           + Crypto Express2 Coprocessor (CEX2C)
75           + Crypto Express2 Accelerator (CEX2A)
76
77 config ZCRYPT_MONOLITHIC
78         bool "Monolithic zcrypt module"
79         depends on ZCRYPT="m"
80         help
81           Select this option if you want to have a single module z90crypt.ko
82           that contains all parts of the crypto device driver (ap bus,
83           request router and all the card drivers).
84
85 config CRYPTO_SHA1_S390
86         tristate "SHA1 digest algorithm"
87         depends on S390
88         select CRYPTO_ALGAPI
89         help
90           This is the s390 hardware accelerated implementation of the
91           SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
92
93 config CRYPTO_SHA256_S390
94         tristate "SHA256 digest algorithm"
95         depends on S390
96         select CRYPTO_ALGAPI
97         help
98           This is the s390 hardware accelerated implementation of the
99           SHA256 secure hash standard (DFIPS 180-2).
100
101           This version of SHA implements a 256 bit hash with 128 bits of
102           security against collision attacks.
103
104 config CRYPTO_SHA512_S390
105         tristate "SHA384 and SHA512 digest algorithm"
106         depends on S390
107         select CRYPTO_ALGAPI
108         help
109           This is the s390 hardware accelerated implementation of the
110           SHA512 secure hash standard.
111
112           This version of SHA implements a 512 bit hash with 256 bits of
113           security against collision attacks. The code also includes SHA-384,
114           a 384 bit hash with 192 bits of security against collision attacks.
115
116
117 config CRYPTO_DES_S390
118         tristate "DES and Triple DES cipher algorithms"
119         depends on S390
120         select CRYPTO_ALGAPI
121         select CRYPTO_BLKCIPHER
122         help
123           This us the s390 hardware accelerated implementation of the
124           DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
125
126 config CRYPTO_AES_S390
127         tristate "AES cipher algorithms"
128         depends on S390
129         select CRYPTO_ALGAPI
130         select CRYPTO_BLKCIPHER
131         help
132           This is the s390 hardware accelerated implementation of the
133           AES cipher algorithms (FIPS-197). AES uses the Rijndael
134           algorithm.
135
136           Rijndael appears to be consistently a very good performer in
137           both hardware and software across a wide range of computing
138           environments regardless of its use in feedback or non-feedback
139           modes. Its key setup time is excellent, and its key agility is
140           good. Rijndael's very low memory requirements make it very well
141           suited for restricted-space environments, in which it also
142           demonstrates excellent performance. Rijndael's operations are
143           among the easiest to defend against power and timing attacks.
144
145           On s390 the System z9-109 currently only supports the key size
146           of 128 bit.
147
148 config S390_PRNG
149         tristate "Pseudo random number generator device driver"
150         depends on S390
151         default "m"
152         help
153           Select this option if you want to use the s390 pseudo random number
154           generator. The PRNG is part of the cryptographic processor functions
155           and uses triple-DES to generate secure random numbers like the
156           ANSI X9.17 standard. The PRNG is usable via the char device
157           /dev/prandom.
158
159 config CRYPTO_DEV_HIFN_795X
160         tristate "Driver HIFN 795x crypto accelerator chips"
161         select CRYPTO_DES
162         select CRYPTO_ALGAPI
163         select CRYPTO_BLKCIPHER
164         select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG
165         depends on PCI
166         help
167           This option allows you to have support for HIFN 795x crypto adapters.
168
169 config CRYPTO_DEV_HIFN_795X_RNG
170         bool "HIFN 795x random number generator"
171         depends on CRYPTO_DEV_HIFN_795X
172         help
173           Select this option if you want to enable the random number generator
174           on the HIFN 795x crypto adapters.
175
176 endif # CRYPTO_HW