~ [ 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-5.0.21)


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