~ [ 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.16.18)


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