xref: /openbmc/linux/drivers/crypto/Kconfig (revision f42b3800)
1
2menuconfig 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
11if CRYPTO_HW
12
13config 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
26config 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
38config 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
51config 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
63config 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
77config 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
85config 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
93config 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
104config CRYPTO_DES_S390
105	tristate "DES and Triple DES cipher algorithms"
106	depends on S390
107	select CRYPTO_ALGAPI
108	select CRYPTO_BLKCIPHER
109	help
110	  This us the s390 hardware accelerated implementation of the
111	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
112
113config CRYPTO_AES_S390
114	tristate "AES cipher algorithms"
115	depends on S390
116	select CRYPTO_ALGAPI
117	select CRYPTO_BLKCIPHER
118	help
119	  This is the s390 hardware accelerated implementation of the
120	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
121	  algorithm.
122
123	  Rijndael appears to be consistently a very good performer in
124	  both hardware and software across a wide range of computing
125	  environments regardless of its use in feedback or non-feedback
126	  modes. Its key setup time is excellent, and its key agility is
127	  good. Rijndael's very low memory requirements make it very well
128	  suited for restricted-space environments, in which it also
129	  demonstrates excellent performance. Rijndael's operations are
130	  among the easiest to defend against power and timing attacks.
131
132	  On s390 the System z9-109 currently only supports the key size
133	  of 128 bit.
134
135config S390_PRNG
136	tristate "Pseudo random number generator device driver"
137	depends on S390
138	default "m"
139	help
140	  Select this option if you want to use the s390 pseudo random number
141	  generator. The PRNG is part of the cryptographic processor functions
142	  and uses triple-DES to generate secure random numbers like the
143	  ANSI X9.17 standard. The PRNG is usable via the char device
144	  /dev/prandom.
145
146config CRYPTO_DEV_HIFN_795X
147	tristate "Driver HIFN 795x crypto accelerator chips"
148	select CRYPTO_DES
149	select CRYPTO_ALGAPI
150	select CRYPTO_BLKCIPHER
151	select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG
152	depends on PCI
153	help
154	  This option allows you to have support for HIFN 795x crypto adapters.
155
156config CRYPTO_DEV_HIFN_795X_RNG
157	bool "HIFN 795x random number generator"
158	depends on CRYPTO_DEV_HIFN_795X
159	help
160	  Select this option if you want to enable the random number generator
161	  on the HIFN 795x crypto adapters.
162
163endif # CRYPTO_HW
164