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