xref: /linux/drivers/crypto/Kconfig (revision 3f5615e012b4593943bbc2a6c3ce150bb33e1966)
1b511431dSJan Engelhardt
2b511431dSJan Engelhardtmenuconfig CRYPTO_HW
3b511431dSJan Engelhardt	bool "Hardware crypto devices"
4b511431dSJan Engelhardt	default y
506bfb7ebSJan Engelhardt	---help---
606bfb7ebSJan Engelhardt	  Say Y here to get to see options for hardware crypto devices and
706bfb7ebSJan Engelhardt	  processors. This option alone does not add any kernel code.
806bfb7ebSJan Engelhardt
906bfb7ebSJan Engelhardt	  If you say N, all options in this submenu will be skipped and disabled.
10b511431dSJan Engelhardt
11b511431dSJan Engelhardtif CRYPTO_HW
121da177e4SLinus Torvalds
131da177e4SLinus Torvaldsconfig CRYPTO_DEV_PADLOCK
14d158325eSHerbert Xu	tristate "Support for VIA PadLock ACE"
15b00296fbSAl Viro	depends on X86_32 && !UML
16cce9e06dSHerbert Xu	select CRYPTO_ALGAPI
171da177e4SLinus Torvalds	help
181da177e4SLinus Torvalds	  Some VIA processors come with an integrated crypto engine
191da177e4SLinus Torvalds	  (so called VIA PadLock ACE, Advanced Cryptography Engine)
201191f0a4SMichal Ludvig	  that provides instructions for very fast cryptographic
211191f0a4SMichal Ludvig	  operations with supported algorithms.
221da177e4SLinus Torvalds
231da177e4SLinus Torvalds	  The instructions are used only when the CPU supports them.
245644bda5SMichal Ludvig	  Otherwise software encryption is used.
255644bda5SMichal Ludvig
261da177e4SLinus Torvaldsconfig CRYPTO_DEV_PADLOCK_AES
271191f0a4SMichal Ludvig	tristate "PadLock driver for AES algorithm"
281da177e4SLinus Torvalds	depends on CRYPTO_DEV_PADLOCK
2928ce728aSHerbert Xu	select CRYPTO_BLKCIPHER
301da177e4SLinus Torvalds	help
311da177e4SLinus Torvalds	  Use VIA PadLock for AES algorithm.
321da177e4SLinus Torvalds
331191f0a4SMichal Ludvig	  Available in VIA C3 and newer CPUs.
341191f0a4SMichal Ludvig
351191f0a4SMichal Ludvig	  If unsure say M. The compiled module will be
361191f0a4SMichal Ludvig	  called padlock-aes.ko
371191f0a4SMichal Ludvig
386c833275SMichal Ludvigconfig CRYPTO_DEV_PADLOCK_SHA
396c833275SMichal Ludvig	tristate "PadLock driver for SHA1 and SHA256 algorithms"
406c833275SMichal Ludvig	depends on CRYPTO_DEV_PADLOCK
416c833275SMichal Ludvig	select CRYPTO_SHA1
426c833275SMichal Ludvig	select CRYPTO_SHA256
436c833275SMichal Ludvig	help
446c833275SMichal Ludvig	  Use VIA PadLock for SHA1/SHA256 algorithms.
456c833275SMichal Ludvig
466c833275SMichal Ludvig	  Available in VIA C7 and newer processors.
476c833275SMichal Ludvig
486c833275SMichal Ludvig	  If unsure say M. The compiled module will be
496c833275SMichal Ludvig	  called padlock-sha.ko
506c833275SMichal Ludvig
519fe757b0SJordan Crouseconfig CRYPTO_DEV_GEODE
529fe757b0SJordan Crouse	tristate "Support for the Geode LX AES engine"
53f6259deaSSimon Arlott	depends on X86_32 && PCI
549fe757b0SJordan Crouse	select CRYPTO_ALGAPI
559fe757b0SJordan Crouse	select CRYPTO_BLKCIPHER
569fe757b0SJordan Crouse	help
579fe757b0SJordan Crouse	  Say 'Y' here to use the AMD Geode LX processor on-board AES
583dde6ad8SDavid Sterba	  engine for the CryptoAPI AES algorithm.
599fe757b0SJordan Crouse
609fe757b0SJordan Crouse	  To compile this driver as a module, choose M here: the module
619fe757b0SJordan Crouse	  will be called geode-aes.
629fe757b0SJordan Crouse
6361d48c2cSMartin Schwidefskyconfig ZCRYPT
6461d48c2cSMartin Schwidefsky	tristate "Support for PCI-attached cryptographic adapters"
6561d48c2cSMartin Schwidefsky	depends on S390
6661d48c2cSMartin Schwidefsky	select ZCRYPT_MONOLITHIC if ZCRYPT="y"
6761d48c2cSMartin Schwidefsky	help
6861d48c2cSMartin Schwidefsky	  Select this option if you want to use a PCI-attached cryptographic
6961d48c2cSMartin Schwidefsky	  adapter like:
7061d48c2cSMartin Schwidefsky	  + PCI Cryptographic Accelerator (PCICA)
7161d48c2cSMartin Schwidefsky	  + PCI Cryptographic Coprocessor (PCICC)
7261d48c2cSMartin Schwidefsky	  + PCI-X Cryptographic Coprocessor (PCIXCC)
7361d48c2cSMartin Schwidefsky	  + Crypto Express2 Coprocessor (CEX2C)
7461d48c2cSMartin Schwidefsky	  + Crypto Express2 Accelerator (CEX2A)
7561d48c2cSMartin Schwidefsky
7661d48c2cSMartin Schwidefskyconfig ZCRYPT_MONOLITHIC
7761d48c2cSMartin Schwidefsky	bool "Monolithic zcrypt module"
7861d48c2cSMartin Schwidefsky	depends on ZCRYPT="m"
7961d48c2cSMartin Schwidefsky	help
8061d48c2cSMartin Schwidefsky	  Select this option if you want to have a single module z90crypt.ko
8161d48c2cSMartin Schwidefsky	  that contains all parts of the crypto device driver (ap bus,
8261d48c2cSMartin Schwidefsky	  request router and all the card drivers).
8361d48c2cSMartin Schwidefsky
84*3f5615e0SJan Glauberconfig CRYPTO_SHA1_S390
85*3f5615e0SJan Glauber	tristate "SHA1 digest algorithm"
86*3f5615e0SJan Glauber	depends on S390
87*3f5615e0SJan Glauber	select CRYPTO_ALGAPI
88*3f5615e0SJan Glauber	help
89*3f5615e0SJan Glauber	  This is the s390 hardware accelerated implementation of the
90*3f5615e0SJan Glauber	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
91*3f5615e0SJan Glauber
92*3f5615e0SJan Glauberconfig CRYPTO_SHA256_S390
93*3f5615e0SJan Glauber	tristate "SHA256 digest algorithm"
94*3f5615e0SJan Glauber	depends on S390
95*3f5615e0SJan Glauber	select CRYPTO_ALGAPI
96*3f5615e0SJan Glauber	help
97*3f5615e0SJan Glauber	  This is the s390 hardware accelerated implementation of the
98*3f5615e0SJan Glauber	  SHA256 secure hash standard (DFIPS 180-2).
99*3f5615e0SJan Glauber
100*3f5615e0SJan Glauber	  This version of SHA implements a 256 bit hash with 128 bits of
101*3f5615e0SJan Glauber	  security against collision attacks.
102*3f5615e0SJan Glauber
103*3f5615e0SJan Glauberconfig CRYPTO_DES_S390
104*3f5615e0SJan Glauber	tristate "DES and Triple DES cipher algorithms"
105*3f5615e0SJan Glauber	depends on S390
106*3f5615e0SJan Glauber	select CRYPTO_ALGAPI
107*3f5615e0SJan Glauber	select CRYPTO_BLKCIPHER
108*3f5615e0SJan Glauber	help
109*3f5615e0SJan Glauber	  This us the s390 hardware accelerated implementation of the
110*3f5615e0SJan Glauber	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
111*3f5615e0SJan Glauber
112*3f5615e0SJan Glauberconfig CRYPTO_AES_S390
113*3f5615e0SJan Glauber	tristate "AES cipher algorithms"
114*3f5615e0SJan Glauber	depends on S390
115*3f5615e0SJan Glauber	select CRYPTO_ALGAPI
116*3f5615e0SJan Glauber	select CRYPTO_BLKCIPHER
117*3f5615e0SJan Glauber	help
118*3f5615e0SJan Glauber	  This is the s390 hardware accelerated implementation of the
119*3f5615e0SJan Glauber	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
120*3f5615e0SJan Glauber	  algorithm.
121*3f5615e0SJan Glauber
122*3f5615e0SJan Glauber	  Rijndael appears to be consistently a very good performer in
123*3f5615e0SJan Glauber	  both hardware and software across a wide range of computing
124*3f5615e0SJan Glauber	  environments regardless of its use in feedback or non-feedback
125*3f5615e0SJan Glauber	  modes. Its key setup time is excellent, and its key agility is
126*3f5615e0SJan Glauber	  good. Rijndael's very low memory requirements make it very well
127*3f5615e0SJan Glauber	  suited for restricted-space environments, in which it also
128*3f5615e0SJan Glauber	  demonstrates excellent performance. Rijndael's operations are
129*3f5615e0SJan Glauber	  among the easiest to defend against power and timing attacks.
130*3f5615e0SJan Glauber
131*3f5615e0SJan Glauber	  On s390 the System z9-109 currently only supports the key size
132*3f5615e0SJan Glauber	  of 128 bit.
133*3f5615e0SJan Glauber
134*3f5615e0SJan Glauberconfig S390_PRNG
135*3f5615e0SJan Glauber	tristate "Pseudo random number generator device driver"
136*3f5615e0SJan Glauber	depends on S390
137*3f5615e0SJan Glauber	default "m"
138*3f5615e0SJan Glauber	help
139*3f5615e0SJan Glauber	  Select this option if you want to use the s390 pseudo random number
140*3f5615e0SJan Glauber	  generator. The PRNG is part of the cryptographic processor functions
141*3f5615e0SJan Glauber	  and uses triple-DES to generate secure random numbers like the
142*3f5615e0SJan Glauber	  ANSI X9.17 standard. The PRNG is usable via the char device
143*3f5615e0SJan Glauber	  /dev/prandom.
144*3f5615e0SJan Glauber
145f7d0561eSEvgeniy Polyakovconfig CRYPTO_DEV_HIFN_795X
146f7d0561eSEvgeniy Polyakov	tristate "Driver HIFN 795x crypto accelerator chips"
147c3041f9cSEvgeniy Polyakov	select CRYPTO_DES
148f7d0561eSEvgeniy Polyakov	select CRYPTO_ALGAPI
149653ebd9cSHerbert Xu	select CRYPTO_BLKCIPHER
150946fef4eSHerbert Xu	select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG
1512707b937SJan Glauber	depends on PCI
152f7d0561eSEvgeniy Polyakov	help
153f7d0561eSEvgeniy Polyakov	  This option allows you to have support for HIFN 795x crypto adapters.
154f7d0561eSEvgeniy Polyakov
155946fef4eSHerbert Xuconfig CRYPTO_DEV_HIFN_795X_RNG
156946fef4eSHerbert Xu	bool "HIFN 795x random number generator"
157946fef4eSHerbert Xu	depends on CRYPTO_DEV_HIFN_795X
158946fef4eSHerbert Xu	help
159946fef4eSHerbert Xu	  Select this option if you want to enable the random number generator
160946fef4eSHerbert Xu	  on the HIFN 795x crypto adapters.
161f7d0561eSEvgeniy Polyakov
162b511431dSJan Engelhardtendif # CRYPTO_HW
163