xref: /openbmc/linux/drivers/crypto/Kconfig (revision a1e58bbd)
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	help
68	  Select this option if you want to use a PCI-attached cryptographic
69	  adapter like:
70	  + PCI Cryptographic Accelerator (PCICA)
71	  + PCI Cryptographic Coprocessor (PCICC)
72	  + PCI-X Cryptographic Coprocessor (PCIXCC)
73	  + Crypto Express2 Coprocessor (CEX2C)
74	  + Crypto Express2 Accelerator (CEX2A)
75
76config ZCRYPT_MONOLITHIC
77	bool "Monolithic zcrypt module"
78	depends on ZCRYPT="m"
79	help
80	  Select this option if you want to have a single module z90crypt.ko
81	  that contains all parts of the crypto device driver (ap bus,
82	  request router and all the card drivers).
83
84config CRYPTO_SHA1_S390
85	tristate "SHA1 digest algorithm"
86	depends on S390
87	select CRYPTO_ALGAPI
88	help
89	  This is the s390 hardware accelerated implementation of the
90	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
91
92config CRYPTO_SHA256_S390
93	tristate "SHA256 digest algorithm"
94	depends on S390
95	select CRYPTO_ALGAPI
96	help
97	  This is the s390 hardware accelerated implementation of the
98	  SHA256 secure hash standard (DFIPS 180-2).
99
100	  This version of SHA implements a 256 bit hash with 128 bits of
101	  security against collision attacks.
102
103config CRYPTO_DES_S390
104	tristate "DES and Triple DES cipher algorithms"
105	depends on S390
106	select CRYPTO_ALGAPI
107	select CRYPTO_BLKCIPHER
108	help
109	  This us the s390 hardware accelerated implementation of the
110	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
111
112config CRYPTO_AES_S390
113	tristate "AES cipher algorithms"
114	depends on S390
115	select CRYPTO_ALGAPI
116	select CRYPTO_BLKCIPHER
117	help
118	  This is the s390 hardware accelerated implementation of the
119	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
120	  algorithm.
121
122	  Rijndael appears to be consistently a very good performer in
123	  both hardware and software across a wide range of computing
124	  environments regardless of its use in feedback or non-feedback
125	  modes. Its key setup time is excellent, and its key agility is
126	  good. Rijndael's very low memory requirements make it very well
127	  suited for restricted-space environments, in which it also
128	  demonstrates excellent performance. Rijndael's operations are
129	  among the easiest to defend against power and timing attacks.
130
131	  On s390 the System z9-109 currently only supports the key size
132	  of 128 bit.
133
134config S390_PRNG
135	tristate "Pseudo random number generator device driver"
136	depends on S390
137	default "m"
138	help
139	  Select this option if you want to use the s390 pseudo random number
140	  generator. The PRNG is part of the cryptographic processor functions
141	  and uses triple-DES to generate secure random numbers like the
142	  ANSI X9.17 standard. The PRNG is usable via the char device
143	  /dev/prandom.
144
145config CRYPTO_DEV_HIFN_795X
146	tristate "Driver HIFN 795x crypto accelerator chips"
147	select CRYPTO_DES
148	select CRYPTO_ALGAPI
149	select CRYPTO_BLKCIPHER
150	select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG
151	depends on PCI
152	help
153	  This option allows you to have support for HIFN 795x crypto adapters.
154
155config CRYPTO_DEV_HIFN_795X_RNG
156	bool "HIFN 795x random number generator"
157	depends on CRYPTO_DEV_HIFN_795X
158	help
159	  Select this option if you want to enable the random number generator
160	  on the HIFN 795x crypto adapters.
161
162endif # CRYPTO_HW
163