~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/crypto/Kconfig

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /crypto/Kconfig (Version linux-6.12-rc7) and /crypto/Kconfig (Version linux-4.11.12)


  1 # SPDX-License-Identifier: GPL-2.0             << 
  2 #                                                   1 #
  3 # Generic algorithms support                        2 # Generic algorithms support
  4 #                                                   3 #
  5 config XOR_BLOCKS                                   4 config XOR_BLOCKS
  6         tristate                                    5         tristate
  7                                                     6 
  8 #                                                   7 #
  9 # async_tx api: hardware offloaded memory tran      8 # async_tx api: hardware offloaded memory transfer/transform support
 10 #                                                   9 #
 11 source "crypto/async_tx/Kconfig"                   10 source "crypto/async_tx/Kconfig"
 12                                                    11 
 13 #                                                  12 #
 14 # Cryptographic API Configuration                  13 # Cryptographic API Configuration
 15 #                                                  14 #
 16 menuconfig CRYPTO                                  15 menuconfig CRYPTO
 17         tristate "Cryptographic API"               16         tristate "Cryptographic API"
 18         select CRYPTO_LIB_UTILS                << 
 19         help                                       17         help
 20           This option provides the core Crypto     18           This option provides the core Cryptographic API.
 21                                                    19 
 22 if CRYPTO                                          20 if CRYPTO
 23                                                    21 
 24 menu "Crypto core or helper"                   !!  22 comment "Crypto core or helper"
 25                                                    23 
 26 config CRYPTO_FIPS                                 24 config CRYPTO_FIPS
 27         bool "FIPS 200 compliance"                 25         bool "FIPS 200 compliance"
 28         depends on (CRYPTO_ANSI_CPRNG || CRYPT     26         depends on (CRYPTO_ANSI_CPRNG || CRYPTO_DRBG) && !CRYPTO_MANAGER_DISABLE_TESTS
 29         depends on (MODULE_SIG || !MODULES)        27         depends on (MODULE_SIG || !MODULES)
 30         help                                       28         help
 31           This option enables the fips boot op !!  29           This options enables the fips boot option which is
 32           required if you want the system to o !!  30           required if you want to system to operate in a FIPS 200
 33           certification.  You should say no un     31           certification.  You should say no unless you know what
 34           this is.                                 32           this is.
 35                                                    33 
 36 config CRYPTO_FIPS_NAME                        << 
 37         string "FIPS Module Name"              << 
 38         default "Linux Kernel Cryptographic AP << 
 39         depends on CRYPTO_FIPS                 << 
 40         help                                   << 
 41           This option sets the FIPS Module nam << 
 42           the /proc/sys/crypto/fips_name file. << 
 43                                                << 
 44 config CRYPTO_FIPS_CUSTOM_VERSION              << 
 45         bool "Use Custom FIPS Module Version"  << 
 46         depends on CRYPTO_FIPS                 << 
 47         default n                              << 
 48                                                << 
 49 config CRYPTO_FIPS_VERSION                     << 
 50         string "FIPS Module Version"           << 
 51         default "(none)"                       << 
 52         depends on CRYPTO_FIPS_CUSTOM_VERSION  << 
 53         help                                   << 
 54           This option provides the ability to  << 
 55           By default the KERNELRELEASE value i << 
 56                                                << 
 57 config CRYPTO_ALGAPI                               34 config CRYPTO_ALGAPI
 58         tristate                                   35         tristate
 59         select CRYPTO_ALGAPI2                      36         select CRYPTO_ALGAPI2
 60         help                                       37         help
 61           This option provides the API for cry     38           This option provides the API for cryptographic algorithms.
 62                                                    39 
 63 config CRYPTO_ALGAPI2                              40 config CRYPTO_ALGAPI2
 64         tristate                                   41         tristate
 65                                                    42 
 66 config CRYPTO_AEAD                                 43 config CRYPTO_AEAD
 67         tristate                                   44         tristate
 68         select CRYPTO_AEAD2                        45         select CRYPTO_AEAD2
 69         select CRYPTO_ALGAPI                       46         select CRYPTO_ALGAPI
 70                                                    47 
 71 config CRYPTO_AEAD2                                48 config CRYPTO_AEAD2
 72         tristate                                   49         tristate
 73         select CRYPTO_ALGAPI2                      50         select CRYPTO_ALGAPI2
                                                   >>  51         select CRYPTO_NULL2
                                                   >>  52         select CRYPTO_RNG2
 74                                                    53 
 75 config CRYPTO_SIG                              !!  54 config CRYPTO_BLKCIPHER
 76         tristate                               << 
 77         select CRYPTO_SIG2                     << 
 78         select CRYPTO_ALGAPI                   << 
 79                                                << 
 80 config CRYPTO_SIG2                             << 
 81         tristate                               << 
 82         select CRYPTO_ALGAPI2                  << 
 83                                                << 
 84 config CRYPTO_SKCIPHER                         << 
 85         tristate                                   55         tristate
 86         select CRYPTO_SKCIPHER2                !!  56         select CRYPTO_BLKCIPHER2
 87         select CRYPTO_ALGAPI                       57         select CRYPTO_ALGAPI
 88         select CRYPTO_ECB                      << 
 89                                                    58 
 90 config CRYPTO_SKCIPHER2                        !!  59 config CRYPTO_BLKCIPHER2
 91         tristate                                   60         tristate
 92         select CRYPTO_ALGAPI2                      61         select CRYPTO_ALGAPI2
                                                   >>  62         select CRYPTO_RNG2
                                                   >>  63         select CRYPTO_WORKQUEUE
 93                                                    64 
 94 config CRYPTO_HASH                                 65 config CRYPTO_HASH
 95         tristate                                   66         tristate
 96         select CRYPTO_HASH2                        67         select CRYPTO_HASH2
 97         select CRYPTO_ALGAPI                       68         select CRYPTO_ALGAPI
 98                                                    69 
 99 config CRYPTO_HASH2                                70 config CRYPTO_HASH2
100         tristate                                   71         tristate
101         select CRYPTO_ALGAPI2                      72         select CRYPTO_ALGAPI2
102                                                    73 
103 config CRYPTO_RNG                                  74 config CRYPTO_RNG
104         tristate                                   75         tristate
105         select CRYPTO_RNG2                         76         select CRYPTO_RNG2
106         select CRYPTO_ALGAPI                       77         select CRYPTO_ALGAPI
107                                                    78 
108 config CRYPTO_RNG2                                 79 config CRYPTO_RNG2
109         tristate                                   80         tristate
110         select CRYPTO_ALGAPI2                      81         select CRYPTO_ALGAPI2
111                                                    82 
112 config CRYPTO_RNG_DEFAULT                          83 config CRYPTO_RNG_DEFAULT
113         tristate                                   84         tristate
114         select CRYPTO_DRBG_MENU                    85         select CRYPTO_DRBG_MENU
115                                                    86 
116 config CRYPTO_AKCIPHER2                            87 config CRYPTO_AKCIPHER2
117         tristate                                   88         tristate
118         select CRYPTO_ALGAPI2                      89         select CRYPTO_ALGAPI2
119                                                    90 
120 config CRYPTO_AKCIPHER                             91 config CRYPTO_AKCIPHER
121         tristate                                   92         tristate
122         select CRYPTO_AKCIPHER2                    93         select CRYPTO_AKCIPHER2
123         select CRYPTO_ALGAPI                       94         select CRYPTO_ALGAPI
124                                                    95 
125 config CRYPTO_KPP2                                 96 config CRYPTO_KPP2
126         tristate                                   97         tristate
127         select CRYPTO_ALGAPI2                      98         select CRYPTO_ALGAPI2
128                                                    99 
129 config CRYPTO_KPP                                 100 config CRYPTO_KPP
130         tristate                                  101         tristate
131         select CRYPTO_ALGAPI                      102         select CRYPTO_ALGAPI
132         select CRYPTO_KPP2                        103         select CRYPTO_KPP2
133                                                   104 
134 config CRYPTO_ACOMP2                              105 config CRYPTO_ACOMP2
135         tristate                                  106         tristate
136         select CRYPTO_ALGAPI2                     107         select CRYPTO_ALGAPI2
137         select SGL_ALLOC                       << 
138                                                   108 
139 config CRYPTO_ACOMP                               109 config CRYPTO_ACOMP
140         tristate                                  110         tristate
141         select CRYPTO_ALGAPI                      111         select CRYPTO_ALGAPI
142         select CRYPTO_ACOMP2                      112         select CRYPTO_ACOMP2
143                                                   113 
                                                   >> 114 config CRYPTO_RSA
                                                   >> 115         tristate "RSA algorithm"
                                                   >> 116         select CRYPTO_AKCIPHER
                                                   >> 117         select CRYPTO_MANAGER
                                                   >> 118         select MPILIB
                                                   >> 119         select ASN1
                                                   >> 120         help
                                                   >> 121           Generic implementation of the RSA public key algorithm.
                                                   >> 122 
                                                   >> 123 config CRYPTO_DH
                                                   >> 124         tristate "Diffie-Hellman algorithm"
                                                   >> 125         select CRYPTO_KPP
                                                   >> 126         select MPILIB
                                                   >> 127         help
                                                   >> 128           Generic implementation of the Diffie-Hellman algorithm.
                                                   >> 129 
                                                   >> 130 config CRYPTO_ECDH
                                                   >> 131         tristate "ECDH algorithm"
                                                   >> 132         select CRYTPO_KPP
                                                   >> 133         help
                                                   >> 134           Generic implementation of the ECDH algorithm
                                                   >> 135 
144 config CRYPTO_MANAGER                             136 config CRYPTO_MANAGER
145         tristate "Cryptographic algorithm mana    137         tristate "Cryptographic algorithm manager"
146         select CRYPTO_MANAGER2                    138         select CRYPTO_MANAGER2
147         help                                      139         help
148           Create default cryptographic templat    140           Create default cryptographic template instantiations such as
149           cbc(aes).                               141           cbc(aes).
150                                                   142 
151 config CRYPTO_MANAGER2                            143 config CRYPTO_MANAGER2
152         def_tristate CRYPTO_MANAGER || (CRYPTO    144         def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y)
153         select CRYPTO_ACOMP2                   << 
154         select CRYPTO_AEAD2                       145         select CRYPTO_AEAD2
155         select CRYPTO_AKCIPHER2                << 
156         select CRYPTO_SIG2                     << 
157         select CRYPTO_HASH2                       146         select CRYPTO_HASH2
                                                   >> 147         select CRYPTO_BLKCIPHER2
                                                   >> 148         select CRYPTO_AKCIPHER2
158         select CRYPTO_KPP2                        149         select CRYPTO_KPP2
159         select CRYPTO_RNG2                     !! 150         select CRYPTO_ACOMP2
160         select CRYPTO_SKCIPHER2                << 
161                                                   151 
162 config CRYPTO_USER                                152 config CRYPTO_USER
163         tristate "Userspace cryptographic algo    153         tristate "Userspace cryptographic algorithm configuration"
164         depends on NET                            154         depends on NET
165         select CRYPTO_MANAGER                     155         select CRYPTO_MANAGER
166         help                                      156         help
167           Userspace configuration for cryptogr    157           Userspace configuration for cryptographic instantiations such as
168           cbc(aes).                               158           cbc(aes).
169                                                   159 
170 config CRYPTO_MANAGER_DISABLE_TESTS               160 config CRYPTO_MANAGER_DISABLE_TESTS
171         bool "Disable run-time self tests"        161         bool "Disable run-time self tests"
172         default y                                 162         default y
                                                   >> 163         depends on CRYPTO_MANAGER2
173         help                                      164         help
174           Disable run-time self tests that nor    165           Disable run-time self tests that normally take place at
175           algorithm registration.                 166           algorithm registration.
176                                                   167 
177 config CRYPTO_MANAGER_EXTRA_TESTS              !! 168 config CRYPTO_GF128MUL
178         bool "Enable extra run-time crypto sel !! 169         tristate "GF(2^128) multiplication functions"
179         depends on DEBUG_KERNEL && !CRYPTO_MAN << 
180         help                                      170         help
181           Enable extra run-time self tests of  !! 171           Efficient table driven implementation of multiplications in the
182           including randomized fuzz tests.     !! 172           field GF(2^128).  This is needed by some cypher modes. This
183                                                !! 173           option will be selected automatically if you select such a
184           This is intended for developer use o !! 174           cipher mode.  Only select this option by hand if you expect to load
185           longer to run than the normal self t !! 175           an external module that requires these functions.
186                                                   176 
187 config CRYPTO_NULL                                177 config CRYPTO_NULL
188         tristate "Null algorithms"                178         tristate "Null algorithms"
189         select CRYPTO_NULL2                       179         select CRYPTO_NULL2
190         help                                      180         help
191           These are 'Null' algorithms, used by    181           These are 'Null' algorithms, used by IPsec, which do nothing.
192                                                   182 
193 config CRYPTO_NULL2                               183 config CRYPTO_NULL2
194         tristate                                  184         tristate
195         select CRYPTO_ALGAPI2                     185         select CRYPTO_ALGAPI2
196         select CRYPTO_SKCIPHER2                !! 186         select CRYPTO_BLKCIPHER2
197         select CRYPTO_HASH2                       187         select CRYPTO_HASH2
198                                                   188 
199 config CRYPTO_PCRYPT                              189 config CRYPTO_PCRYPT
200         tristate "Parallel crypto engine"         190         tristate "Parallel crypto engine"
201         depends on SMP                            191         depends on SMP
202         select PADATA                             192         select PADATA
203         select CRYPTO_MANAGER                     193         select CRYPTO_MANAGER
204         select CRYPTO_AEAD                        194         select CRYPTO_AEAD
205         help                                      195         help
206           This converts an arbitrary crypto al    196           This converts an arbitrary crypto algorithm into a parallel
207           algorithm that executes in kernel th    197           algorithm that executes in kernel threads.
208                                                   198 
                                                   >> 199 config CRYPTO_WORKQUEUE
                                                   >> 200        tristate
                                                   >> 201 
209 config CRYPTO_CRYPTD                              202 config CRYPTO_CRYPTD
210         tristate "Software async crypto daemon    203         tristate "Software async crypto daemon"
211         select CRYPTO_SKCIPHER                 !! 204         select CRYPTO_BLKCIPHER
212         select CRYPTO_HASH                        205         select CRYPTO_HASH
213         select CRYPTO_MANAGER                     206         select CRYPTO_MANAGER
                                                   >> 207         select CRYPTO_WORKQUEUE
214         help                                      208         help
215           This is a generic software asynchron    209           This is a generic software asynchronous crypto daemon that
216           converts an arbitrary synchronous so    210           converts an arbitrary synchronous software crypto algorithm
217           into an asynchronous algorithm that     211           into an asynchronous algorithm that executes in a kernel thread.
218                                                   212 
                                                   >> 213 config CRYPTO_MCRYPTD
                                                   >> 214         tristate "Software async multi-buffer crypto daemon"
                                                   >> 215         select CRYPTO_BLKCIPHER
                                                   >> 216         select CRYPTO_HASH
                                                   >> 217         select CRYPTO_MANAGER
                                                   >> 218         select CRYPTO_WORKQUEUE
                                                   >> 219         help
                                                   >> 220           This is a generic software asynchronous crypto daemon that
                                                   >> 221           provides the kernel thread to assist multi-buffer crypto
                                                   >> 222           algorithms for submitting jobs and flushing jobs in multi-buffer
                                                   >> 223           crypto algorithms.  Multi-buffer crypto algorithms are executed
                                                   >> 224           in the context of this kernel thread and drivers can post
                                                   >> 225           their crypto request asynchronously to be processed by this daemon.
                                                   >> 226 
219 config CRYPTO_AUTHENC                             227 config CRYPTO_AUTHENC
220         tristate "Authenc support"                228         tristate "Authenc support"
221         select CRYPTO_AEAD                        229         select CRYPTO_AEAD
222         select CRYPTO_SKCIPHER                 !! 230         select CRYPTO_BLKCIPHER
223         select CRYPTO_MANAGER                     231         select CRYPTO_MANAGER
224         select CRYPTO_HASH                        232         select CRYPTO_HASH
225         select CRYPTO_NULL                        233         select CRYPTO_NULL
226         help                                      234         help
227           Authenc: Combined mode wrapper for I    235           Authenc: Combined mode wrapper for IPsec.
228                                                !! 236           This is required for IPSec.
229           This is required for IPSec ESP (XFRM << 
230                                                   237 
231 config CRYPTO_TEST                                238 config CRYPTO_TEST
232         tristate "Testing module"                 239         tristate "Testing module"
233         depends on m || EXPERT                 !! 240         depends on m
234         select CRYPTO_MANAGER                     241         select CRYPTO_MANAGER
235         help                                      242         help
236           Quick & dirty crypto test module.       243           Quick & dirty crypto test module.
237                                                   244 
                                                   >> 245 config CRYPTO_ABLK_HELPER
                                                   >> 246         tristate
                                                   >> 247         select CRYPTO_CRYPTD
                                                   >> 248 
238 config CRYPTO_SIMD                                249 config CRYPTO_SIMD
239         tristate                                  250         tristate
240         select CRYPTO_CRYPTD                      251         select CRYPTO_CRYPTD
241                                                   252 
242 config CRYPTO_ENGINE                           !! 253 config CRYPTO_GLUE_HELPER_X86
243         tristate                                  254         tristate
                                                   >> 255         depends on X86
                                                   >> 256         select CRYPTO_BLKCIPHER
244                                                   257 
245 endmenu                                        !! 258 config CRYPTO_ENGINE
                                                   >> 259         tristate
246                                                   260 
247 menu "Public-key cryptography"                 !! 261 comment "Authenticated Encryption with Associated Data"
248                                                   262 
249 config CRYPTO_RSA                              !! 263 config CRYPTO_CCM
250         tristate "RSA (Rivest-Shamir-Adleman)" !! 264         tristate "CCM support"
251         select CRYPTO_AKCIPHER                 !! 265         select CRYPTO_CTR
252         select CRYPTO_MANAGER                  !! 266         select CRYPTO_HASH
253         select MPILIB                          !! 267         select CRYPTO_AEAD
254         select ASN1                            << 
255         help                                      268         help
256           RSA (Rivest-Shamir-Adleman) public k !! 269           Support for Counter with CBC MAC. Required for IPsec.
257                                                   270 
258 config CRYPTO_DH                               !! 271 config CRYPTO_GCM
259         tristate "DH (Diffie-Hellman)"         !! 272         tristate "GCM/GMAC support"
260         select CRYPTO_KPP                      !! 273         select CRYPTO_CTR
261         select MPILIB                          !! 274         select CRYPTO_AEAD
                                                   >> 275         select CRYPTO_GHASH
                                                   >> 276         select CRYPTO_NULL
262         help                                      277         help
263           DH (Diffie-Hellman) key exchange alg !! 278           Support for Galois/Counter Mode (GCM) and Galois Message
                                                   >> 279           Authentication Code (GMAC). Required for IPSec.
264                                                   280 
265 config CRYPTO_DH_RFC7919_GROUPS                !! 281 config CRYPTO_CHACHA20POLY1305
266         bool "RFC 7919 FFDHE groups"           !! 282         tristate "ChaCha20-Poly1305 AEAD support"
267         depends on CRYPTO_DH                   !! 283         select CRYPTO_CHACHA20
268         select CRYPTO_RNG_DEFAULT              !! 284         select CRYPTO_POLY1305
                                                   >> 285         select CRYPTO_AEAD
269         help                                      286         help
270           FFDHE (Finite-Field-based Diffie-Hel !! 287           ChaCha20-Poly1305 AEAD support, RFC7539.
271           defined in RFC7919.                  << 
272                                                << 
273           Support these finite-field groups in << 
274           - ffdhe2048, ffdhe3072, ffdhe4096, f << 
275                                                   288 
276           If unsure, say N.                    !! 289           Support for the AEAD wrapper using the ChaCha20 stream cipher combined
                                                   >> 290           with the Poly1305 authenticator. It is defined in RFC7539 for use in
                                                   >> 291           IETF protocols.
277                                                   292 
278 config CRYPTO_ECC                              !! 293 config CRYPTO_SEQIV
279         tristate                               !! 294         tristate "Sequence Number IV Generator"
                                                   >> 295         select CRYPTO_AEAD
                                                   >> 296         select CRYPTO_BLKCIPHER
                                                   >> 297         select CRYPTO_NULL
280         select CRYPTO_RNG_DEFAULT                 298         select CRYPTO_RNG_DEFAULT
                                                   >> 299         help
                                                   >> 300           This IV generator generates an IV based on a sequence number by
                                                   >> 301           xoring it with a salt.  This algorithm is mainly useful for CTR
281                                                   302 
282 config CRYPTO_ECDH                             !! 303 config CRYPTO_ECHAINIV
283         tristate "ECDH (Elliptic Curve Diffie- !! 304         tristate "Encrypted Chain IV Generator"
284         select CRYPTO_ECC                      !! 305         select CRYPTO_AEAD
285         select CRYPTO_KPP                      !! 306         select CRYPTO_NULL
                                                   >> 307         select CRYPTO_RNG_DEFAULT
                                                   >> 308         default m
286         help                                      309         help
287           ECDH (Elliptic Curve Diffie-Hellman) !! 310           This IV generator generates an IV based on the encryption of
288           using curves P-192, P-256, and P-384 !! 311           a sequence number xored with a salt.  This is the default
                                                   >> 312           algorithm for CBC.
289                                                   313 
290 config CRYPTO_ECDSA                            !! 314 comment "Block modes"
291         tristate "ECDSA (Elliptic Curve Digita !! 315 
292         select CRYPTO_ECC                      !! 316 config CRYPTO_CBC
293         select CRYPTO_AKCIPHER                 !! 317         tristate "CBC support"
294         select ASN1                            !! 318         select CRYPTO_BLKCIPHER
                                                   >> 319         select CRYPTO_MANAGER
295         help                                      320         help
296           ECDSA (Elliptic Curve Digital Signat !! 321           CBC: Cipher Block Chaining mode
297           ISO/IEC 14888-3)                     !! 322           This block cipher algorithm is required for IPSec.
298           using curves P-192, P-256, and P-384 !! 323 
299                                                !! 324 config CRYPTO_CTR
300           Only signature verification is imple !! 325         tristate "CTR support"
301                                                !! 326         select CRYPTO_BLKCIPHER
302 config CRYPTO_ECRDSA                           !! 327         select CRYPTO_SEQIV
303         tristate "EC-RDSA (Elliptic Curve Russ !! 328         select CRYPTO_MANAGER
304         select CRYPTO_ECC                      << 
305         select CRYPTO_AKCIPHER                 << 
306         select CRYPTO_STREEBOG                 << 
307         select OID_REGISTRY                    << 
308         select ASN1                            << 
309         help                                      329         help
310           Elliptic Curve Russian Digital Signa !! 330           CTR: Counter mode
311           RFC 7091, ISO/IEC 14888-3)           !! 331           This block cipher algorithm is required for IPSec.
312                                                   332 
313           One of the Russian cryptographic sta !! 333 config CRYPTO_CTS
314           algorithms). Only signature verifica !! 334         tristate "CTS support"
                                                   >> 335         select CRYPTO_BLKCIPHER
                                                   >> 336         help
                                                   >> 337           CTS: Cipher Text Stealing
                                                   >> 338           This is the Cipher Text Stealing mode as described by
                                                   >> 339           Section 8 of rfc2040 and referenced by rfc3962.
                                                   >> 340           (rfc3962 includes errata information in its Appendix A)
                                                   >> 341           This mode is required for Kerberos gss mechanism support
                                                   >> 342           for AES encryption.
315                                                   343 
316 config CRYPTO_CURVE25519                       !! 344 config CRYPTO_ECB
317         tristate "Curve25519"                  !! 345         tristate "ECB support"
318         select CRYPTO_KPP                      !! 346         select CRYPTO_BLKCIPHER
319         select CRYPTO_LIB_CURVE25519_GENERIC   !! 347         select CRYPTO_MANAGER
320         help                                      348         help
321           Curve25519 elliptic curve (RFC7748)  !! 349           ECB: Electronic CodeBook mode
                                                   >> 350           This is the simplest block cipher algorithm.  It simply encrypts
                                                   >> 351           the input block by block.
322                                                   352 
323 endmenu                                        !! 353 config CRYPTO_LRW
                                                   >> 354         tristate "LRW support"
                                                   >> 355         select CRYPTO_BLKCIPHER
                                                   >> 356         select CRYPTO_MANAGER
                                                   >> 357         select CRYPTO_GF128MUL
                                                   >> 358         help
                                                   >> 359           LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable
                                                   >> 360           narrow block cipher mode for dm-crypt.  Use it with cipher
                                                   >> 361           specification string aes-lrw-benbi, the key must be 256, 320 or 384.
                                                   >> 362           The first 128, 192 or 256 bits in the key are used for AES and the
                                                   >> 363           rest is used to tie each cipher block to its logical position.
324                                                   364 
325 menu "Block ciphers"                           !! 365 config CRYPTO_PCBC
                                                   >> 366         tristate "PCBC support"
                                                   >> 367         select CRYPTO_BLKCIPHER
                                                   >> 368         select CRYPTO_MANAGER
                                                   >> 369         help
                                                   >> 370           PCBC: Propagating Cipher Block Chaining mode
                                                   >> 371           This block cipher algorithm is required for RxRPC.
326                                                   372 
327 config CRYPTO_AES                              !! 373 config CRYPTO_XTS
328         tristate "AES (Advanced Encryption Sta !! 374         tristate "XTS support"
329         select CRYPTO_ALGAPI                   !! 375         select CRYPTO_BLKCIPHER
330         select CRYPTO_LIB_AES                  !! 376         select CRYPTO_MANAGER
                                                   >> 377         select CRYPTO_GF128MUL
                                                   >> 378         select CRYPTO_ECB
331         help                                      379         help
332           AES cipher algorithms (Rijndael)(FIP !! 380           XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain,
                                                   >> 381           key size 256, 384 or 512 bits. This implementation currently
                                                   >> 382           can't handle a sectorsize which is not a multiple of 16 bytes.
333                                                   383 
334           Rijndael appears to be consistently  !! 384 config CRYPTO_KEYWRAP
335           both hardware and software across a  !! 385         tristate "Key wrapping support"
336           environments regardless of its use i !! 386         select CRYPTO_BLKCIPHER
337           modes. Its key setup time is excelle !! 387         help
338           good. Rijndael's very low memory req !! 388           Support for key wrapping (NIST SP800-38F / RFC3394) without
339           suited for restricted-space environm !! 389           padding.
340           demonstrates excellent performance.  << 
341           among the easiest to defend against  << 
342                                                   390 
343           The AES specifies three key sizes: 1 !! 391 comment "Hash modes"
344                                                   392 
345 config CRYPTO_AES_TI                           !! 393 config CRYPTO_CMAC
346         tristate "AES (Advanced Encryption Sta !! 394         tristate "CMAC support"
347         select CRYPTO_ALGAPI                   !! 395         select CRYPTO_HASH
348         select CRYPTO_LIB_AES                  !! 396         select CRYPTO_MANAGER
349         help                                      397         help
350           AES cipher algorithms (Rijndael)(FIP !! 398           Cipher-based Message Authentication Code (CMAC) specified by
                                                   >> 399           The National Institute of Standards and Technology (NIST).
351                                                   400 
352           This is a generic implementation of  !! 401           https://tools.ietf.org/html/rfc4493
353           data dependent latencies as much as  !! 402           http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf
354           performance too much. It is intended << 
355           and GCM drivers, and other CTR or CM << 
356           solely on encryption (although decry << 
357           with a more dramatic performance hit << 
358                                                   403 
359           Instead of using 16 lookup tables of !! 404 config CRYPTO_HMAC
360           8 for decryption), this implementati !! 405         tristate "HMAC support"
361           256 bytes each, and attempts to elim !! 406         select CRYPTO_HASH
362           prefetching the entire table into th !! 407         select CRYPTO_MANAGER
363           block. Interrupts are also disabled  !! 408         help
364           are evicted when the CPU is interrup !! 409           HMAC: Keyed-Hashing for Message Authentication (RFC2104).
                                                   >> 410           This is required for IPSec.
365                                                   411 
366 config CRYPTO_ANUBIS                           !! 412 config CRYPTO_XCBC
367         tristate "Anubis"                      !! 413         tristate "XCBC support"
368         depends on CRYPTO_USER_API_ENABLE_OBSO !! 414         select CRYPTO_HASH
369         select CRYPTO_ALGAPI                   !! 415         select CRYPTO_MANAGER
370         help                                      416         help
371           Anubis cipher algorithm              !! 417           XCBC: Keyed-Hashing with encryption algorithm
                                                   >> 418                 http://www.ietf.org/rfc/rfc3566.txt
                                                   >> 419                 http://csrc.nist.gov/encryption/modes/proposedmodes/
                                                   >> 420                  xcbc-mac/xcbc-mac-spec.pdf
372                                                   421 
373           Anubis is a variable key length ciph !! 422 config CRYPTO_VMAC
374           128 bits to 320 bits in length.  It  !! 423         tristate "VMAC support"
375           in the NESSIE competition.           !! 424         select CRYPTO_HASH
                                                   >> 425         select CRYPTO_MANAGER
                                                   >> 426         help
                                                   >> 427           VMAC is a message authentication algorithm designed for
                                                   >> 428           very high speed on 64-bit architectures.
376                                                   429 
377           See https://web.archive.org/web/2016 !! 430           See also:
378           for further information.             !! 431           <http://fastcrypto.org/vmac>
379                                                   432 
380 config CRYPTO_ARIA                             !! 433 comment "Digest"
381         tristate "ARIA"                        !! 434 
382         select CRYPTO_ALGAPI                   !! 435 config CRYPTO_CRC32C
                                                   >> 436         tristate "CRC32c CRC algorithm"
                                                   >> 437         select CRYPTO_HASH
                                                   >> 438         select CRC32
                                                   >> 439         help
                                                   >> 440           Castagnoli, et al Cyclic Redundancy-Check Algorithm.  Used
                                                   >> 441           by iSCSI for header and data digests and by others.
                                                   >> 442           See Castagnoli93.  Module will be crc32c.
                                                   >> 443 
                                                   >> 444 config CRYPTO_CRC32C_INTEL
                                                   >> 445         tristate "CRC32c INTEL hardware acceleration"
                                                   >> 446         depends on X86
                                                   >> 447         select CRYPTO_HASH
                                                   >> 448         help
                                                   >> 449           In Intel processor with SSE4.2 supported, the processor will
                                                   >> 450           support CRC32C implementation using hardware accelerated CRC32
                                                   >> 451           instruction. This option will create 'crc32c-intel' module,
                                                   >> 452           which will enable any routine to use the CRC32 instruction to
                                                   >> 453           gain performance compared with software implementation.
                                                   >> 454           Module will be crc32c-intel.
                                                   >> 455 
                                                   >> 456 config CRYPTO_CRC32C_VPMSUM
                                                   >> 457         tristate "CRC32c CRC algorithm (powerpc64)"
                                                   >> 458         depends on PPC64 && ALTIVEC
                                                   >> 459         select CRYPTO_HASH
                                                   >> 460         select CRC32
383         help                                      461         help
384           ARIA cipher algorithm (RFC5794)      !! 462           CRC32c algorithm implemented using vector polynomial multiply-sum
                                                   >> 463           (vpmsum) instructions, introduced in POWER8. Enable on POWER8
                                                   >> 464           and newer processors for improved performance.
385                                                   465 
386           ARIA is a standard encryption algori << 
387           The ARIA specifies three key sizes a << 
388           128-bit: 12 rounds.                  << 
389           192-bit: 14 rounds.                  << 
390           256-bit: 16 rounds.                  << 
391                                                   466 
392           See:                                 !! 467 config CRYPTO_CRC32C_SPARC64
393           https://seed.kisa.or.kr/kisa/algorit !! 468         tristate "CRC32c CRC algorithm (SPARC64)"
                                                   >> 469         depends on SPARC64
                                                   >> 470         select CRYPTO_HASH
                                                   >> 471         select CRC32
                                                   >> 472         help
                                                   >> 473           CRC32c CRC algorithm implemented using sparc64 crypto instructions,
                                                   >> 474           when available.
394                                                   475 
395 config CRYPTO_BLOWFISH                         !! 476 config CRYPTO_CRC32
396         tristate "Blowfish"                    !! 477         tristate "CRC32 CRC algorithm"
397         select CRYPTO_ALGAPI                   !! 478         select CRYPTO_HASH
398         select CRYPTO_BLOWFISH_COMMON          !! 479         select CRC32
399         help                                      480         help
400           Blowfish cipher algorithm, by Bruce  !! 481           CRC-32-IEEE 802.3 cyclic redundancy-check algorithm.
                                                   >> 482           Shash crypto api wrappers to crc32_le function.
401                                                   483 
402           This is a variable key length cipher !! 484 config CRYPTO_CRC32_PCLMUL
403           bits to 448 bits in length.  It's fa !! 485         tristate "CRC32 PCLMULQDQ hardware acceleration"
404           designed for use on "large microproc !! 486         depends on X86
                                                   >> 487         select CRYPTO_HASH
                                                   >> 488         select CRC32
                                                   >> 489         help
                                                   >> 490           From Intel Westmere and AMD Bulldozer processor with SSE4.2
                                                   >> 491           and PCLMULQDQ supported, the processor will support
                                                   >> 492           CRC32 PCLMULQDQ implementation using hardware accelerated PCLMULQDQ
                                                   >> 493           instruction. This option will create 'crc32-plcmul' module,
                                                   >> 494           which will enable any routine to use the CRC-32-IEEE 802.3 checksum
                                                   >> 495           and gain better performance as compared with the table implementation.
405                                                   496 
406           See https://www.schneier.com/blowfis !! 497 config CRYPTO_CRCT10DIF
                                                   >> 498         tristate "CRCT10DIF algorithm"
                                                   >> 499         select CRYPTO_HASH
                                                   >> 500         help
                                                   >> 501           CRC T10 Data Integrity Field computation is being cast as
                                                   >> 502           a crypto transform.  This allows for faster crc t10 diff
                                                   >> 503           transforms to be used if they are available.
407                                                   504 
408 config CRYPTO_BLOWFISH_COMMON                  !! 505 config CRYPTO_CRCT10DIF_PCLMUL
409         tristate                               !! 506         tristate "CRCT10DIF PCLMULQDQ hardware acceleration"
                                                   >> 507         depends on X86 && 64BIT && CRC_T10DIF
                                                   >> 508         select CRYPTO_HASH
410         help                                      509         help
411           Common parts of the Blowfish cipher  !! 510           For x86_64 processors with SSE4.2 and PCLMULQDQ supported,
412           generic c and the assembler implemen !! 511           CRC T10 DIF PCLMULQDQ computation can be hardware
                                                   >> 512           accelerated PCLMULQDQ instruction. This option will create
                                                   >> 513           'crct10dif-plcmul' module, which is faster when computing the
                                                   >> 514           crct10dif checksum as compared with the generic table implementation.
413                                                   515 
414 config CRYPTO_CAMELLIA                         !! 516 config CRYPTO_GHASH
415         tristate "Camellia"                    !! 517         tristate "GHASH digest algorithm"
416         select CRYPTO_ALGAPI                   !! 518         select CRYPTO_GF128MUL
                                                   >> 519         select CRYPTO_HASH
417         help                                      520         help
418           Camellia cipher algorithms (ISO/IEC  !! 521           GHASH is message digest algorithm for GCM (Galois/Counter Mode).
419                                                   522 
420           Camellia is a symmetric key block ci !! 523 config CRYPTO_POLY1305
421           at NTT and Mitsubishi Electric Corpo !! 524         tristate "Poly1305 authenticator algorithm"
                                                   >> 525         select CRYPTO_HASH
                                                   >> 526         help
                                                   >> 527           Poly1305 authenticator algorithm, RFC7539.
422                                                   528 
423           The Camellia specifies three key siz !! 529           Poly1305 is an authenticator algorithm designed by Daniel J. Bernstein.
                                                   >> 530           It is used for the ChaCha20-Poly1305 AEAD, specified in RFC7539 for use
                                                   >> 531           in IETF protocols. This is the portable C implementation of Poly1305.
424                                                   532 
425           See https://info.isl.ntt.co.jp/crypt !! 533 config CRYPTO_POLY1305_X86_64
                                                   >> 534         tristate "Poly1305 authenticator algorithm (x86_64/SSE2/AVX2)"
                                                   >> 535         depends on X86 && 64BIT
                                                   >> 536         select CRYPTO_POLY1305
                                                   >> 537         help
                                                   >> 538           Poly1305 authenticator algorithm, RFC7539.
426                                                   539 
427 config CRYPTO_CAST_COMMON                      !! 540           Poly1305 is an authenticator algorithm designed by Daniel J. Bernstein.
428         tristate                               !! 541           It is used for the ChaCha20-Poly1305 AEAD, specified in RFC7539 for use
                                                   >> 542           in IETF protocols. This is the x86_64 assembler implementation using SIMD
                                                   >> 543           instructions.
                                                   >> 544 
                                                   >> 545 config CRYPTO_MD4
                                                   >> 546         tristate "MD4 digest algorithm"
                                                   >> 547         select CRYPTO_HASH
429         help                                      548         help
430           Common parts of the CAST cipher algo !! 549           MD4 message digest algorithm (RFC1320).
431           generic c and the assembler implemen << 
432                                                   550 
433 config CRYPTO_CAST5                            !! 551 config CRYPTO_MD5
434         tristate "CAST5 (CAST-128)"            !! 552         tristate "MD5 digest algorithm"
435         select CRYPTO_ALGAPI                   !! 553         select CRYPTO_HASH
436         select CRYPTO_CAST_COMMON              << 
437         help                                      554         help
438           CAST5 (CAST-128) cipher algorithm (R !! 555           MD5 message digest algorithm (RFC1321).
439                                                   556 
440 config CRYPTO_CAST6                            !! 557 config CRYPTO_MD5_OCTEON
441         tristate "CAST6 (CAST-256)"            !! 558         tristate "MD5 digest algorithm (OCTEON)"
442         select CRYPTO_ALGAPI                   !! 559         depends on CPU_CAVIUM_OCTEON
443         select CRYPTO_CAST_COMMON              !! 560         select CRYPTO_MD5
                                                   >> 561         select CRYPTO_HASH
444         help                                      562         help
445           CAST6 (CAST-256) encryption algorith !! 563           MD5 message digest algorithm (RFC1321) implemented
                                                   >> 564           using OCTEON crypto instructions, when available.
446                                                   565 
447 config CRYPTO_DES                              !! 566 config CRYPTO_MD5_PPC
448         tristate "DES and Triple DES EDE"      !! 567         tristate "MD5 digest algorithm (PPC)"
449         select CRYPTO_ALGAPI                   !! 568         depends on PPC
450         select CRYPTO_LIB_DES                  !! 569         select CRYPTO_HASH
451         help                                      570         help
452           DES (Data Encryption Standard)(FIPS  !! 571           MD5 message digest algorithm (RFC1321) implemented
453           Triple DES EDE (Encrypt/Decrypt/Encr !! 572           in PPC assembler.
454           cipher algorithms                    << 
455                                                   573 
456 config CRYPTO_FCRYPT                           !! 574 config CRYPTO_MD5_SPARC64
457         tristate "FCrypt"                      !! 575         tristate "MD5 digest algorithm (SPARC64)"
458         select CRYPTO_ALGAPI                   !! 576         depends on SPARC64
459         select CRYPTO_SKCIPHER                 !! 577         select CRYPTO_MD5
                                                   >> 578         select CRYPTO_HASH
460         help                                      579         help
461           FCrypt algorithm used by RxRPC       !! 580           MD5 message digest algorithm (RFC1321) implemented
                                                   >> 581           using sparc64 crypto instructions, when available.
462                                                   582 
463           See https://ota.polyonymo.us/fcrypt- !! 583 config CRYPTO_MICHAEL_MIC
                                                   >> 584         tristate "Michael MIC keyed digest algorithm"
                                                   >> 585         select CRYPTO_HASH
                                                   >> 586         help
                                                   >> 587           Michael MIC is used for message integrity protection in TKIP
                                                   >> 588           (IEEE 802.11i). This algorithm is required for TKIP, but it
                                                   >> 589           should not be used for other purposes because of the weakness
                                                   >> 590           of the algorithm.
464                                                   591 
465 config CRYPTO_KHAZAD                           !! 592 config CRYPTO_RMD128
466         tristate "Khazad"                      !! 593         tristate "RIPEMD-128 digest algorithm"
467         depends on CRYPTO_USER_API_ENABLE_OBSO !! 594         select CRYPTO_HASH
468         select CRYPTO_ALGAPI                   << 
469         help                                      595         help
470           Khazad cipher algorithm              !! 596           RIPEMD-128 (ISO/IEC 10118-3:2004).
471                                                   597 
472           Khazad was a finalist in the initial !! 598           RIPEMD-128 is a 128-bit cryptographic hash function. It should only
473           an algorithm optimized for 64-bit pr !! 599           be used as a secure replacement for RIPEMD. For other use cases,
474           on 32-bit processors.  Khazad uses a !! 600           RIPEMD-160 should be used.
475                                                   601 
476           See https://web.archive.org/web/2017 !! 602           Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
477           for further information.             !! 603           See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
478                                                   604 
479 config CRYPTO_SEED                             !! 605 config CRYPTO_RMD160
480         tristate "SEED"                        !! 606         tristate "RIPEMD-160 digest algorithm"
481         depends on CRYPTO_USER_API_ENABLE_OBSO !! 607         select CRYPTO_HASH
482         select CRYPTO_ALGAPI                   << 
483         help                                      608         help
484           SEED cipher algorithm (RFC4269, ISO/ !! 609           RIPEMD-160 (ISO/IEC 10118-3:2004).
485                                                   610 
486           SEED is a 128-bit symmetric key bloc !! 611           RIPEMD-160 is a 160-bit cryptographic hash function. It is intended
487           developed by KISA (Korea Information !! 612           to be used as a secure replacement for the 128-bit hash functions
488           national standard encryption algorit !! 613           MD4, MD5 and it's predecessor RIPEMD
489           It is a 16 round block cipher with t !! 614           (not to be confused with RIPEMD-128).
490                                                   615 
491           See https://seed.kisa.or.kr/kisa/alg !! 616           It's speed is comparable to SHA1 and there are no known attacks
492           for further information.             !! 617           against RIPEMD-160.
493                                                   618 
494 config CRYPTO_SERPENT                          !! 619           Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
495         tristate "Serpent"                     !! 620           See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
496         select CRYPTO_ALGAPI                   !! 621 
                                                   >> 622 config CRYPTO_RMD256
                                                   >> 623         tristate "RIPEMD-256 digest algorithm"
                                                   >> 624         select CRYPTO_HASH
497         help                                      625         help
498           Serpent cipher algorithm, by Anderso !! 626           RIPEMD-256 is an optional extension of RIPEMD-128 with a
                                                   >> 627           256 bit hash. It is intended for applications that require
                                                   >> 628           longer hash-results, without needing a larger security level
                                                   >> 629           (than RIPEMD-128).
499                                                   630 
500           Keys are allowed to be from 0 to 256 !! 631           Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
501           of 8 bits.                           !! 632           See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
502                                                   633 
503           See https://www.cl.cam.ac.uk/~rja14/ !! 634 config CRYPTO_RMD320
                                                   >> 635         tristate "RIPEMD-320 digest algorithm"
                                                   >> 636         select CRYPTO_HASH
                                                   >> 637         help
                                                   >> 638           RIPEMD-320 is an optional extension of RIPEMD-160 with a
                                                   >> 639           320 bit hash. It is intended for applications that require
                                                   >> 640           longer hash-results, without needing a larger security level
                                                   >> 641           (than RIPEMD-160).
504                                                   642 
505 config CRYPTO_SM4                              !! 643           Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
506         tristate                               !! 644           See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
507                                                   645 
508 config CRYPTO_SM4_GENERIC                      !! 646 config CRYPTO_SHA1
509         tristate "SM4 (ShangMi 4)"             !! 647         tristate "SHA1 digest algorithm"
510         select CRYPTO_ALGAPI                   !! 648         select CRYPTO_HASH
511         select CRYPTO_SM4                      << 
512         help                                      649         help
513           SM4 cipher algorithms (OSCCA GB/T 32 !! 650           SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
514           ISO/IEC 18033-3:2010/Amd 1:2021)     << 
515                                                   651 
516           SM4 (GBT.32907-2016) is a cryptograp !! 652 config CRYPTO_SHA1_SSSE3
517           Organization of State Commercial Adm !! 653         tristate "SHA1 digest algorithm (SSSE3/AVX/AVX2/SHA-NI)"
518           as an authorized cryptographic algor !! 654         depends on X86 && 64BIT
                                                   >> 655         select CRYPTO_SHA1
                                                   >> 656         select CRYPTO_HASH
                                                   >> 657         help
                                                   >> 658           SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
                                                   >> 659           using Supplemental SSE3 (SSSE3) instructions or Advanced Vector
                                                   >> 660           Extensions (AVX/AVX2) or SHA-NI(SHA Extensions New Instructions),
                                                   >> 661           when available.
519                                                   662 
520           SMS4 was originally created for use  !! 663 config CRYPTO_SHA256_SSSE3
521           networks, and is mandated in the Chi !! 664         tristate "SHA256 digest algorithm (SSSE3/AVX/AVX2/SHA-NI)"
522           Wireless LAN WAPI (Wired Authenticat !! 665         depends on X86 && 64BIT
523           (GB.15629.11-2003).                  !! 666         select CRYPTO_SHA256
                                                   >> 667         select CRYPTO_HASH
                                                   >> 668         help
                                                   >> 669           SHA-256 secure hash standard (DFIPS 180-2) implemented
                                                   >> 670           using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector
                                                   >> 671           Extensions version 1 (AVX1), or Advanced Vector Extensions
                                                   >> 672           version 2 (AVX2) instructions, or SHA-NI (SHA Extensions New
                                                   >> 673           Instructions) when available.
                                                   >> 674 
                                                   >> 675 config CRYPTO_SHA512_SSSE3
                                                   >> 676         tristate "SHA512 digest algorithm (SSSE3/AVX/AVX2)"
                                                   >> 677         depends on X86 && 64BIT
                                                   >> 678         select CRYPTO_SHA512
                                                   >> 679         select CRYPTO_HASH
                                                   >> 680         help
                                                   >> 681           SHA-512 secure hash standard (DFIPS 180-2) implemented
                                                   >> 682           using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector
                                                   >> 683           Extensions version 1 (AVX1), or Advanced Vector Extensions
                                                   >> 684           version 2 (AVX2) instructions, when available.
                                                   >> 685 
                                                   >> 686 config CRYPTO_SHA1_OCTEON
                                                   >> 687         tristate "SHA1 digest algorithm (OCTEON)"
                                                   >> 688         depends on CPU_CAVIUM_OCTEON
                                                   >> 689         select CRYPTO_SHA1
                                                   >> 690         select CRYPTO_HASH
                                                   >> 691         help
                                                   >> 692           SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
                                                   >> 693           using OCTEON crypto instructions, when available.
                                                   >> 694 
                                                   >> 695 config CRYPTO_SHA1_SPARC64
                                                   >> 696         tristate "SHA1 digest algorithm (SPARC64)"
                                                   >> 697         depends on SPARC64
                                                   >> 698         select CRYPTO_SHA1
                                                   >> 699         select CRYPTO_HASH
                                                   >> 700         help
                                                   >> 701           SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
                                                   >> 702           using sparc64 crypto instructions, when available.
                                                   >> 703 
                                                   >> 704 config CRYPTO_SHA1_PPC
                                                   >> 705         tristate "SHA1 digest algorithm (powerpc)"
                                                   >> 706         depends on PPC
                                                   >> 707         help
                                                   >> 708           This is the powerpc hardware accelerated implementation of the
                                                   >> 709           SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
                                                   >> 710 
                                                   >> 711 config CRYPTO_SHA1_PPC_SPE
                                                   >> 712         tristate "SHA1 digest algorithm (PPC SPE)"
                                                   >> 713         depends on PPC && SPE
                                                   >> 714         help
                                                   >> 715           SHA-1 secure hash standard (DFIPS 180-4) implemented
                                                   >> 716           using powerpc SPE SIMD instruction set.
                                                   >> 717 
                                                   >> 718 config CRYPTO_SHA1_MB
                                                   >> 719         tristate "SHA1 digest algorithm (x86_64 Multi-Buffer, Experimental)"
                                                   >> 720         depends on X86 && 64BIT
                                                   >> 721         select CRYPTO_SHA1
                                                   >> 722         select CRYPTO_HASH
                                                   >> 723         select CRYPTO_MCRYPTD
                                                   >> 724         help
                                                   >> 725           SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
                                                   >> 726           using multi-buffer technique.  This algorithm computes on
                                                   >> 727           multiple data lanes concurrently with SIMD instructions for
                                                   >> 728           better throughput.  It should not be enabled by default but
                                                   >> 729           used when there is significant amount of work to keep the keep
                                                   >> 730           the data lanes filled to get performance benefit.  If the data
                                                   >> 731           lanes remain unfilled, a flush operation will be initiated to
                                                   >> 732           process the crypto jobs, adding a slight latency.
                                                   >> 733 
                                                   >> 734 config CRYPTO_SHA256_MB
                                                   >> 735         tristate "SHA256 digest algorithm (x86_64 Multi-Buffer, Experimental)"
                                                   >> 736         depends on X86 && 64BIT
                                                   >> 737         select CRYPTO_SHA256
                                                   >> 738         select CRYPTO_HASH
                                                   >> 739         select CRYPTO_MCRYPTD
                                                   >> 740         help
                                                   >> 741           SHA-256 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
                                                   >> 742           using multi-buffer technique.  This algorithm computes on
                                                   >> 743           multiple data lanes concurrently with SIMD instructions for
                                                   >> 744           better throughput.  It should not be enabled by default but
                                                   >> 745           used when there is significant amount of work to keep the keep
                                                   >> 746           the data lanes filled to get performance benefit.  If the data
                                                   >> 747           lanes remain unfilled, a flush operation will be initiated to
                                                   >> 748           process the crypto jobs, adding a slight latency.
                                                   >> 749 
                                                   >> 750 config CRYPTO_SHA512_MB
                                                   >> 751         tristate "SHA512 digest algorithm (x86_64 Multi-Buffer, Experimental)"
                                                   >> 752         depends on X86 && 64BIT
                                                   >> 753         select CRYPTO_SHA512
                                                   >> 754         select CRYPTO_HASH
                                                   >> 755         select CRYPTO_MCRYPTD
                                                   >> 756         help
                                                   >> 757           SHA-512 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
                                                   >> 758           using multi-buffer technique.  This algorithm computes on
                                                   >> 759           multiple data lanes concurrently with SIMD instructions for
                                                   >> 760           better throughput.  It should not be enabled by default but
                                                   >> 761           used when there is significant amount of work to keep the keep
                                                   >> 762           the data lanes filled to get performance benefit.  If the data
                                                   >> 763           lanes remain unfilled, a flush operation will be initiated to
                                                   >> 764           process the crypto jobs, adding a slight latency.
524                                                   765 
525           The latest SM4 standard (GBT.32907-2 !! 766 config CRYPTO_SHA256
526           standardized through TC 260 of the S !! 767         tristate "SHA224 and SHA256 digest algorithm"
527           of the People's Republic of China (S !! 768         select CRYPTO_HASH
                                                   >> 769         help
                                                   >> 770           SHA256 secure hash standard (DFIPS 180-2).
528                                                   771 
529           The input, output, and key of SMS4 a !! 772           This version of SHA implements a 256 bit hash with 128 bits of
                                                   >> 773           security against collision attacks.
530                                                   774 
531           See https://eprint.iacr.org/2008/329 !! 775           This code also includes SHA-224, a 224 bit hash with 112 bits
                                                   >> 776           of security against collision attacks.
532                                                   777 
533           If unsure, say N.                    !! 778 config CRYPTO_SHA256_PPC_SPE
                                                   >> 779         tristate "SHA224 and SHA256 digest algorithm (PPC SPE)"
                                                   >> 780         depends on PPC && SPE
                                                   >> 781         select CRYPTO_SHA256
                                                   >> 782         select CRYPTO_HASH
                                                   >> 783         help
                                                   >> 784           SHA224 and SHA256 secure hash standard (DFIPS 180-2)
                                                   >> 785           implemented using powerpc SPE SIMD instruction set.
534                                                   786 
535 config CRYPTO_TEA                              !! 787 config CRYPTO_SHA256_OCTEON
536         tristate "TEA, XTEA and XETA"          !! 788         tristate "SHA224 and SHA256 digest algorithm (OCTEON)"
537         depends on CRYPTO_USER_API_ENABLE_OBSO !! 789         depends on CPU_CAVIUM_OCTEON
538         select CRYPTO_ALGAPI                   !! 790         select CRYPTO_SHA256
                                                   >> 791         select CRYPTO_HASH
539         help                                      792         help
540           TEA (Tiny Encryption Algorithm) ciph !! 793           SHA-256 secure hash standard (DFIPS 180-2) implemented
                                                   >> 794           using OCTEON crypto instructions, when available.
541                                                   795 
542           Tiny Encryption Algorithm is a simpl !! 796 config CRYPTO_SHA256_SPARC64
543           many rounds for security.  It is ver !! 797         tristate "SHA224 and SHA256 digest algorithm (SPARC64)"
544           little memory.                       !! 798         depends on SPARC64
                                                   >> 799         select CRYPTO_SHA256
                                                   >> 800         select CRYPTO_HASH
                                                   >> 801         help
                                                   >> 802           SHA-256 secure hash standard (DFIPS 180-2) implemented
                                                   >> 803           using sparc64 crypto instructions, when available.
545                                                   804 
546           Xtendend Tiny Encryption Algorithm i !! 805 config CRYPTO_SHA512
547           the TEA algorithm to address a poten !! 806         tristate "SHA384 and SHA512 digest algorithms"
548           in the TEA algorithm.                !! 807         select CRYPTO_HASH
                                                   >> 808         help
                                                   >> 809           SHA512 secure hash standard (DFIPS 180-2).
549                                                   810 
550           Xtendend Encryption Tiny Algorithm i !! 811           This version of SHA implements a 512 bit hash with 256 bits of
551           of the XTEA algorithm for compatibil !! 812           security against collision attacks.
552                                                   813 
553 config CRYPTO_TWOFISH                          !! 814           This code also includes SHA-384, a 384 bit hash with 192 bits
554         tristate "Twofish"                     !! 815           of security against collision attacks.
555         select CRYPTO_ALGAPI                   !! 816 
556         select CRYPTO_TWOFISH_COMMON           !! 817 config CRYPTO_SHA512_OCTEON
                                                   >> 818         tristate "SHA384 and SHA512 digest algorithms (OCTEON)"
                                                   >> 819         depends on CPU_CAVIUM_OCTEON
                                                   >> 820         select CRYPTO_SHA512
                                                   >> 821         select CRYPTO_HASH
557         help                                      822         help
558           Twofish cipher algorithm             !! 823           SHA-512 secure hash standard (DFIPS 180-2) implemented
                                                   >> 824           using OCTEON crypto instructions, when available.
559                                                   825 
560           Twofish was submitted as an AES (Adv !! 826 config CRYPTO_SHA512_SPARC64
561           candidate cipher by researchers at C !! 827         tristate "SHA384 and SHA512 digest algorithm (SPARC64)"
562           16 round block cipher supporting key !! 828         depends on SPARC64
563           bits.                                !! 829         select CRYPTO_SHA512
                                                   >> 830         select CRYPTO_HASH
                                                   >> 831         help
                                                   >> 832           SHA-512 secure hash standard (DFIPS 180-2) implemented
                                                   >> 833           using sparc64 crypto instructions, when available.
                                                   >> 834 
                                                   >> 835 config CRYPTO_SHA3
                                                   >> 836         tristate "SHA3 digest algorithm"
                                                   >> 837         select CRYPTO_HASH
                                                   >> 838         help
                                                   >> 839           SHA-3 secure hash standard (DFIPS 202). It's based on
                                                   >> 840           cryptographic sponge function family called Keccak.
564                                                   841 
565           See https://www.schneier.com/twofish !! 842           References:
                                                   >> 843           http://keccak.noekeon.org/
566                                                   844 
567 config CRYPTO_TWOFISH_COMMON                   !! 845 config CRYPTO_TGR192
568         tristate                               !! 846         tristate "Tiger digest algorithms"
                                                   >> 847         select CRYPTO_HASH
569         help                                      848         help
570           Common parts of the Twofish cipher a !! 849           Tiger hash algorithm 192, 160 and 128-bit hashes
571           generic c and the assembler implemen << 
572                                                   850 
573 endmenu                                        !! 851           Tiger is a hash function optimized for 64-bit processors while
                                                   >> 852           still having decent performance on 32-bit processors.
                                                   >> 853           Tiger was developed by Ross Anderson and Eli Biham.
574                                                   854 
575 menu "Length-preserving ciphers and modes"     !! 855           See also:
                                                   >> 856           <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
576                                                   857 
577 config CRYPTO_ADIANTUM                         !! 858 config CRYPTO_WP512
578         tristate "Adiantum"                    !! 859         tristate "Whirlpool digest algorithms"
579         select CRYPTO_CHACHA20                 !! 860         select CRYPTO_HASH
580         select CRYPTO_LIB_POLY1305_GENERIC     << 
581         select CRYPTO_NHPOLY1305               << 
582         select CRYPTO_MANAGER                  << 
583         help                                      861         help
584           Adiantum tweakable, length-preservin !! 862           Whirlpool hash algorithm 512, 384 and 256-bit hashes
585                                                   863 
586           Designed for fast and secure disk en !! 864           Whirlpool-512 is part of the NESSIE cryptographic primitives.
587           CPUs without dedicated crypto instru !! 865           Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard
588           each sector using the XChaCha12 stre << 
589           an ε-almost-∆-universal hash func << 
590           the AES-256 block cipher on a single << 
591           without AES instructions, Adiantum i << 
592           AES-XTS.                             << 
593                                                << 
594           Adiantum's security is provably redu << 
595           underlying stream and block ciphers, << 
596           bound.  Unlike XTS, Adiantum is a tr << 
597           mode, so it actually provides an eve << 
598           security than XTS, subject to the se << 
599                                                   866 
600           If unsure, say N.                    !! 867           See also:
                                                   >> 868           <http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html>
601                                                   869 
602 config CRYPTO_ARC4                             !! 870 config CRYPTO_GHASH_CLMUL_NI_INTEL
603         tristate "ARC4 (Alleged Rivest Cipher  !! 871         tristate "GHASH digest algorithm (CLMUL-NI accelerated)"
604         depends on CRYPTO_USER_API_ENABLE_OBSO !! 872         depends on X86 && 64BIT
605         select CRYPTO_SKCIPHER                 !! 873         select CRYPTO_CRYPTD
606         select CRYPTO_LIB_ARC4                 << 
607         help                                      874         help
608           ARC4 cipher algorithm                !! 875           GHASH is message digest algorithm for GCM (Galois/Counter Mode).
                                                   >> 876           The implementation is accelerated by CLMUL-NI of Intel.
609                                                   877 
610           ARC4 is a stream cipher using keys r !! 878 comment "Ciphers"
611           bits in length.  This algorithm is r << 
612           WEP, but it should not be for other  << 
613           weakness of the algorithm.           << 
614                                                   879 
615 config CRYPTO_CHACHA20                         !! 880 config CRYPTO_AES
616         tristate "ChaCha"                      !! 881         tristate "AES cipher algorithms"
617         select CRYPTO_LIB_CHACHA_GENERIC       !! 882         select CRYPTO_ALGAPI
618         select CRYPTO_SKCIPHER                 << 
619         help                                      883         help
620           The ChaCha20, XChaCha20, and XChaCha !! 884           AES cipher algorithms (FIPS-197). AES uses the Rijndael
                                                   >> 885           algorithm.
621                                                   886 
622           ChaCha20 is a 256-bit high-speed str !! 887           Rijndael appears to be consistently a very good performer in
623           Bernstein and further specified in R !! 888           both hardware and software across a wide range of computing
624           This is the portable C implementatio !! 889           environments regardless of its use in feedback or non-feedback
625           https://cr.yp.to/chacha/chacha-20080 !! 890           modes. Its key setup time is excellent, and its key agility is
                                                   >> 891           good. Rijndael's very low memory requirements make it very well
                                                   >> 892           suited for restricted-space environments, in which it also
                                                   >> 893           demonstrates excellent performance. Rijndael's operations are
                                                   >> 894           among the easiest to defend against power and timing attacks.
626                                                   895 
627           XChaCha20 is the application of the  !! 896           The AES specifies three key sizes: 128, 192 and 256 bits
628           rather than to Salsa20.  XChaCha20 e << 
629           from 64 bits (or 96 bits using the R << 
630           while provably retaining ChaCha20's  << 
631           https://cr.yp.to/snuffle/xsalsa-2008 << 
632                                                << 
633           XChaCha12 is XChaCha20 reduced to 12 << 
634           reduced security margin but increase << 
635           in some performance-sensitive scenar << 
636                                                   897 
637 config CRYPTO_CBC                              !! 898           See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.
638         tristate "CBC (Cipher Block Chaining)" !! 899 
639         select CRYPTO_SKCIPHER                 !! 900 config CRYPTO_AES_TI
640         select CRYPTO_MANAGER                  !! 901         tristate "Fixed time AES cipher"
                                                   >> 902         select CRYPTO_ALGAPI
641         help                                      903         help
642           CBC (Cipher Block Chaining) mode (NI !! 904           This is a generic implementation of AES that attempts to eliminate
                                                   >> 905           data dependent latencies as much as possible without affecting
                                                   >> 906           performance too much. It is intended for use by the generic CCM
                                                   >> 907           and GCM drivers, and other CTR or CMAC/XCBC based modes that rely
                                                   >> 908           solely on encryption (although decryption is supported as well, but
                                                   >> 909           with a more dramatic performance hit)
643                                                   910 
644           This block cipher mode is required f !! 911           Instead of using 16 lookup tables of 1 KB each, (8 for encryption and
                                                   >> 912           8 for decryption), this implementation only uses just two S-boxes of
                                                   >> 913           256 bytes each, and attempts to eliminate data dependent latencies by
                                                   >> 914           prefetching the entire table into the cache at the start of each
                                                   >> 915           block.
645                                                   916 
646 config CRYPTO_CTR                              !! 917 config CRYPTO_AES_586
647         tristate "CTR (Counter)"               !! 918         tristate "AES cipher algorithms (i586)"
648         select CRYPTO_SKCIPHER                 !! 919         depends on (X86 || UML_X86) && !64BIT
649         select CRYPTO_MANAGER                  !! 920         select CRYPTO_ALGAPI
                                                   >> 921         select CRYPTO_AES
650         help                                      922         help
651           CTR (Counter) mode (NIST SP800-38A)  !! 923           AES cipher algorithms (FIPS-197). AES uses the Rijndael
                                                   >> 924           algorithm.
652                                                   925 
653 config CRYPTO_CTS                              !! 926           Rijndael appears to be consistently a very good performer in
654         tristate "CTS (Cipher Text Stealing)"  !! 927           both hardware and software across a wide range of computing
655         select CRYPTO_SKCIPHER                 !! 928           environments regardless of its use in feedback or non-feedback
656         select CRYPTO_MANAGER                  !! 929           modes. Its key setup time is excellent, and its key agility is
657         help                                   !! 930           good. Rijndael's very low memory requirements make it very well
658           CBC-CS3 variant of CTS (Cipher Text  !! 931           suited for restricted-space environments, in which it also
659           Addendum to SP800-38A (October 2010) !! 932           demonstrates excellent performance. Rijndael's operations are
                                                   >> 933           among the easiest to defend against power and timing attacks.
660                                                   934 
661           This mode is required for Kerberos g !! 935           The AES specifies three key sizes: 128, 192 and 256 bits
662           for AES encryption.                  << 
663                                                   936 
664 config CRYPTO_ECB                              !! 937           See <http://csrc.nist.gov/encryption/aes/> for more information.
665         tristate "ECB (Electronic Codebook)"   << 
666         select CRYPTO_SKCIPHER2                << 
667         select CRYPTO_MANAGER                  << 
668         help                                   << 
669           ECB (Electronic Codebook) mode (NIST << 
670                                                   938 
671 config CRYPTO_HCTR2                            !! 939 config CRYPTO_AES_X86_64
672         tristate "HCTR2"                       !! 940         tristate "AES cipher algorithms (x86_64)"
673         select CRYPTO_XCTR                     !! 941         depends on (X86 || UML_X86) && 64BIT
674         select CRYPTO_POLYVAL                  !! 942         select CRYPTO_ALGAPI
675         select CRYPTO_MANAGER                  !! 943         select CRYPTO_AES
676         help                                      944         help
677           HCTR2 length-preserving encryption m !! 945           AES cipher algorithms (FIPS-197). AES uses the Rijndael
                                                   >> 946           algorithm.
678                                                   947 
679           A mode for storage encryption that i !! 948           Rijndael appears to be consistently a very good performer in
680           instructions to accelerate AES and c !! 949           both hardware and software across a wide range of computing
681           x86 processors with AES-NI and CLMUL !! 950           environments regardless of its use in feedback or non-feedback
682           ARMv8 crypto extensions.             !! 951           modes. Its key setup time is excellent, and its key agility is
                                                   >> 952           good. Rijndael's very low memory requirements make it very well
                                                   >> 953           suited for restricted-space environments, in which it also
                                                   >> 954           demonstrates excellent performance. Rijndael's operations are
                                                   >> 955           among the easiest to defend against power and timing attacks.
683                                                   956 
684           See https://eprint.iacr.org/2021/144 !! 957           The AES specifies three key sizes: 128, 192 and 256 bits
685                                                   958 
686 config CRYPTO_KEYWRAP                          !! 959           See <http://csrc.nist.gov/encryption/aes/> for more information.
687         tristate "KW (AES Key Wrap)"           << 
688         select CRYPTO_SKCIPHER                 << 
689         select CRYPTO_MANAGER                  << 
690         help                                   << 
691           KW (AES Key Wrap) authenticated encr << 
692           and RFC3394) without padding.        << 
693                                                   960 
694 config CRYPTO_LRW                              !! 961 config CRYPTO_AES_NI_INTEL
695         tristate "LRW (Liskov Rivest Wagner)"  !! 962         tristate "AES cipher algorithms (AES-NI)"
696         select CRYPTO_LIB_GF128MUL             !! 963         depends on X86
697         select CRYPTO_SKCIPHER                 !! 964         select CRYPTO_AEAD
698         select CRYPTO_MANAGER                  !! 965         select CRYPTO_AES_X86_64 if 64BIT
699         select CRYPTO_ECB                      !! 966         select CRYPTO_AES_586 if !64BIT
                                                   >> 967         select CRYPTO_ALGAPI
                                                   >> 968         select CRYPTO_BLKCIPHER
                                                   >> 969         select CRYPTO_GLUE_HELPER_X86 if 64BIT
                                                   >> 970         select CRYPTO_SIMD
700         help                                      971         help
701           LRW (Liskov Rivest Wagner) mode      !! 972           Use Intel AES-NI instructions for AES algorithm.
702                                                   973 
703           A tweakable, non malleable, non mova !! 974           AES cipher algorithms (FIPS-197). AES uses the Rijndael
704           narrow block cipher mode for dm-cryp !! 975           algorithm.
705           specification string aes-lrw-benbi,  << 
706           The first 128, 192 or 256 bits in th << 
707           rest is used to tie each cipher bloc << 
708                                                   976 
709           See https://people.csail.mit.edu/riv !! 977           Rijndael appears to be consistently a very good performer in
                                                   >> 978           both hardware and software across a wide range of computing
                                                   >> 979           environments regardless of its use in feedback or non-feedback
                                                   >> 980           modes. Its key setup time is excellent, and its key agility is
                                                   >> 981           good. Rijndael's very low memory requirements make it very well
                                                   >> 982           suited for restricted-space environments, in which it also
                                                   >> 983           demonstrates excellent performance. Rijndael's operations are
                                                   >> 984           among the easiest to defend against power and timing attacks.
710                                                   985 
711 config CRYPTO_PCBC                             !! 986           The AES specifies three key sizes: 128, 192 and 256 bits
712         tristate "PCBC (Propagating Cipher Blo << 
713         select CRYPTO_SKCIPHER                 << 
714         select CRYPTO_MANAGER                  << 
715         help                                   << 
716           PCBC (Propagating Cipher Block Chain << 
717                                                   987 
718           This block cipher mode is required f !! 988           See <http://csrc.nist.gov/encryption/aes/> for more information.
719                                                   989 
720 config CRYPTO_XCTR                             !! 990           In addition to AES cipher algorithm support, the acceleration
721         tristate                               !! 991           for some popular block cipher mode is supported too, including
722         select CRYPTO_SKCIPHER                 !! 992           ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional
723         select CRYPTO_MANAGER                  !! 993           acceleration for CTR.
                                                   >> 994 
                                                   >> 995 config CRYPTO_AES_SPARC64
                                                   >> 996         tristate "AES cipher algorithms (SPARC64)"
                                                   >> 997         depends on SPARC64
                                                   >> 998         select CRYPTO_CRYPTD
                                                   >> 999         select CRYPTO_ALGAPI
724         help                                      1000         help
725           XCTR (XOR Counter) mode for HCTR2    !! 1001           Use SPARC64 crypto opcodes for AES algorithm.
                                                   >> 1002 
                                                   >> 1003           AES cipher algorithms (FIPS-197). AES uses the Rijndael
                                                   >> 1004           algorithm.
726                                                   1005 
727           This blockcipher mode is a variant o !! 1006           Rijndael appears to be consistently a very good performer in
728           addition rather than big-endian arit !! 1007           both hardware and software across a wide range of computing
                                                   >> 1008           environments regardless of its use in feedback or non-feedback
                                                   >> 1009           modes. Its key setup time is excellent, and its key agility is
                                                   >> 1010           good. Rijndael's very low memory requirements make it very well
                                                   >> 1011           suited for restricted-space environments, in which it also
                                                   >> 1012           demonstrates excellent performance. Rijndael's operations are
                                                   >> 1013           among the easiest to defend against power and timing attacks.
729                                                   1014 
730           XCTR mode is used to implement HCTR2 !! 1015           The AES specifies three key sizes: 128, 192 and 256 bits
731                                                   1016 
732 config CRYPTO_XTS                              !! 1017           See <http://csrc.nist.gov/encryption/aes/> for more information.
733         tristate "XTS (XOR Encrypt XOR with ci << 
734         select CRYPTO_SKCIPHER                 << 
735         select CRYPTO_MANAGER                  << 
736         select CRYPTO_ECB                      << 
737         help                                   << 
738           XTS (XOR Encrypt XOR with ciphertext << 
739           and IEEE 1619)                       << 
740                                                   1018 
741           Use with aes-xts-plain, key size 256 !! 1019           In addition to AES cipher algorithm support, the acceleration
742           implementation currently can't handl !! 1020           for some popular block cipher mode is supported too, including
743           multiple of 16 bytes.                !! 1021           ECB and CBC.
                                                   >> 1022 
                                                   >> 1023 config CRYPTO_AES_PPC_SPE
                                                   >> 1024         tristate "AES cipher algorithms (PPC SPE)"
                                                   >> 1025         depends on PPC && SPE
                                                   >> 1026         help
                                                   >> 1027           AES cipher algorithms (FIPS-197). Additionally the acceleration
                                                   >> 1028           for popular block cipher modes ECB, CBC, CTR and XTS is supported.
                                                   >> 1029           This module should only be used for low power (router) devices
                                                   >> 1030           without hardware AES acceleration (e.g. caam crypto). It reduces the
                                                   >> 1031           size of the AES tables from 16KB to 8KB + 256 bytes and mitigates
                                                   >> 1032           timining attacks. Nevertheless it might be not as secure as other
                                                   >> 1033           architecture specific assembler implementations that work on 1KB
                                                   >> 1034           tables or 256 bytes S-boxes.
744                                                   1035 
745 config CRYPTO_NHPOLY1305                       !! 1036 config CRYPTO_ANUBIS
746         tristate                               !! 1037         tristate "Anubis cipher algorithm"
747         select CRYPTO_HASH                     !! 1038         select CRYPTO_ALGAPI
748         select CRYPTO_LIB_POLY1305_GENERIC     !! 1039         help
                                                   >> 1040           Anubis cipher algorithm.
749                                                   1041 
750 endmenu                                        !! 1042           Anubis is a variable key length cipher which can use keys from
                                                   >> 1043           128 bits to 320 bits in length.  It was evaluated as a entrant
                                                   >> 1044           in the NESSIE competition.
751                                                   1045 
752 menu "AEAD (authenticated encryption with asso !! 1046           See also:
                                                   >> 1047           <https://www.cosic.esat.kuleuven.be/nessie/reports/>
                                                   >> 1048           <http://www.larc.usp.br/~pbarreto/AnubisPage.html>
753                                                   1049 
754 config CRYPTO_AEGIS128                         !! 1050 config CRYPTO_ARC4
755         tristate "AEGIS-128"                   !! 1051         tristate "ARC4 cipher algorithm"
756         select CRYPTO_AEAD                     !! 1052         select CRYPTO_BLKCIPHER
757         select CRYPTO_AES  # for AES S-box tab << 
758         help                                      1053         help
759           AEGIS-128 AEAD algorithm             !! 1054           ARC4 cipher algorithm.
760                                                   1055 
761 config CRYPTO_AEGIS128_SIMD                    !! 1056           ARC4 is a stream cipher using keys ranging from 8 bits to 2048
762         bool "AEGIS-128 (arm NEON, arm64 NEON) !! 1057           bits in length.  This algorithm is required for driver-based
763         depends on CRYPTO_AEGIS128 && ((ARM || !! 1058           WEP, but it should not be for other purposes because of the
764         default y                              !! 1059           weakness of the algorithm.
                                                   >> 1060 
                                                   >> 1061 config CRYPTO_BLOWFISH
                                                   >> 1062         tristate "Blowfish cipher algorithm"
                                                   >> 1063         select CRYPTO_ALGAPI
                                                   >> 1064         select CRYPTO_BLOWFISH_COMMON
765         help                                      1065         help
766           AEGIS-128 AEAD algorithm             !! 1066           Blowfish cipher algorithm, by Bruce Schneier.
767                                                   1067 
768           Architecture: arm or arm64 using:    !! 1068           This is a variable key length cipher which can use keys from 32
769           - NEON (Advanced SIMD) extension     !! 1069           bits to 448 bits in length.  It's fast, simple and specifically
                                                   >> 1070           designed for use on "large microprocessors".
770                                                   1071 
771 config CRYPTO_CHACHA20POLY1305                 !! 1072           See also:
772         tristate "ChaCha20-Poly1305"           !! 1073           <http://www.schneier.com/blowfish.html>
773         select CRYPTO_CHACHA20                 << 
774         select CRYPTO_POLY1305                 << 
775         select CRYPTO_AEAD                     << 
776         select CRYPTO_MANAGER                  << 
777         help                                   << 
778           ChaCha20 stream cipher and Poly1305  << 
779           mode (RFC8439)                       << 
780                                                   1074 
781 config CRYPTO_CCM                              !! 1075 config CRYPTO_BLOWFISH_COMMON
782         tristate "CCM (Counter with Cipher Blo !! 1076         tristate
783         select CRYPTO_CTR                      << 
784         select CRYPTO_HASH                     << 
785         select CRYPTO_AEAD                     << 
786         select CRYPTO_MANAGER                  << 
787         help                                      1077         help
788           CCM (Counter with Cipher Block Chain !! 1078           Common parts of the Blowfish cipher algorithm shared by the
789           authenticated encryption mode (NIST  !! 1079           generic c and the assembler implementations.
790                                                   1080 
791 config CRYPTO_GCM                              !! 1081           See also:
792         tristate "GCM (Galois/Counter Mode) an !! 1082           <http://www.schneier.com/blowfish.html>
793         select CRYPTO_CTR                      !! 1083 
794         select CRYPTO_AEAD                     !! 1084 config CRYPTO_BLOWFISH_X86_64
795         select CRYPTO_GHASH                    !! 1085         tristate "Blowfish cipher algorithm (x86_64)"
796         select CRYPTO_NULL                     !! 1086         depends on X86 && 64BIT
797         select CRYPTO_MANAGER                  !! 1087         select CRYPTO_ALGAPI
                                                   >> 1088         select CRYPTO_BLOWFISH_COMMON
798         help                                      1089         help
799           GCM (Galois/Counter Mode) authentica !! 1090           Blowfish cipher algorithm (x86_64), by Bruce Schneier.
800           (GCM Message Authentication Code) (N << 
801                                                   1091 
802           This is required for IPSec ESP (XFRM !! 1092           This is a variable key length cipher which can use keys from 32
                                                   >> 1093           bits to 448 bits in length.  It's fast, simple and specifically
                                                   >> 1094           designed for use on "large microprocessors".
803                                                   1095 
804 config CRYPTO_GENIV                            !! 1096           See also:
805         tristate                               !! 1097           <http://www.schneier.com/blowfish.html>
806         select CRYPTO_AEAD                     << 
807         select CRYPTO_NULL                     << 
808         select CRYPTO_MANAGER                  << 
809         select CRYPTO_RNG_DEFAULT              << 
810                                                   1098 
811 config CRYPTO_SEQIV                            !! 1099 config CRYPTO_CAMELLIA
812         tristate "Sequence Number IV Generator !! 1100         tristate "Camellia cipher algorithms"
813         select CRYPTO_GENIV                    !! 1101         depends on CRYPTO
                                                   >> 1102         select CRYPTO_ALGAPI
814         help                                      1103         help
815           Sequence Number IV generator         !! 1104           Camellia cipher algorithms module.
816                                                   1105 
817           This IV generator generates an IV ba !! 1106           Camellia is a symmetric key block cipher developed jointly
818           xoring it with a salt.  This algorit !! 1107           at NTT and Mitsubishi Electric Corporation.
                                                   >> 1108 
                                                   >> 1109           The Camellia specifies three key sizes: 128, 192 and 256 bits.
819                                                   1110 
820           This is required for IPsec ESP (XFRM !! 1111           See also:
                                                   >> 1112           <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
821                                                   1113 
822 config CRYPTO_ECHAINIV                         !! 1114 config CRYPTO_CAMELLIA_X86_64
823         tristate "Encrypted Chain IV Generator !! 1115         tristate "Camellia cipher algorithm (x86_64)"
824         select CRYPTO_GENIV                    !! 1116         depends on X86 && 64BIT
                                                   >> 1117         depends on CRYPTO
                                                   >> 1118         select CRYPTO_ALGAPI
                                                   >> 1119         select CRYPTO_GLUE_HELPER_X86
                                                   >> 1120         select CRYPTO_LRW
                                                   >> 1121         select CRYPTO_XTS
825         help                                      1122         help
826           Encrypted Chain IV generator         !! 1123           Camellia cipher algorithm module (x86_64).
827                                                   1124 
828           This IV generator generates an IV ba !! 1125           Camellia is a symmetric key block cipher developed jointly
829           a sequence number xored with a salt. !! 1126           at NTT and Mitsubishi Electric Corporation.
830           algorithm for CBC.                   !! 1127 
                                                   >> 1128           The Camellia specifies three key sizes: 128, 192 and 256 bits.
                                                   >> 1129 
                                                   >> 1130           See also:
                                                   >> 1131           <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
831                                                   1132 
832 config CRYPTO_ESSIV                            !! 1133 config CRYPTO_CAMELLIA_AESNI_AVX_X86_64
833         tristate "Encrypted Salt-Sector IV Gen !! 1134         tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX)"
834         select CRYPTO_AUTHENC                  !! 1135         depends on X86 && 64BIT
                                                   >> 1136         depends on CRYPTO
                                                   >> 1137         select CRYPTO_ALGAPI
                                                   >> 1138         select CRYPTO_CRYPTD
                                                   >> 1139         select CRYPTO_ABLK_HELPER
                                                   >> 1140         select CRYPTO_GLUE_HELPER_X86
                                                   >> 1141         select CRYPTO_CAMELLIA_X86_64
                                                   >> 1142         select CRYPTO_LRW
                                                   >> 1143         select CRYPTO_XTS
835         help                                      1144         help
836           Encrypted Salt-Sector IV generator   !! 1145           Camellia cipher algorithm module (x86_64/AES-NI/AVX).
                                                   >> 1146 
                                                   >> 1147           Camellia is a symmetric key block cipher developed jointly
                                                   >> 1148           at NTT and Mitsubishi Electric Corporation.
837                                                   1149 
838           This IV generator is used in some ca !! 1150           The Camellia specifies three key sizes: 128, 192 and 256 bits.
839           dm-crypt. It uses the hash of the bl << 
840           symmetric key for a block encryption << 
841           IV, making low entropy IV sources mo << 
842           encryption.                          << 
843                                                   1151 
844           This driver implements a crypto API  !! 1152           See also:
845           instantiated either as an skcipher o !! 1153           <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
846           type of the first template argument) << 
847           and decryption requests to the encap << 
848           ESSIV to the input IV. Note that in  << 
849           that the keys are presented in the s << 
850           template, and that the IV appears at << 
851           associated data (AAD) region (which  << 
852                                                   1154 
853           Note that the use of ESSIV is not re !! 1155 config CRYPTO_CAMELLIA_AESNI_AVX2_X86_64
854           and so this only needs to be enabled !! 1156         tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX2)"
855           existing encrypted volumes of filesy !! 1157         depends on X86 && 64BIT
856           building for a particular system tha !! 1158         depends on CRYPTO
857           the SoC in question has accelerated  !! 1159         select CRYPTO_ALGAPI
858           combined with ESSIV the only feasibl !! 1160         select CRYPTO_CRYPTD
859           block encryption)                    !! 1161         select CRYPTO_ABLK_HELPER
                                                   >> 1162         select CRYPTO_GLUE_HELPER_X86
                                                   >> 1163         select CRYPTO_CAMELLIA_X86_64
                                                   >> 1164         select CRYPTO_CAMELLIA_AESNI_AVX_X86_64
                                                   >> 1165         select CRYPTO_LRW
                                                   >> 1166         select CRYPTO_XTS
                                                   >> 1167         help
                                                   >> 1168           Camellia cipher algorithm module (x86_64/AES-NI/AVX2).
860                                                   1169 
861 endmenu                                        !! 1170           Camellia is a symmetric key block cipher developed jointly
                                                   >> 1171           at NTT and Mitsubishi Electric Corporation.
862                                                   1172 
863 menu "Hashes, digests, and MACs"               !! 1173           The Camellia specifies three key sizes: 128, 192 and 256 bits.
864                                                   1174 
865 config CRYPTO_BLAKE2B                          !! 1175           See also:
866         tristate "BLAKE2b"                     !! 1176           <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
867         select CRYPTO_HASH                     !! 1177 
                                                   >> 1178 config CRYPTO_CAMELLIA_SPARC64
                                                   >> 1179         tristate "Camellia cipher algorithm (SPARC64)"
                                                   >> 1180         depends on SPARC64
                                                   >> 1181         depends on CRYPTO
                                                   >> 1182         select CRYPTO_ALGAPI
868         help                                      1183         help
869           BLAKE2b cryptographic hash function  !! 1184           Camellia cipher algorithm module (SPARC64).
870                                                   1185 
871           BLAKE2b is optimized for 64-bit plat !! 1186           Camellia is a symmetric key block cipher developed jointly
872           of any size between 1 and 64 bytes.  !! 1187           at NTT and Mitsubishi Electric Corporation.
873                                                   1188 
874           This module provides the following a !! 1189           The Camellia specifies three key sizes: 128, 192 and 256 bits.
875           - blake2b-160                        << 
876           - blake2b-256                        << 
877           - blake2b-384                        << 
878           - blake2b-512                        << 
879                                                   1190 
880           Used by the btrfs filesystem.        !! 1191           See also:
                                                   >> 1192           <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
881                                                   1193 
882           See https://blake2.net for further i !! 1194 config CRYPTO_CAST_COMMON
                                                   >> 1195         tristate
                                                   >> 1196         help
                                                   >> 1197           Common parts of the CAST cipher algorithms shared by the
                                                   >> 1198           generic c and the assembler implementations.
883                                                   1199 
884 config CRYPTO_CMAC                             !! 1200 config CRYPTO_CAST5
885         tristate "CMAC (Cipher-based MAC)"     !! 1201         tristate "CAST5 (CAST-128) cipher algorithm"
886         select CRYPTO_HASH                     !! 1202         select CRYPTO_ALGAPI
887         select CRYPTO_MANAGER                  !! 1203         select CRYPTO_CAST_COMMON
888         help                                      1204         help
889           CMAC (Cipher-based Message Authentic !! 1205           The CAST5 encryption algorithm (synonymous with CAST-128) is
890           mode (NIST SP800-38B and IETF RFC449 !! 1206           described in RFC2144.
891                                                   1207 
892 config CRYPTO_GHASH                            !! 1208 config CRYPTO_CAST5_AVX_X86_64
893         tristate "GHASH"                       !! 1209         tristate "CAST5 (CAST-128) cipher algorithm (x86_64/AVX)"
894         select CRYPTO_HASH                     !! 1210         depends on X86 && 64BIT
895         select CRYPTO_LIB_GF128MUL             !! 1211         select CRYPTO_ALGAPI
                                                   >> 1212         select CRYPTO_CRYPTD
                                                   >> 1213         select CRYPTO_ABLK_HELPER
                                                   >> 1214         select CRYPTO_CAST_COMMON
                                                   >> 1215         select CRYPTO_CAST5
896         help                                      1216         help
897           GCM GHASH function (NIST SP800-38D)  !! 1217           The CAST5 encryption algorithm (synonymous with CAST-128) is
                                                   >> 1218           described in RFC2144.
898                                                   1219 
899 config CRYPTO_HMAC                             !! 1220           This module provides the Cast5 cipher algorithm that processes
900         tristate "HMAC (Keyed-Hash MAC)"       !! 1221           sixteen blocks parallel using the AVX instruction set.
901         select CRYPTO_HASH                     !! 1222 
902         select CRYPTO_MANAGER                  !! 1223 config CRYPTO_CAST6
                                                   >> 1224         tristate "CAST6 (CAST-256) cipher algorithm"
                                                   >> 1225         select CRYPTO_ALGAPI
                                                   >> 1226         select CRYPTO_CAST_COMMON
                                                   >> 1227         help
                                                   >> 1228           The CAST6 encryption algorithm (synonymous with CAST-256) is
                                                   >> 1229           described in RFC2612.
                                                   >> 1230 
                                                   >> 1231 config CRYPTO_CAST6_AVX_X86_64
                                                   >> 1232         tristate "CAST6 (CAST-256) cipher algorithm (x86_64/AVX)"
                                                   >> 1233         depends on X86 && 64BIT
                                                   >> 1234         select CRYPTO_ALGAPI
                                                   >> 1235         select CRYPTO_CRYPTD
                                                   >> 1236         select CRYPTO_ABLK_HELPER
                                                   >> 1237         select CRYPTO_GLUE_HELPER_X86
                                                   >> 1238         select CRYPTO_CAST_COMMON
                                                   >> 1239         select CRYPTO_CAST6
                                                   >> 1240         select CRYPTO_LRW
                                                   >> 1241         select CRYPTO_XTS
903         help                                      1242         help
904           HMAC (Keyed-Hash Message Authenticat !! 1243           The CAST6 encryption algorithm (synonymous with CAST-256) is
905           RFC2104)                             !! 1244           described in RFC2612.
906                                                   1245 
907           This is required for IPsec AH (XFRM_ !! 1246           This module provides the Cast6 cipher algorithm that processes
                                                   >> 1247           eight blocks parallel using the AVX instruction set.
908                                                   1248 
909 config CRYPTO_MD4                              !! 1249 config CRYPTO_DES
910         tristate "MD4"                         !! 1250         tristate "DES and Triple DES EDE cipher algorithms"
911         select CRYPTO_HASH                     !! 1251         select CRYPTO_ALGAPI
912         help                                      1252         help
913           MD4 message digest algorithm (RFC132 !! 1253           DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
914                                                   1254 
915 config CRYPTO_MD5                              !! 1255 config CRYPTO_DES_SPARC64
916         tristate "MD5"                         !! 1256         tristate "DES and Triple DES EDE cipher algorithms (SPARC64)"
917         select CRYPTO_HASH                     !! 1257         depends on SPARC64
                                                   >> 1258         select CRYPTO_ALGAPI
                                                   >> 1259         select CRYPTO_DES
918         help                                      1260         help
919           MD5 message digest algorithm (RFC132 !! 1261           DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3),
                                                   >> 1262           optimized using SPARC64 crypto opcodes.
920                                                   1263 
921 config CRYPTO_MICHAEL_MIC                      !! 1264 config CRYPTO_DES3_EDE_X86_64
922         tristate "Michael MIC"                 !! 1265         tristate "Triple DES EDE cipher algorithm (x86-64)"
923         select CRYPTO_HASH                     !! 1266         depends on X86 && 64BIT
                                                   >> 1267         select CRYPTO_ALGAPI
                                                   >> 1268         select CRYPTO_DES
924         help                                      1269         help
925           Michael MIC (Message Integrity Code) !! 1270           Triple DES EDE (FIPS 46-3) algorithm.
926                                                   1271 
927           Defined by the IEEE 802.11i TKIP (Te !! 1272           This module provides implementation of the Triple DES EDE cipher
928           known as WPA (Wif-Fi Protected Acces !! 1273           algorithm that is optimized for x86-64 processors. Two versions of
                                                   >> 1274           algorithm are provided; regular processing one input block and
                                                   >> 1275           one that processes three blocks parallel.
929                                                   1276 
930           This algorithm is required for TKIP, !! 1277 config CRYPTO_FCRYPT
931           other purposes because of the weakne !! 1278         tristate "FCrypt cipher algorithm"
                                                   >> 1279         select CRYPTO_ALGAPI
                                                   >> 1280         select CRYPTO_BLKCIPHER
                                                   >> 1281         help
                                                   >> 1282           FCrypt algorithm used by RxRPC.
932                                                   1283 
933 config CRYPTO_POLYVAL                          !! 1284 config CRYPTO_KHAZAD
934         tristate                               !! 1285         tristate "Khazad cipher algorithm"
935         select CRYPTO_HASH                     !! 1286         select CRYPTO_ALGAPI
936         select CRYPTO_LIB_GF128MUL             << 
937         help                                      1287         help
938           POLYVAL hash function for HCTR2      !! 1288           Khazad cipher algorithm.
939                                                   1289 
940           This is used in HCTR2.  It is not a  !! 1290           Khazad was a finalist in the initial NESSIE competition.  It is
941           cryptographic hash function.         !! 1291           an algorithm optimized for 64-bit processors with good performance
                                                   >> 1292           on 32-bit processors.  Khazad uses an 128 bit key size.
942                                                   1293 
943 config CRYPTO_POLY1305                         !! 1294           See also:
944         tristate "Poly1305"                    !! 1295           <http://www.larc.usp.br/~pbarreto/KhazadPage.html>
945         select CRYPTO_HASH                     !! 1296 
946         select CRYPTO_LIB_POLY1305_GENERIC     !! 1297 config CRYPTO_SALSA20
                                                   >> 1298         tristate "Salsa20 stream cipher algorithm"
                                                   >> 1299         select CRYPTO_BLKCIPHER
947         help                                      1300         help
948           Poly1305 authenticator algorithm (RF !! 1301           Salsa20 stream cipher algorithm.
949                                                   1302 
950           Poly1305 is an authenticator algorit !! 1303           Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
951           It is used for the ChaCha20-Poly1305 !! 1304           Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
952           in IETF protocols. This is the porta << 
953                                                   1305 
954 config CRYPTO_RMD160                           !! 1306           The Salsa20 stream cipher algorithm is designed by Daniel J.
955         tristate "RIPEMD-160"                  !! 1307           Bernstein <http://cr.yp.to/snuffle.html">djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
956         select CRYPTO_HASH                     << 
957         help                                   << 
958           RIPEMD-160 hash function (ISO/IEC 10 << 
959                                                   1308 
960           RIPEMD-160 is a 160-bit cryptographi !! 1309 config CRYPTO_SALSA20_586
961           to be used as a secure replacement f !! 1310         tristate "Salsa20 stream cipher algorithm (i586)"
962           MD4, MD5 and its predecessor RIPEMD  !! 1311         depends on (X86 || UML_X86) && !64BIT
963           (not to be confused with RIPEMD-128) !! 1312         select CRYPTO_BLKCIPHER
                                                   >> 1313         help
                                                   >> 1314           Salsa20 stream cipher algorithm.
964                                                   1315 
965           Its speed is comparable to SHA-1 and !! 1316           Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
966           against RIPEMD-160.                  !! 1317           Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
967                                                   1318 
968           Developed by Hans Dobbertin, Antoon  !! 1319           The Salsa20 stream cipher algorithm is designed by Daniel J.
969           See https://homes.esat.kuleuven.be/~ !! 1320           Bernstein <http://cr.yp.to/snuffle.html">djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
970           for further information.             << 
971                                                   1321 
972 config CRYPTO_SHA1                             !! 1322 config CRYPTO_SALSA20_X86_64
973         tristate "SHA-1"                       !! 1323         tristate "Salsa20 stream cipher algorithm (x86_64)"
974         select CRYPTO_HASH                     !! 1324         depends on (X86 || UML_X86) && 64BIT
975         select CRYPTO_LIB_SHA1                 !! 1325         select CRYPTO_BLKCIPHER
976         help                                      1326         help
977           SHA-1 secure hash algorithm (FIPS 18 !! 1327           Salsa20 stream cipher algorithm.
978                                                   1328 
979 config CRYPTO_SHA256                           !! 1329           Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
980         tristate "SHA-224 and SHA-256"         !! 1330           Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
981         select CRYPTO_HASH                     !! 1331 
982         select CRYPTO_LIB_SHA256               !! 1332           The Salsa20 stream cipher algorithm is designed by Daniel J.
                                                   >> 1333           Bernstein <http://cr.yp.to/snuffle.html">djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
                                                   >> 1334 
                                                   >> 1335 config CRYPTO_CHACHA20
                                                   >> 1336         tristate "ChaCha20 cipher algorithm"
                                                   >> 1337         select CRYPTO_BLKCIPHER
983         help                                      1338         help
984           SHA-224 and SHA-256 secure hash algo !! 1339           ChaCha20 cipher algorithm, RFC7539.
985                                                   1340 
986           This is required for IPsec AH (XFRM_ !! 1341           ChaCha20 is a 256-bit high-speed stream cipher designed by Daniel J.
987           Used by the btrfs filesystem, Ceph,  !! 1342           Bernstein and further specified in RFC7539 for use in IETF protocols.
                                                   >> 1343           This is the portable C implementation of ChaCha20.
988                                                   1344 
989 config CRYPTO_SHA512                           !! 1345           See also:
990         tristate "SHA-384 and SHA-512"         !! 1346           <http://cr.yp.to/chacha/chacha-20080128.pdf>
991         select CRYPTO_HASH                     !! 1347 
                                                   >> 1348 config CRYPTO_CHACHA20_X86_64
                                                   >> 1349         tristate "ChaCha20 cipher algorithm (x86_64/SSSE3/AVX2)"
                                                   >> 1350         depends on X86 && 64BIT
                                                   >> 1351         select CRYPTO_BLKCIPHER
                                                   >> 1352         select CRYPTO_CHACHA20
992         help                                      1353         help
993           SHA-384 and SHA-512 secure hash algo !! 1354           ChaCha20 cipher algorithm, RFC7539.
994                                                   1355 
995 config CRYPTO_SHA3                             !! 1356           ChaCha20 is a 256-bit high-speed stream cipher designed by Daniel J.
996         tristate "SHA-3"                       !! 1357           Bernstein and further specified in RFC7539 for use in IETF protocols.
997         select CRYPTO_HASH                     !! 1358           This is the x86_64 assembler implementation using SIMD instructions.
                                                   >> 1359 
                                                   >> 1360           See also:
                                                   >> 1361           <http://cr.yp.to/chacha/chacha-20080128.pdf>
                                                   >> 1362 
                                                   >> 1363 config CRYPTO_SEED
                                                   >> 1364         tristate "SEED cipher algorithm"
                                                   >> 1365         select CRYPTO_ALGAPI
998         help                                      1366         help
999           SHA-3 secure hash algorithms (FIPS 2 !! 1367           SEED cipher algorithm (RFC4269).
1000                                                  1368 
1001 config CRYPTO_SM3                             !! 1369           SEED is a 128-bit symmetric key block cipher that has been
1002         tristate                              !! 1370           developed by KISA (Korea Information Security Agency) as a
                                                   >> 1371           national standard encryption algorithm of the Republic of Korea.
                                                   >> 1372           It is a 16 round block cipher with the key size of 128 bit.
1003                                                  1373 
1004 config CRYPTO_SM3_GENERIC                     !! 1374           See also:
1005         tristate "SM3 (ShangMi 3)"            !! 1375           <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp>
1006         select CRYPTO_HASH                    !! 1376 
1007         select CRYPTO_SM3                     !! 1377 config CRYPTO_SERPENT
                                                   >> 1378         tristate "Serpent cipher algorithm"
                                                   >> 1379         select CRYPTO_ALGAPI
1008         help                                     1380         help
1009           SM3 (ShangMi 3) secure hash functio !! 1381           Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1010                                                  1382 
1011           This is part of the Chinese Commerc !! 1383           Keys are allowed to be from 0 to 256 bits in length, in steps
                                                   >> 1384           of 8 bits.  Also includes the 'Tnepres' algorithm, a reversed
                                                   >> 1385           variant of Serpent for compatibility with old kerneli.org code.
1012                                                  1386 
1013           References:                         !! 1387           See also:
1014           http://www.oscca.gov.cn/UpFile/2010 !! 1388           <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1015           https://datatracker.ietf.org/doc/ht << 
1016                                                  1389 
1017 config CRYPTO_STREEBOG                        !! 1390 config CRYPTO_SERPENT_SSE2_X86_64
1018         tristate "Streebog"                   !! 1391         tristate "Serpent cipher algorithm (x86_64/SSE2)"
1019         select CRYPTO_HASH                    !! 1392         depends on X86 && 64BIT
                                                   >> 1393         select CRYPTO_ALGAPI
                                                   >> 1394         select CRYPTO_CRYPTD
                                                   >> 1395         select CRYPTO_ABLK_HELPER
                                                   >> 1396         select CRYPTO_GLUE_HELPER_X86
                                                   >> 1397         select CRYPTO_SERPENT
                                                   >> 1398         select CRYPTO_LRW
                                                   >> 1399         select CRYPTO_XTS
1020         help                                     1400         help
1021           Streebog Hash Function (GOST R 34.1 !! 1401           Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1022                                                  1402 
1023           This is one of the Russian cryptogr !! 1403           Keys are allowed to be from 0 to 256 bits in length, in steps
1024           GOST algorithms). This setting enab !! 1404           of 8 bits.
1025           256 and 512 bits output.            << 
1026                                                  1405 
1027           References:                         !! 1406           This module provides Serpent cipher algorithm that processes eight
1028           https://tc26.ru/upload/iblock/fed/f !! 1407           blocks parallel using SSE2 instruction set.
1029           https://tools.ietf.org/html/rfc6986 << 
1030                                                  1408 
1031 config CRYPTO_VMAC                            !! 1409           See also:
1032         tristate "VMAC"                       !! 1410           <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1033         select CRYPTO_HASH                    !! 1411 
1034         select CRYPTO_MANAGER                 !! 1412 config CRYPTO_SERPENT_SSE2_586
                                                   >> 1413         tristate "Serpent cipher algorithm (i586/SSE2)"
                                                   >> 1414         depends on X86 && !64BIT
                                                   >> 1415         select CRYPTO_ALGAPI
                                                   >> 1416         select CRYPTO_CRYPTD
                                                   >> 1417         select CRYPTO_ABLK_HELPER
                                                   >> 1418         select CRYPTO_GLUE_HELPER_X86
                                                   >> 1419         select CRYPTO_SERPENT
                                                   >> 1420         select CRYPTO_LRW
                                                   >> 1421         select CRYPTO_XTS
1035         help                                     1422         help
1036           VMAC is a message authentication al !! 1423           Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1037           very high speed on 64-bit architect << 
1038                                                  1424 
1039           See https://fastcrypto.org/vmac for !! 1425           Keys are allowed to be from 0 to 256 bits in length, in steps
                                                   >> 1426           of 8 bits.
1040                                                  1427 
1041 config CRYPTO_WP512                           !! 1428           This module provides Serpent cipher algorithm that processes four
1042         tristate "Whirlpool"                  !! 1429           blocks parallel using SSE2 instruction set.
1043         select CRYPTO_HASH                    !! 1430 
                                                   >> 1431           See also:
                                                   >> 1432           <http://www.cl.cam.ac.uk/~rja14/serpent.html>
                                                   >> 1433 
                                                   >> 1434 config CRYPTO_SERPENT_AVX_X86_64
                                                   >> 1435         tristate "Serpent cipher algorithm (x86_64/AVX)"
                                                   >> 1436         depends on X86 && 64BIT
                                                   >> 1437         select CRYPTO_ALGAPI
                                                   >> 1438         select CRYPTO_CRYPTD
                                                   >> 1439         select CRYPTO_ABLK_HELPER
                                                   >> 1440         select CRYPTO_GLUE_HELPER_X86
                                                   >> 1441         select CRYPTO_SERPENT
                                                   >> 1442         select CRYPTO_LRW
                                                   >> 1443         select CRYPTO_XTS
1044         help                                     1444         help
1045           Whirlpool hash function (ISO/IEC 10 !! 1445           Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1046                                                  1446 
1047           512, 384 and 256-bit hashes.        !! 1447           Keys are allowed to be from 0 to 256 bits in length, in steps
                                                   >> 1448           of 8 bits.
1048                                                  1449 
1049           Whirlpool-512 is part of the NESSIE !! 1450           This module provides the Serpent cipher algorithm that processes
                                                   >> 1451           eight blocks parallel using the AVX instruction set.
1050                                                  1452 
1051           See https://web.archive.org/web/201 !! 1453           See also:
1052           for further information.            !! 1454           <http://www.cl.cam.ac.uk/~rja14/serpent.html>
1053                                                  1455 
1054 config CRYPTO_XCBC                            !! 1456 config CRYPTO_SERPENT_AVX2_X86_64
1055         tristate "XCBC-MAC (Extended Cipher B !! 1457         tristate "Serpent cipher algorithm (x86_64/AVX2)"
1056         select CRYPTO_HASH                    !! 1458         depends on X86 && 64BIT
1057         select CRYPTO_MANAGER                 !! 1459         select CRYPTO_ALGAPI
                                                   >> 1460         select CRYPTO_CRYPTD
                                                   >> 1461         select CRYPTO_ABLK_HELPER
                                                   >> 1462         select CRYPTO_GLUE_HELPER_X86
                                                   >> 1463         select CRYPTO_SERPENT
                                                   >> 1464         select CRYPTO_SERPENT_AVX_X86_64
                                                   >> 1465         select CRYPTO_LRW
                                                   >> 1466         select CRYPTO_XTS
1058         help                                     1467         help
1059           XCBC-MAC (Extended Cipher Block Cha !! 1468           Serpent cipher algorithm, by Anderson, Biham & Knudsen.
1060           Code) (RFC3566)                     << 
1061                                                  1469 
1062 config CRYPTO_XXHASH                          !! 1470           Keys are allowed to be from 0 to 256 bits in length, in steps
1063         tristate "xxHash"                     !! 1471           of 8 bits.
1064         select CRYPTO_HASH                    !! 1472 
1065         select XXHASH                         !! 1473           This module provides Serpent cipher algorithm that processes 16
                                                   >> 1474           blocks parallel using AVX2 instruction set.
                                                   >> 1475 
                                                   >> 1476           See also:
                                                   >> 1477           <http://www.cl.cam.ac.uk/~rja14/serpent.html>
                                                   >> 1478 
                                                   >> 1479 config CRYPTO_TEA
                                                   >> 1480         tristate "TEA, XTEA and XETA cipher algorithms"
                                                   >> 1481         select CRYPTO_ALGAPI
1066         help                                     1482         help
1067           xxHash non-cryptographic hash algor !! 1483           TEA cipher algorithm.
                                                   >> 1484 
                                                   >> 1485           Tiny Encryption Algorithm is a simple cipher that uses
                                                   >> 1486           many rounds for security.  It is very fast and uses
                                                   >> 1487           little memory.
                                                   >> 1488 
                                                   >> 1489           Xtendend Tiny Encryption Algorithm is a modification to
                                                   >> 1490           the TEA algorithm to address a potential key weakness
                                                   >> 1491           in the TEA algorithm.
                                                   >> 1492 
                                                   >> 1493           Xtendend Encryption Tiny Algorithm is a mis-implementation
                                                   >> 1494           of the XTEA algorithm for compatibility purposes.
1068                                                  1495 
1069           Extremely fast, working at speeds c !! 1496 config CRYPTO_TWOFISH
                                                   >> 1497         tristate "Twofish cipher algorithm"
                                                   >> 1498         select CRYPTO_ALGAPI
                                                   >> 1499         select CRYPTO_TWOFISH_COMMON
                                                   >> 1500         help
                                                   >> 1501           Twofish cipher algorithm.
1070                                                  1502 
1071           Used by the btrfs filesystem.       !! 1503           Twofish was submitted as an AES (Advanced Encryption Standard)
                                                   >> 1504           candidate cipher by researchers at CounterPane Systems.  It is a
                                                   >> 1505           16 round block cipher supporting key sizes of 128, 192, and 256
                                                   >> 1506           bits.
1072                                                  1507 
1073 endmenu                                       !! 1508           See also:
                                                   >> 1509           <http://www.schneier.com/twofish.html>
1074                                                  1510 
1075 menu "CRCs (cyclic redundancy checks)"        !! 1511 config CRYPTO_TWOFISH_COMMON
                                                   >> 1512         tristate
                                                   >> 1513         help
                                                   >> 1514           Common parts of the Twofish cipher algorithm shared by the
                                                   >> 1515           generic c and the assembler implementations.
1076                                                  1516 
1077 config CRYPTO_CRC32C                          !! 1517 config CRYPTO_TWOFISH_586
1078         tristate "CRC32c"                     !! 1518         tristate "Twofish cipher algorithms (i586)"
1079         select CRYPTO_HASH                    !! 1519         depends on (X86 || UML_X86) && !64BIT
1080         select CRC32                          !! 1520         select CRYPTO_ALGAPI
                                                   >> 1521         select CRYPTO_TWOFISH_COMMON
1081         help                                     1522         help
1082           CRC32c CRC algorithm with the iSCSI !! 1523           Twofish cipher algorithm.
1083                                                  1524 
1084           A 32-bit CRC (cyclic redundancy che !! 1525           Twofish was submitted as an AES (Advanced Encryption Standard)
1085           by G. Castagnoli, S. Braeuer and M. !! 1526           candidate cipher by researchers at CounterPane Systems.  It is a
1086           Redundancy-Check Codes with 24 and  !! 1527           16 round block cipher supporting key sizes of 128, 192, and 256
1087           on Communications, Vol. 41, No. 6,  !! 1528           bits.
1088           iSCSI.                              << 
1089                                                  1529 
1090           Used by btrfs, ext4, jbd2, NVMeoF/T !! 1530           See also:
                                                   >> 1531           <http://www.schneier.com/twofish.html>
1091                                                  1532 
1092 config CRYPTO_CRC32                           !! 1533 config CRYPTO_TWOFISH_X86_64
1093         tristate "CRC32"                      !! 1534         tristate "Twofish cipher algorithm (x86_64)"
1094         select CRYPTO_HASH                    !! 1535         depends on (X86 || UML_X86) && 64BIT
1095         select CRC32                          !! 1536         select CRYPTO_ALGAPI
                                                   >> 1537         select CRYPTO_TWOFISH_COMMON
1096         help                                     1538         help
1097           CRC32 CRC algorithm (IEEE 802.3)    !! 1539           Twofish cipher algorithm (x86_64).
                                                   >> 1540 
                                                   >> 1541           Twofish was submitted as an AES (Advanced Encryption Standard)
                                                   >> 1542           candidate cipher by researchers at CounterPane Systems.  It is a
                                                   >> 1543           16 round block cipher supporting key sizes of 128, 192, and 256
                                                   >> 1544           bits.
1098                                                  1545 
1099           Used by RoCEv2 and f2fs.            !! 1546           See also:
                                                   >> 1547           <http://www.schneier.com/twofish.html>
1100                                                  1548 
1101 config CRYPTO_CRCT10DIF                       !! 1549 config CRYPTO_TWOFISH_X86_64_3WAY
1102         tristate "CRCT10DIF"                  !! 1550         tristate "Twofish cipher algorithm (x86_64, 3-way parallel)"
1103         select CRYPTO_HASH                    !! 1551         depends on X86 && 64BIT
                                                   >> 1552         select CRYPTO_ALGAPI
                                                   >> 1553         select CRYPTO_TWOFISH_COMMON
                                                   >> 1554         select CRYPTO_TWOFISH_X86_64
                                                   >> 1555         select CRYPTO_GLUE_HELPER_X86
                                                   >> 1556         select CRYPTO_LRW
                                                   >> 1557         select CRYPTO_XTS
1104         help                                     1558         help
1105           CRC16 CRC algorithm used for the T1 !! 1559           Twofish cipher algorithm (x86_64, 3-way parallel).
                                                   >> 1560 
                                                   >> 1561           Twofish was submitted as an AES (Advanced Encryption Standard)
                                                   >> 1562           candidate cipher by researchers at CounterPane Systems.  It is a
                                                   >> 1563           16 round block cipher supporting key sizes of 128, 192, and 256
                                                   >> 1564           bits.
1106                                                  1565 
1107           CRC algorithm used by the SCSI Bloc !! 1566           This module provides Twofish cipher algorithm that processes three
                                                   >> 1567           blocks parallel, utilizing resources of out-of-order CPUs better.
1108                                                  1568 
1109 config CRYPTO_CRC64_ROCKSOFT                  !! 1569           See also:
1110         tristate "CRC64 based on Rocksoft Mod !! 1570           <http://www.schneier.com/twofish.html>
1111         depends on CRC64                      !! 1571 
1112         select CRYPTO_HASH                    !! 1572 config CRYPTO_TWOFISH_AVX_X86_64
                                                   >> 1573         tristate "Twofish cipher algorithm (x86_64/AVX)"
                                                   >> 1574         depends on X86 && 64BIT
                                                   >> 1575         select CRYPTO_ALGAPI
                                                   >> 1576         select CRYPTO_CRYPTD
                                                   >> 1577         select CRYPTO_ABLK_HELPER
                                                   >> 1578         select CRYPTO_GLUE_HELPER_X86
                                                   >> 1579         select CRYPTO_TWOFISH_COMMON
                                                   >> 1580         select CRYPTO_TWOFISH_X86_64
                                                   >> 1581         select CRYPTO_TWOFISH_X86_64_3WAY
                                                   >> 1582         select CRYPTO_LRW
                                                   >> 1583         select CRYPTO_XTS
1113         help                                     1584         help
1114           CRC64 CRC algorithm based on the Ro !! 1585           Twofish cipher algorithm (x86_64/AVX).
1115                                                  1586 
1116           Used by the NVMe implementation of  !! 1587           Twofish was submitted as an AES (Advanced Encryption Standard)
                                                   >> 1588           candidate cipher by researchers at CounterPane Systems.  It is a
                                                   >> 1589           16 round block cipher supporting key sizes of 128, 192, and 256
                                                   >> 1590           bits.
1117                                                  1591 
1118           See https://zlib.net/crc_v3.txt     !! 1592           This module provides the Twofish cipher algorithm that processes
                                                   >> 1593           eight blocks parallel using the AVX Instruction Set.
1119                                                  1594 
1120 endmenu                                       !! 1595           See also:
                                                   >> 1596           <http://www.schneier.com/twofish.html>
1121                                                  1597 
1122 menu "Compression"                            !! 1598 comment "Compression"
1123                                                  1599 
1124 config CRYPTO_DEFLATE                            1600 config CRYPTO_DEFLATE
1125         tristate "Deflate"                    !! 1601         tristate "Deflate compression algorithm"
1126         select CRYPTO_ALGAPI                     1602         select CRYPTO_ALGAPI
1127         select CRYPTO_ACOMP2                     1603         select CRYPTO_ACOMP2
1128         select ZLIB_INFLATE                      1604         select ZLIB_INFLATE
1129         select ZLIB_DEFLATE                      1605         select ZLIB_DEFLATE
1130         help                                     1606         help
1131           Deflate compression algorithm (RFC1 !! 1607           This is the Deflate algorithm (RFC1951), specified for use in
                                                   >> 1608           IPSec with the IPCOMP protocol (RFC3173, RFC2394).
1132                                                  1609 
1133           Used by IPSec with the IPCOMP proto !! 1610           You will most probably want this if using IPSec.
1134                                                  1611 
1135 config CRYPTO_LZO                                1612 config CRYPTO_LZO
1136         tristate "LZO"                        !! 1613         tristate "LZO compression algorithm"
1137         select CRYPTO_ALGAPI                     1614         select CRYPTO_ALGAPI
1138         select CRYPTO_ACOMP2                     1615         select CRYPTO_ACOMP2
1139         select LZO_COMPRESS                      1616         select LZO_COMPRESS
1140         select LZO_DECOMPRESS                    1617         select LZO_DECOMPRESS
1141         help                                     1618         help
1142           LZO compression algorithm           !! 1619           This is the LZO algorithm.
1143                                               << 
1144           See https://www.oberhumer.com/opens << 
1145                                                  1620 
1146 config CRYPTO_842                                1621 config CRYPTO_842
1147         tristate "842"                        !! 1622         tristate "842 compression algorithm"
1148         select CRYPTO_ALGAPI                     1623         select CRYPTO_ALGAPI
1149         select CRYPTO_ACOMP2                     1624         select CRYPTO_ACOMP2
1150         select 842_COMPRESS                      1625         select 842_COMPRESS
1151         select 842_DECOMPRESS                    1626         select 842_DECOMPRESS
1152         help                                     1627         help
1153           842 compression algorithm by IBM    !! 1628           This is the 842 algorithm.
1154                                               << 
1155           See https://github.com/plauth/lib84 << 
1156                                                  1629 
1157 config CRYPTO_LZ4                                1630 config CRYPTO_LZ4
1158         tristate "LZ4"                        !! 1631         tristate "LZ4 compression algorithm"
1159         select CRYPTO_ALGAPI                     1632         select CRYPTO_ALGAPI
1160         select CRYPTO_ACOMP2                     1633         select CRYPTO_ACOMP2
1161         select LZ4_COMPRESS                      1634         select LZ4_COMPRESS
1162         select LZ4_DECOMPRESS                    1635         select LZ4_DECOMPRESS
1163         help                                     1636         help
1164           LZ4 compression algorithm           !! 1637           This is the LZ4 algorithm.
1165                                               << 
1166           See https://github.com/lz4/lz4 for  << 
1167                                                  1638 
1168 config CRYPTO_LZ4HC                              1639 config CRYPTO_LZ4HC
1169         tristate "LZ4HC"                      !! 1640         tristate "LZ4HC compression algorithm"
1170         select CRYPTO_ALGAPI                     1641         select CRYPTO_ALGAPI
1171         select CRYPTO_ACOMP2                     1642         select CRYPTO_ACOMP2
1172         select LZ4HC_COMPRESS                    1643         select LZ4HC_COMPRESS
1173         select LZ4_DECOMPRESS                    1644         select LZ4_DECOMPRESS
1174         help                                     1645         help
1175           LZ4 high compression mode algorithm !! 1646           This is the LZ4 high compression mode algorithm.
1176                                               << 
1177           See https://github.com/lz4/lz4 for  << 
1178                                               << 
1179 config CRYPTO_ZSTD                            << 
1180         tristate "Zstd"                       << 
1181         select CRYPTO_ALGAPI                  << 
1182         select CRYPTO_ACOMP2                  << 
1183         select ZSTD_COMPRESS                  << 
1184         select ZSTD_DECOMPRESS                << 
1185         help                                  << 
1186           zstd compression algorithm          << 
1187                                                  1647 
1188           See https://github.com/facebook/zst !! 1648 comment "Random Number Generation"
1189                                               << 
1190 endmenu                                       << 
1191                                               << 
1192 menu "Random number generation"               << 
1193                                                  1649 
1194 config CRYPTO_ANSI_CPRNG                         1650 config CRYPTO_ANSI_CPRNG
1195         tristate "ANSI PRNG (Pseudo Random Nu !! 1651         tristate "Pseudo Random Number Generation for Cryptographic modules"
1196         select CRYPTO_AES                        1652         select CRYPTO_AES
1197         select CRYPTO_RNG                        1653         select CRYPTO_RNG
1198         help                                     1654         help
1199           Pseudo RNG (random number generator !! 1655           This option enables the generic pseudo random number generator
1200                                               !! 1656           for cryptographic modules.  Uses the Algorithm specified in
1201           This uses the AES cipher algorithm. !! 1657           ANSI X9.31 A.2.4. Note that this option must be enabled if
1202                                               !! 1658           CRYPTO_FIPS is selected
1203           Note that this option must be enabl << 
1204                                                  1659 
1205 menuconfig CRYPTO_DRBG_MENU                      1660 menuconfig CRYPTO_DRBG_MENU
1206         tristate "NIST SP800-90A DRBG (Determ !! 1661         tristate "NIST SP800-90A DRBG"
1207         help                                     1662         help
1208           DRBG (Deterministic Random Bit Gene !! 1663           NIST SP800-90A compliant DRBG. In the following submenu, one or
1209                                               !! 1664           more of the DRBG types must be selected.
1210           In the following submenu, one or mo << 
1211                                                  1665 
1212 if CRYPTO_DRBG_MENU                              1666 if CRYPTO_DRBG_MENU
1213                                                  1667 
1214 config CRYPTO_DRBG_HMAC                          1668 config CRYPTO_DRBG_HMAC
1215         bool                                     1669         bool
1216         default y                                1670         default y
1217         select CRYPTO_HMAC                       1671         select CRYPTO_HMAC
1218         select CRYPTO_SHA512                  !! 1672         select CRYPTO_SHA256
1219                                                  1673 
1220 config CRYPTO_DRBG_HASH                          1674 config CRYPTO_DRBG_HASH
1221         bool "Hash_DRBG"                      !! 1675         bool "Enable Hash DRBG"
1222         select CRYPTO_SHA256                     1676         select CRYPTO_SHA256
1223         help                                     1677         help
1224           Hash_DRBG variant as defined in NIS !! 1678           Enable the Hash DRBG variant as defined in NIST SP800-90A.
1225                                               << 
1226           This uses the SHA-1, SHA-256, SHA-3 << 
1227                                                  1679 
1228 config CRYPTO_DRBG_CTR                           1680 config CRYPTO_DRBG_CTR
1229         bool "CTR_DRBG"                       !! 1681         bool "Enable CTR DRBG"
1230         select CRYPTO_AES                        1682         select CRYPTO_AES
1231         select CRYPTO_CTR                     !! 1683         depends on CRYPTO_CTR
1232         help                                     1684         help
1233           CTR_DRBG variant as defined in NIST !! 1685           Enable the CTR DRBG variant as defined in NIST SP800-90A.
1234                                               << 
1235           This uses the AES cipher algorithm  << 
1236                                                  1686 
1237 config CRYPTO_DRBG                               1687 config CRYPTO_DRBG
1238         tristate                                 1688         tristate
1239         default CRYPTO_DRBG_MENU                 1689         default CRYPTO_DRBG_MENU
1240         select CRYPTO_RNG                        1690         select CRYPTO_RNG
1241         select CRYPTO_JITTERENTROPY              1691         select CRYPTO_JITTERENTROPY
1242                                                  1692 
1243 endif   # if CRYPTO_DRBG_MENU                    1693 endif   # if CRYPTO_DRBG_MENU
1244                                                  1694 
1245 config CRYPTO_JITTERENTROPY                      1695 config CRYPTO_JITTERENTROPY
1246         tristate "CPU Jitter Non-Deterministi !! 1696         tristate "Jitterentropy Non-Deterministic Random Number Generator"
1247         select CRYPTO_RNG                        1697         select CRYPTO_RNG
1248         select CRYPTO_SHA3                    << 
1249         help                                     1698         help
1250           CPU Jitter RNG (Random Number Gener !! 1699           The Jitterentropy RNG is a noise that is intended
1251                                               !! 1700           to provide seed to another RNG. The RNG does not
1252           A non-physical non-deterministic (" !! 1701           perform any cryptographic whitening of the generated
1253           compliant with NIST SP800-90B) inte !! 1702           random numbers. This Jitterentropy RNG registers with
1254           deterministic RNG (e.g., per NIST S !! 1703           the kernel crypto API and can be used by any caller.
1255           This RNG does not perform any crypt << 
1256           random numbers.                     << 
1257                                               << 
1258           See https://www.chronox.de/jent/    << 
1259                                               << 
1260 if CRYPTO_JITTERENTROPY                       << 
1261 if CRYPTO_FIPS && EXPERT                      << 
1262                                               << 
1263 choice                                        << 
1264         prompt "CPU Jitter RNG Memory Size"   << 
1265         default CRYPTO_JITTERENTROPY_MEMSIZE_ << 
1266         help                                  << 
1267           The Jitter RNG measures the executi << 
1268           Multiple consecutive memory accesse << 
1269           size fits into a cache (e.g. L1), o << 
1270           to that cache is measured. The clos << 
1271           the less variations are measured an << 
1272           obtained. Thus, if the memory size  << 
1273           obtained entropy is less than if th << 
1274           L1 + L2, which in turn is less if t << 
1275           L1 + L2 + L3. Thus, by selecting a  << 
1276           the entropy rate produced by the Ji << 
1277                                               << 
1278         config CRYPTO_JITTERENTROPY_MEMSIZE_2 << 
1279                 bool "2048 Bytes (default)"   << 
1280                                               << 
1281         config CRYPTO_JITTERENTROPY_MEMSIZE_1 << 
1282                 bool "128 kBytes"             << 
1283                                               << 
1284         config CRYPTO_JITTERENTROPY_MEMSIZE_1 << 
1285                 bool "1024 kBytes"            << 
1286                                               << 
1287         config CRYPTO_JITTERENTROPY_MEMSIZE_8 << 
1288                 bool "8192 kBytes"            << 
1289 endchoice                                     << 
1290                                               << 
1291 config CRYPTO_JITTERENTROPY_MEMORY_BLOCKS     << 
1292         int                                   << 
1293         default 64 if CRYPTO_JITTERENTROPY_ME << 
1294         default 512 if CRYPTO_JITTERENTROPY_M << 
1295         default 1024 if CRYPTO_JITTERENTROPY_ << 
1296         default 4096 if CRYPTO_JITTERENTROPY_ << 
1297                                               << 
1298 config CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE  << 
1299         int                                   << 
1300         default 32 if CRYPTO_JITTERENTROPY_ME << 
1301         default 256 if CRYPTO_JITTERENTROPY_M << 
1302         default 1024 if CRYPTO_JITTERENTROPY_ << 
1303         default 2048 if CRYPTO_JITTERENTROPY_ << 
1304                                               << 
1305 config CRYPTO_JITTERENTROPY_OSR               << 
1306         int "CPU Jitter RNG Oversampling Rate << 
1307         range 1 15                            << 
1308         default 3                             << 
1309         help                                  << 
1310           The Jitter RNG allows the specifica << 
1311           The Jitter RNG operation requires a << 
1312           measurements to produce one output  << 
1313           OSR value is multiplied with the am << 
1314           generate one output block. Thus, th << 
1315           by the OSR factor. The oversampling << 
1316           on hardware whose timers deliver li << 
1317           the timer is coarse) by setting the << 
1318           trade-off, however, is that the Jit << 
1319           to generate random numbers.         << 
1320                                               << 
1321 config CRYPTO_JITTERENTROPY_TESTINTERFACE     << 
1322         bool "CPU Jitter RNG Test Interface"  << 
1323         help                                  << 
1324           The test interface allows a privile << 
1325           the raw unconditioned high resoluti << 
1326           is collected by the Jitter RNG for  << 
1327           this data is used at the same time  << 
1328           the Jitter RNG operates in an insec << 
1329           recording is enabled. This interfac << 
1330           intended for testing purposes and i << 
1331           production systems.                 << 
1332                                               << 
1333           The raw noise data can be obtained  << 
1334           debugfs file. Using the option      << 
1335           jitterentropy_testing.boot_raw_hire << 
1336           the first 1000 entropy events since << 
1337                                               << 
1338           If unsure, select N.                << 
1339                                               << 
1340 endif   # if CRYPTO_FIPS && EXPERT            << 
1341                                               << 
1342 if !(CRYPTO_FIPS && EXPERT)                   << 
1343                                               << 
1344 config CRYPTO_JITTERENTROPY_MEMORY_BLOCKS     << 
1345         int                                   << 
1346         default 64                            << 
1347                                               << 
1348 config CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE  << 
1349         int                                   << 
1350         default 32                            << 
1351                                               << 
1352 config CRYPTO_JITTERENTROPY_OSR               << 
1353         int                                   << 
1354         default 1                             << 
1355                                               << 
1356 config CRYPTO_JITTERENTROPY_TESTINTERFACE     << 
1357         bool                                  << 
1358                                               << 
1359 endif   # if !(CRYPTO_FIPS && EXPERT)         << 
1360 endif   # if CRYPTO_JITTERENTROPY             << 
1361                                               << 
1362 config CRYPTO_KDF800108_CTR                   << 
1363         tristate                              << 
1364         select CRYPTO_HMAC                    << 
1365         select CRYPTO_SHA256                  << 
1366                                               << 
1367 endmenu                                       << 
1368 menu "Userspace interface"                    << 
1369                                                  1704 
1370 config CRYPTO_USER_API                           1705 config CRYPTO_USER_API
1371         tristate                                 1706         tristate
1372                                                  1707 
1373 config CRYPTO_USER_API_HASH                      1708 config CRYPTO_USER_API_HASH
1374         tristate "Hash algorithms"            !! 1709         tristate "User-space interface for hash algorithms"
1375         depends on NET                           1710         depends on NET
1376         select CRYPTO_HASH                       1711         select CRYPTO_HASH
1377         select CRYPTO_USER_API                   1712         select CRYPTO_USER_API
1378         help                                     1713         help
1379           Enable the userspace interface for  !! 1714           This option enables the user-spaces interface for hash
1380                                               !! 1715           algorithms.
1381           See Documentation/crypto/userspace- << 
1382           https://www.chronox.de/libkcapi/htm << 
1383                                                  1716 
1384 config CRYPTO_USER_API_SKCIPHER                  1717 config CRYPTO_USER_API_SKCIPHER
1385         tristate "Symmetric key cipher algori !! 1718         tristate "User-space interface for symmetric key cipher algorithms"
1386         depends on NET                           1719         depends on NET
1387         select CRYPTO_SKCIPHER                !! 1720         select CRYPTO_BLKCIPHER
1388         select CRYPTO_USER_API                   1721         select CRYPTO_USER_API
1389         help                                     1722         help
1390           Enable the userspace interface for  !! 1723           This option enables the user-spaces interface for symmetric
1391                                               !! 1724           key cipher algorithms.
1392           See Documentation/crypto/userspace- << 
1393           https://www.chronox.de/libkcapi/htm << 
1394                                                  1725 
1395 config CRYPTO_USER_API_RNG                       1726 config CRYPTO_USER_API_RNG
1396         tristate "RNG (random number generato !! 1727         tristate "User-space interface for random number generator algorithms"
1397         depends on NET                           1728         depends on NET
1398         select CRYPTO_RNG                        1729         select CRYPTO_RNG
1399         select CRYPTO_USER_API                   1730         select CRYPTO_USER_API
1400         help                                     1731         help
1401           Enable the userspace interface for  !! 1732           This option enables the user-spaces interface for random
1402           algorithms.                         !! 1733           number generator algorithms.
1403                                               << 
1404           See Documentation/crypto/userspace- << 
1405           https://www.chronox.de/libkcapi/htm << 
1406                                               << 
1407 config CRYPTO_USER_API_RNG_CAVP               << 
1408         bool "Enable CAVP testing of DRBG"    << 
1409         depends on CRYPTO_USER_API_RNG && CRY << 
1410         help                                  << 
1411           Enable extra APIs in the userspace  << 
1412           (Cryptographic Algorithm Validation << 
1413           - resetting DRBG entropy            << 
1414           - providing Additional Data         << 
1415                                               << 
1416           This should only be enabled for CAV << 
1417           no unless you know what this is.    << 
1418                                                  1734 
1419 config CRYPTO_USER_API_AEAD                      1735 config CRYPTO_USER_API_AEAD
1420         tristate "AEAD cipher algorithms"     !! 1736         tristate "User-space interface for AEAD cipher algorithms"
1421         depends on NET                           1737         depends on NET
1422         select CRYPTO_AEAD                       1738         select CRYPTO_AEAD
1423         select CRYPTO_SKCIPHER                << 
1424         select CRYPTO_NULL                    << 
1425         select CRYPTO_USER_API                   1739         select CRYPTO_USER_API
1426         help                                     1740         help
1427           Enable the userspace interface for  !! 1741           This option enables the user-spaces interface for AEAD
1428                                               !! 1742           cipher algorithms.
1429           See Documentation/crypto/userspace- << 
1430           https://www.chronox.de/libkcapi/htm << 
1431                                               << 
1432 config CRYPTO_USER_API_ENABLE_OBSOLETE        << 
1433         bool "Obsolete cryptographic algorith << 
1434         depends on CRYPTO_USER_API            << 
1435         default y                             << 
1436         help                                  << 
1437           Allow obsolete cryptographic algori << 
1438           already been phased out from intern << 
1439           only useful for userspace clients t << 
1440                                               << 
1441 endmenu                                       << 
1442                                                  1743 
1443 config CRYPTO_HASH_INFO                          1744 config CRYPTO_HASH_INFO
1444         bool                                     1745         bool
1445                                                  1746 
1446 if !KMSAN # avoid false positives from assemb << 
1447 if ARM                                        << 
1448 source "arch/arm/crypto/Kconfig"              << 
1449 endif                                         << 
1450 if ARM64                                      << 
1451 source "arch/arm64/crypto/Kconfig"            << 
1452 endif                                         << 
1453 if LOONGARCH                                  << 
1454 source "arch/loongarch/crypto/Kconfig"        << 
1455 endif                                         << 
1456 if MIPS                                       << 
1457 source "arch/mips/crypto/Kconfig"             << 
1458 endif                                         << 
1459 if PPC                                        << 
1460 source "arch/powerpc/crypto/Kconfig"          << 
1461 endif                                         << 
1462 if RISCV                                      << 
1463 source "arch/riscv/crypto/Kconfig"            << 
1464 endif                                         << 
1465 if S390                                       << 
1466 source "arch/s390/crypto/Kconfig"             << 
1467 endif                                         << 
1468 if SPARC                                      << 
1469 source "arch/sparc/crypto/Kconfig"            << 
1470 endif                                         << 
1471 if X86                                        << 
1472 source "arch/x86/crypto/Kconfig"              << 
1473 endif                                         << 
1474 endif                                         << 
1475                                               << 
1476 source "drivers/crypto/Kconfig"                  1747 source "drivers/crypto/Kconfig"
1477 source "crypto/asymmetric_keys/Kconfig"       !! 1748 source crypto/asymmetric_keys/Kconfig
1478 source "certs/Kconfig"                        !! 1749 source certs/Kconfig
1479                                                  1750 
1480 endif   # if CRYPTO                              1751 endif   # if CRYPTO
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php