| .. | .. |
|---|
| 15 | 15 | # |
|---|
| 16 | 16 | menuconfig CRYPTO |
|---|
| 17 | 17 | tristate "Cryptographic API" |
|---|
| 18 | + select LIB_MEMNEQ |
|---|
| 18 | 19 | help |
|---|
| 19 | 20 | This option provides the core Cryptographic API. |
|---|
| 20 | 21 | |
|---|
| .. | .. |
|---|
| 27 | 28 | depends on (CRYPTO_ANSI_CPRNG || CRYPTO_DRBG) && !CRYPTO_MANAGER_DISABLE_TESTS |
|---|
| 28 | 29 | depends on (MODULE_SIG || !MODULES) |
|---|
| 29 | 30 | help |
|---|
| 30 | | - This options enables the fips boot option which is |
|---|
| 31 | | - required if you want to system to operate in a FIPS 200 |
|---|
| 31 | + This option enables the fips boot option which is |
|---|
| 32 | + required if you want the system to operate in a FIPS 200 |
|---|
| 32 | 33 | certification. You should say no unless you know what |
|---|
| 33 | 34 | this is. |
|---|
| 35 | + |
|---|
| 36 | +# CRYPTO_FIPS140 just enables the support in the kernel for loading fips140.ko. |
|---|
| 37 | +# The module still needs to be built and loaded if you need FIPS 140 compliance. |
|---|
| 38 | +config CRYPTO_FIPS140 |
|---|
| 39 | + def_bool y |
|---|
| 40 | + depends on MODULES && ARM64 && ARM64_MODULE_PLTS |
|---|
| 41 | + |
|---|
| 42 | +config CRYPTO_FIPS140_MOD |
|---|
| 43 | + bool "Enable FIPS 140 cryptographic module" |
|---|
| 44 | + depends on LTO_CLANG && CRYPTO_FIPS140 |
|---|
| 45 | + help |
|---|
| 46 | + This option enables building a loadable module fips140.ko, which |
|---|
| 47 | + contains various crypto algorithms that are also built into vmlinux. |
|---|
| 48 | + At load time, this module overrides the built-in implementations of |
|---|
| 49 | + these algorithms with its implementations. It also runs self-tests on |
|---|
| 50 | + these algorithms and verifies the integrity of its code and data. If |
|---|
| 51 | + either of these steps fails, the kernel will panic. |
|---|
| 52 | + |
|---|
| 53 | + This module is intended to be loaded at early boot time in order to |
|---|
| 54 | + meet FIPS 140 and NIAP FPT_TST_EXT.1 requirements. It shouldn't be |
|---|
| 55 | + used if you don't need to meet these requirements. |
|---|
| 56 | + |
|---|
| 57 | +config CRYPTO_FIPS140_MOD_EVAL_TESTING |
|---|
| 58 | + bool "Enable evaluation testing features in FIPS 140 module" |
|---|
| 59 | + depends on CRYPTO_FIPS140_MOD |
|---|
| 60 | + help |
|---|
| 61 | + This option adds some features to the FIPS 140 module which are needed |
|---|
| 62 | + for lab evaluation testing of the module, e.g. support for injecting |
|---|
| 63 | + errors and support for a userspace interface to some of the module's |
|---|
| 64 | + services. This option should not be enabled in production builds. |
|---|
| 34 | 65 | |
|---|
| 35 | 66 | config CRYPTO_ALGAPI |
|---|
| 36 | 67 | tristate |
|---|
| .. | .. |
|---|
| 52 | 83 | select CRYPTO_NULL2 |
|---|
| 53 | 84 | select CRYPTO_RNG2 |
|---|
| 54 | 85 | |
|---|
| 55 | | -config CRYPTO_BLKCIPHER |
|---|
| 86 | +config CRYPTO_SKCIPHER |
|---|
| 56 | 87 | tristate |
|---|
| 57 | | - select CRYPTO_BLKCIPHER2 |
|---|
| 88 | + select CRYPTO_SKCIPHER2 |
|---|
| 58 | 89 | select CRYPTO_ALGAPI |
|---|
| 59 | 90 | |
|---|
| 60 | | -config CRYPTO_BLKCIPHER2 |
|---|
| 91 | +config CRYPTO_SKCIPHER2 |
|---|
| 61 | 92 | tristate |
|---|
| 62 | 93 | select CRYPTO_ALGAPI2 |
|---|
| 63 | 94 | select CRYPTO_RNG2 |
|---|
| 64 | | - select CRYPTO_WORKQUEUE |
|---|
| 65 | 95 | |
|---|
| 66 | 96 | config CRYPTO_HASH |
|---|
| 67 | 97 | tristate |
|---|
| .. | .. |
|---|
| 113 | 143 | select CRYPTO_ALGAPI |
|---|
| 114 | 144 | select CRYPTO_ACOMP2 |
|---|
| 115 | 145 | |
|---|
| 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 | | - |
|---|
| 139 | 146 | config CRYPTO_MANAGER |
|---|
| 140 | 147 | tristate "Cryptographic algorithm manager" |
|---|
| 141 | 148 | select CRYPTO_MANAGER2 |
|---|
| .. | .. |
|---|
| 147 | 154 | def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y) |
|---|
| 148 | 155 | select CRYPTO_AEAD2 |
|---|
| 149 | 156 | select CRYPTO_HASH2 |
|---|
| 150 | | - select CRYPTO_BLKCIPHER2 |
|---|
| 157 | + select CRYPTO_SKCIPHER2 |
|---|
| 151 | 158 | select CRYPTO_AKCIPHER2 |
|---|
| 152 | 159 | select CRYPTO_KPP2 |
|---|
| 153 | 160 | select CRYPTO_ACOMP2 |
|---|
| .. | .. |
|---|
| 167 | 174 | Disable run-time self tests that normally take place at |
|---|
| 168 | 175 | algorithm registration. |
|---|
| 169 | 176 | |
|---|
| 170 | | -config CRYPTO_GF128MUL |
|---|
| 171 | | - tristate "GF(2^128) multiplication functions" |
|---|
| 177 | +config CRYPTO_MANAGER_EXTRA_TESTS |
|---|
| 178 | + bool "Enable extra run-time crypto self tests" |
|---|
| 179 | + depends on DEBUG_KERNEL && !CRYPTO_MANAGER_DISABLE_TESTS && CRYPTO_MANAGER |
|---|
| 172 | 180 | help |
|---|
| 173 | | - Efficient table driven implementation of multiplications in the |
|---|
| 174 | | - field GF(2^128). This is needed by some cypher modes. This |
|---|
| 175 | | - option will be selected automatically if you select such a |
|---|
| 176 | | - cipher mode. Only select this option by hand if you expect to load |
|---|
| 177 | | - an external module that requires these functions. |
|---|
| 181 | + Enable extra run-time self tests of registered crypto algorithms, |
|---|
| 182 | + including randomized fuzz tests. |
|---|
| 183 | + |
|---|
| 184 | + This is intended for developer use only, as these tests take much |
|---|
| 185 | + longer to run than the normal self tests. |
|---|
| 186 | + |
|---|
| 187 | +config CRYPTO_GF128MUL |
|---|
| 188 | + tristate |
|---|
| 178 | 189 | |
|---|
| 179 | 190 | config CRYPTO_NULL |
|---|
| 180 | 191 | tristate "Null algorithms" |
|---|
| .. | .. |
|---|
| 185 | 196 | config CRYPTO_NULL2 |
|---|
| 186 | 197 | tristate |
|---|
| 187 | 198 | select CRYPTO_ALGAPI2 |
|---|
| 188 | | - select CRYPTO_BLKCIPHER2 |
|---|
| 199 | + select CRYPTO_SKCIPHER2 |
|---|
| 189 | 200 | select CRYPTO_HASH2 |
|---|
| 190 | 201 | |
|---|
| 191 | 202 | config CRYPTO_PCRYPT |
|---|
| .. | .. |
|---|
| 198 | 209 | This converts an arbitrary crypto algorithm into a parallel |
|---|
| 199 | 210 | algorithm that executes in kernel threads. |
|---|
| 200 | 211 | |
|---|
| 201 | | -config CRYPTO_WORKQUEUE |
|---|
| 202 | | - tristate |
|---|
| 203 | | - |
|---|
| 204 | 212 | config CRYPTO_CRYPTD |
|---|
| 205 | 213 | tristate "Software async crypto daemon" |
|---|
| 206 | | - select CRYPTO_BLKCIPHER |
|---|
| 214 | + select CRYPTO_SKCIPHER |
|---|
| 207 | 215 | select CRYPTO_HASH |
|---|
| 208 | 216 | select CRYPTO_MANAGER |
|---|
| 209 | | - select CRYPTO_WORKQUEUE |
|---|
| 210 | 217 | help |
|---|
| 211 | 218 | This is a generic software asynchronous crypto daemon that |
|---|
| 212 | 219 | converts an arbitrary synchronous software crypto algorithm |
|---|
| 213 | 220 | into an asynchronous algorithm that executes in a kernel thread. |
|---|
| 214 | 221 | |
|---|
| 215 | | -config CRYPTO_MCRYPTD |
|---|
| 216 | | - tristate "Software async multi-buffer crypto daemon" |
|---|
| 217 | | - select CRYPTO_BLKCIPHER |
|---|
| 218 | | - select CRYPTO_HASH |
|---|
| 219 | | - select CRYPTO_MANAGER |
|---|
| 220 | | - select CRYPTO_WORKQUEUE |
|---|
| 221 | | - help |
|---|
| 222 | | - This is a generic software asynchronous crypto daemon that |
|---|
| 223 | | - provides the kernel thread to assist multi-buffer crypto |
|---|
| 224 | | - algorithms for submitting jobs and flushing jobs in multi-buffer |
|---|
| 225 | | - crypto algorithms. Multi-buffer crypto algorithms are executed |
|---|
| 226 | | - in the context of this kernel thread and drivers can post |
|---|
| 227 | | - their crypto request asynchronously to be processed by this daemon. |
|---|
| 228 | | - |
|---|
| 229 | 222 | config CRYPTO_AUTHENC |
|---|
| 230 | 223 | tristate "Authenc support" |
|---|
| 231 | 224 | select CRYPTO_AEAD |
|---|
| 232 | | - select CRYPTO_BLKCIPHER |
|---|
| 225 | + select CRYPTO_SKCIPHER |
|---|
| 233 | 226 | select CRYPTO_MANAGER |
|---|
| 234 | 227 | select CRYPTO_HASH |
|---|
| 235 | 228 | select CRYPTO_NULL |
|---|
| .. | .. |
|---|
| 251 | 244 | config CRYPTO_GLUE_HELPER_X86 |
|---|
| 252 | 245 | tristate |
|---|
| 253 | 246 | depends on X86 |
|---|
| 254 | | - select CRYPTO_BLKCIPHER |
|---|
| 247 | + select CRYPTO_SKCIPHER |
|---|
| 255 | 248 | |
|---|
| 256 | 249 | config CRYPTO_ENGINE |
|---|
| 257 | 250 | tristate |
|---|
| 251 | + |
|---|
| 252 | +comment "Public-key cryptography" |
|---|
| 253 | + |
|---|
| 254 | +config CRYPTO_RSA |
|---|
| 255 | + tristate "RSA algorithm" |
|---|
| 256 | + select CRYPTO_AKCIPHER |
|---|
| 257 | + select CRYPTO_MANAGER |
|---|
| 258 | + select MPILIB |
|---|
| 259 | + select ASN1 |
|---|
| 260 | + help |
|---|
| 261 | + Generic implementation of the RSA public key algorithm. |
|---|
| 262 | + |
|---|
| 263 | +config CRYPTO_DH |
|---|
| 264 | + tristate "Diffie-Hellman algorithm" |
|---|
| 265 | + select CRYPTO_KPP |
|---|
| 266 | + select MPILIB |
|---|
| 267 | + help |
|---|
| 268 | + Generic implementation of the Diffie-Hellman algorithm. |
|---|
| 269 | + |
|---|
| 270 | +config CRYPTO_ECC |
|---|
| 271 | + tristate |
|---|
| 272 | + select CRYPTO_RNG_DEFAULT |
|---|
| 273 | + |
|---|
| 274 | +config CRYPTO_ECDH |
|---|
| 275 | + tristate "ECDH algorithm" |
|---|
| 276 | + select CRYPTO_ECC |
|---|
| 277 | + select CRYPTO_KPP |
|---|
| 278 | + help |
|---|
| 279 | + Generic implementation of the ECDH algorithm |
|---|
| 280 | + |
|---|
| 281 | +config CRYPTO_ECRDSA |
|---|
| 282 | + tristate "EC-RDSA (GOST 34.10) algorithm" |
|---|
| 283 | + select CRYPTO_ECC |
|---|
| 284 | + select CRYPTO_AKCIPHER |
|---|
| 285 | + select CRYPTO_STREEBOG |
|---|
| 286 | + select OID_REGISTRY |
|---|
| 287 | + select ASN1 |
|---|
| 288 | + help |
|---|
| 289 | + Elliptic Curve Russian Digital Signature Algorithm (GOST R 34.10-2012, |
|---|
| 290 | + RFC 7091, ISO/IEC 14888-3:2018) is one of the Russian cryptographic |
|---|
| 291 | + standard algorithms (called GOST algorithms). Only signature verification |
|---|
| 292 | + is implemented. |
|---|
| 293 | + |
|---|
| 294 | +config CRYPTO_SM2 |
|---|
| 295 | + tristate "SM2 algorithm" |
|---|
| 296 | + select CRYPTO_SM3 |
|---|
| 297 | + select CRYPTO_AKCIPHER |
|---|
| 298 | + select CRYPTO_MANAGER |
|---|
| 299 | + select MPILIB |
|---|
| 300 | + select ASN1 |
|---|
| 301 | + help |
|---|
| 302 | + Generic implementation of the SM2 public key algorithm. It was |
|---|
| 303 | + published by State Encryption Management Bureau, China. |
|---|
| 304 | + as specified by OSCCA GM/T 0003.1-2012 -- 0003.5-2012. |
|---|
| 305 | + |
|---|
| 306 | + References: |
|---|
| 307 | + https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02 |
|---|
| 308 | + http://www.oscca.gov.cn/sca/xxgk/2010-12/17/content_1002386.shtml |
|---|
| 309 | + http://www.gmbz.org.cn/main/bzlb.html |
|---|
| 258 | 310 | |
|---|
| 259 | 311 | config CRYPTO_CURVE25519 |
|---|
| 260 | 312 | tristate "Curve25519 algorithm" |
|---|
| .. | .. |
|---|
| 274 | 326 | select CRYPTO_CTR |
|---|
| 275 | 327 | select CRYPTO_HASH |
|---|
| 276 | 328 | select CRYPTO_AEAD |
|---|
| 329 | + select CRYPTO_MANAGER |
|---|
| 277 | 330 | help |
|---|
| 278 | 331 | Support for Counter with CBC MAC. Required for IPsec. |
|---|
| 279 | 332 | |
|---|
| .. | .. |
|---|
| 283 | 336 | select CRYPTO_AEAD |
|---|
| 284 | 337 | select CRYPTO_GHASH |
|---|
| 285 | 338 | select CRYPTO_NULL |
|---|
| 339 | + select CRYPTO_MANAGER |
|---|
| 286 | 340 | help |
|---|
| 287 | 341 | Support for Galois/Counter Mode (GCM) and Galois Message |
|---|
| 288 | 342 | Authentication Code (GMAC). Required for IPSec. |
|---|
| .. | .. |
|---|
| 292 | 346 | select CRYPTO_CHACHA20 |
|---|
| 293 | 347 | select CRYPTO_POLY1305 |
|---|
| 294 | 348 | select CRYPTO_AEAD |
|---|
| 349 | + select CRYPTO_MANAGER |
|---|
| 295 | 350 | help |
|---|
| 296 | 351 | ChaCha20-Poly1305 AEAD support, RFC7539. |
|---|
| 297 | 352 | |
|---|
| .. | .. |
|---|
| 306 | 361 | help |
|---|
| 307 | 362 | Support for the AEGIS-128 dedicated AEAD algorithm. |
|---|
| 308 | 363 | |
|---|
| 309 | | -config CRYPTO_AEGIS128L |
|---|
| 310 | | - tristate "AEGIS-128L AEAD algorithm" |
|---|
| 311 | | - select CRYPTO_AEAD |
|---|
| 312 | | - select CRYPTO_AES # for AES S-box tables |
|---|
| 313 | | - help |
|---|
| 314 | | - Support for the AEGIS-128L dedicated AEAD algorithm. |
|---|
| 315 | | - |
|---|
| 316 | | -config CRYPTO_AEGIS256 |
|---|
| 317 | | - tristate "AEGIS-256 AEAD algorithm" |
|---|
| 318 | | - select CRYPTO_AEAD |
|---|
| 319 | | - select CRYPTO_AES # for AES S-box tables |
|---|
| 320 | | - help |
|---|
| 321 | | - Support for the AEGIS-256 dedicated AEAD algorithm. |
|---|
| 364 | +config CRYPTO_AEGIS128_SIMD |
|---|
| 365 | + bool "Support SIMD acceleration for AEGIS-128" |
|---|
| 366 | + depends on CRYPTO_AEGIS128 && ((ARM || ARM64) && KERNEL_MODE_NEON) |
|---|
| 367 | + default y |
|---|
| 322 | 368 | |
|---|
| 323 | 369 | config CRYPTO_AEGIS128_AESNI_SSE2 |
|---|
| 324 | 370 | tristate "AEGIS-128 AEAD algorithm (x86_64 AESNI+SSE2 implementation)" |
|---|
| 325 | 371 | depends on X86 && 64BIT |
|---|
| 326 | 372 | select CRYPTO_AEAD |
|---|
| 327 | | - select CRYPTO_CRYPTD |
|---|
| 373 | + select CRYPTO_SIMD |
|---|
| 328 | 374 | help |
|---|
| 329 | | - AESNI+SSE2 implementation of the AEGSI-128 dedicated AEAD algorithm. |
|---|
| 330 | | - |
|---|
| 331 | | -config CRYPTO_AEGIS128L_AESNI_SSE2 |
|---|
| 332 | | - tristate "AEGIS-128L AEAD algorithm (x86_64 AESNI+SSE2 implementation)" |
|---|
| 333 | | - depends on X86 && 64BIT |
|---|
| 334 | | - select CRYPTO_AEAD |
|---|
| 335 | | - select CRYPTO_CRYPTD |
|---|
| 336 | | - help |
|---|
| 337 | | - AESNI+SSE2 implementation of the AEGSI-128L dedicated AEAD algorithm. |
|---|
| 338 | | - |
|---|
| 339 | | -config CRYPTO_AEGIS256_AESNI_SSE2 |
|---|
| 340 | | - tristate "AEGIS-256 AEAD algorithm (x86_64 AESNI+SSE2 implementation)" |
|---|
| 341 | | - depends on X86 && 64BIT |
|---|
| 342 | | - select CRYPTO_AEAD |
|---|
| 343 | | - select CRYPTO_CRYPTD |
|---|
| 344 | | - help |
|---|
| 345 | | - AESNI+SSE2 implementation of the AEGSI-256 dedicated AEAD algorithm. |
|---|
| 346 | | - |
|---|
| 347 | | -config CRYPTO_MORUS640 |
|---|
| 348 | | - tristate "MORUS-640 AEAD algorithm" |
|---|
| 349 | | - select CRYPTO_AEAD |
|---|
| 350 | | - help |
|---|
| 351 | | - Support for the MORUS-640 dedicated AEAD algorithm. |
|---|
| 352 | | - |
|---|
| 353 | | -config CRYPTO_MORUS640_GLUE |
|---|
| 354 | | - tristate |
|---|
| 355 | | - depends on X86 |
|---|
| 356 | | - select CRYPTO_AEAD |
|---|
| 357 | | - select CRYPTO_CRYPTD |
|---|
| 358 | | - help |
|---|
| 359 | | - Common glue for SIMD optimizations of the MORUS-640 dedicated AEAD |
|---|
| 360 | | - algorithm. |
|---|
| 361 | | - |
|---|
| 362 | | -config CRYPTO_MORUS640_SSE2 |
|---|
| 363 | | - tristate "MORUS-640 AEAD algorithm (x86_64 SSE2 implementation)" |
|---|
| 364 | | - depends on X86 && 64BIT |
|---|
| 365 | | - select CRYPTO_AEAD |
|---|
| 366 | | - select CRYPTO_MORUS640_GLUE |
|---|
| 367 | | - help |
|---|
| 368 | | - SSE2 implementation of the MORUS-640 dedicated AEAD algorithm. |
|---|
| 369 | | - |
|---|
| 370 | | -config CRYPTO_MORUS1280 |
|---|
| 371 | | - tristate "MORUS-1280 AEAD algorithm" |
|---|
| 372 | | - select CRYPTO_AEAD |
|---|
| 373 | | - help |
|---|
| 374 | | - Support for the MORUS-1280 dedicated AEAD algorithm. |
|---|
| 375 | | - |
|---|
| 376 | | -config CRYPTO_MORUS1280_GLUE |
|---|
| 377 | | - tristate |
|---|
| 378 | | - depends on X86 |
|---|
| 379 | | - select CRYPTO_AEAD |
|---|
| 380 | | - select CRYPTO_CRYPTD |
|---|
| 381 | | - help |
|---|
| 382 | | - Common glue for SIMD optimizations of the MORUS-1280 dedicated AEAD |
|---|
| 383 | | - algorithm. |
|---|
| 384 | | - |
|---|
| 385 | | -config CRYPTO_MORUS1280_SSE2 |
|---|
| 386 | | - tristate "MORUS-1280 AEAD algorithm (x86_64 SSE2 implementation)" |
|---|
| 387 | | - depends on X86 && 64BIT |
|---|
| 388 | | - select CRYPTO_AEAD |
|---|
| 389 | | - select CRYPTO_MORUS1280_GLUE |
|---|
| 390 | | - help |
|---|
| 391 | | - SSE2 optimizedimplementation of the MORUS-1280 dedicated AEAD |
|---|
| 392 | | - algorithm. |
|---|
| 393 | | - |
|---|
| 394 | | -config CRYPTO_MORUS1280_AVX2 |
|---|
| 395 | | - tristate "MORUS-1280 AEAD algorithm (x86_64 AVX2 implementation)" |
|---|
| 396 | | - depends on X86 && 64BIT |
|---|
| 397 | | - select CRYPTO_AEAD |
|---|
| 398 | | - select CRYPTO_MORUS1280_GLUE |
|---|
| 399 | | - help |
|---|
| 400 | | - AVX2 optimized implementation of the MORUS-1280 dedicated AEAD |
|---|
| 401 | | - algorithm. |
|---|
| 375 | + AESNI+SSE2 implementation of the AEGIS-128 dedicated AEAD algorithm. |
|---|
| 402 | 376 | |
|---|
| 403 | 377 | config CRYPTO_SEQIV |
|---|
| 404 | 378 | tristate "Sequence Number IV Generator" |
|---|
| 405 | 379 | select CRYPTO_AEAD |
|---|
| 406 | | - select CRYPTO_BLKCIPHER |
|---|
| 380 | + select CRYPTO_SKCIPHER |
|---|
| 407 | 381 | select CRYPTO_NULL |
|---|
| 408 | 382 | select CRYPTO_RNG_DEFAULT |
|---|
| 383 | + select CRYPTO_MANAGER |
|---|
| 409 | 384 | help |
|---|
| 410 | 385 | This IV generator generates an IV based on a sequence number by |
|---|
| 411 | 386 | xoring it with a salt. This algorithm is mainly useful for CTR |
|---|
| .. | .. |
|---|
| 415 | 390 | select CRYPTO_AEAD |
|---|
| 416 | 391 | select CRYPTO_NULL |
|---|
| 417 | 392 | select CRYPTO_RNG_DEFAULT |
|---|
| 418 | | - default m |
|---|
| 393 | + select CRYPTO_MANAGER |
|---|
| 419 | 394 | help |
|---|
| 420 | 395 | This IV generator generates an IV based on the encryption of |
|---|
| 421 | 396 | a sequence number xored with a salt. This is the default |
|---|
| .. | .. |
|---|
| 425 | 400 | |
|---|
| 426 | 401 | config CRYPTO_CBC |
|---|
| 427 | 402 | tristate "CBC support" |
|---|
| 428 | | - select CRYPTO_BLKCIPHER |
|---|
| 403 | + select CRYPTO_SKCIPHER |
|---|
| 429 | 404 | select CRYPTO_MANAGER |
|---|
| 430 | 405 | help |
|---|
| 431 | 406 | CBC: Cipher Block Chaining mode |
|---|
| .. | .. |
|---|
| 433 | 408 | |
|---|
| 434 | 409 | config CRYPTO_CFB |
|---|
| 435 | 410 | tristate "CFB support" |
|---|
| 436 | | - select CRYPTO_BLKCIPHER |
|---|
| 411 | + select CRYPTO_SKCIPHER |
|---|
| 437 | 412 | select CRYPTO_MANAGER |
|---|
| 438 | 413 | help |
|---|
| 439 | 414 | CFB: Cipher FeedBack mode |
|---|
| .. | .. |
|---|
| 441 | 416 | |
|---|
| 442 | 417 | config CRYPTO_CTR |
|---|
| 443 | 418 | tristate "CTR support" |
|---|
| 444 | | - select CRYPTO_BLKCIPHER |
|---|
| 445 | | - select CRYPTO_SEQIV |
|---|
| 419 | + select CRYPTO_SKCIPHER |
|---|
| 446 | 420 | select CRYPTO_MANAGER |
|---|
| 447 | 421 | help |
|---|
| 448 | 422 | CTR: Counter mode |
|---|
| .. | .. |
|---|
| 450 | 424 | |
|---|
| 451 | 425 | config CRYPTO_CTS |
|---|
| 452 | 426 | tristate "CTS support" |
|---|
| 453 | | - select CRYPTO_BLKCIPHER |
|---|
| 427 | + select CRYPTO_SKCIPHER |
|---|
| 428 | + select CRYPTO_MANAGER |
|---|
| 454 | 429 | help |
|---|
| 455 | 430 | CTS: Cipher Text Stealing |
|---|
| 456 | 431 | This is the Cipher Text Stealing mode as described by |
|---|
| 457 | | - Section 8 of rfc2040 and referenced by rfc3962. |
|---|
| 458 | | - (rfc3962 includes errata information in its Appendix A) |
|---|
| 432 | + Section 8 of rfc2040 and referenced by rfc3962 |
|---|
| 433 | + (rfc3962 includes errata information in its Appendix A) or |
|---|
| 434 | + CBC-CS3 as defined by NIST in Sp800-38A addendum from Oct 2010. |
|---|
| 459 | 435 | This mode is required for Kerberos gss mechanism support |
|---|
| 460 | 436 | for AES encryption. |
|---|
| 461 | 437 | |
|---|
| 438 | + See: https://csrc.nist.gov/publications/detail/sp/800-38a/addendum/final |
|---|
| 439 | + |
|---|
| 462 | 440 | config CRYPTO_ECB |
|---|
| 463 | 441 | tristate "ECB support" |
|---|
| 464 | | - select CRYPTO_BLKCIPHER |
|---|
| 442 | + select CRYPTO_SKCIPHER |
|---|
| 465 | 443 | select CRYPTO_MANAGER |
|---|
| 466 | 444 | help |
|---|
| 467 | 445 | ECB: Electronic CodeBook mode |
|---|
| .. | .. |
|---|
| 470 | 448 | |
|---|
| 471 | 449 | config CRYPTO_LRW |
|---|
| 472 | 450 | tristate "LRW support" |
|---|
| 473 | | - select CRYPTO_BLKCIPHER |
|---|
| 451 | + select CRYPTO_SKCIPHER |
|---|
| 474 | 452 | select CRYPTO_MANAGER |
|---|
| 475 | 453 | select CRYPTO_GF128MUL |
|---|
| 476 | 454 | help |
|---|
| .. | .. |
|---|
| 482 | 460 | |
|---|
| 483 | 461 | config CRYPTO_OFB |
|---|
| 484 | 462 | tristate "OFB support" |
|---|
| 485 | | - select CRYPTO_BLKCIPHER |
|---|
| 463 | + select CRYPTO_SKCIPHER |
|---|
| 486 | 464 | select CRYPTO_MANAGER |
|---|
| 487 | 465 | help |
|---|
| 488 | 466 | OFB: the Output Feedback mode makes a block cipher into a synchronous |
|---|
| .. | .. |
|---|
| 494 | 472 | |
|---|
| 495 | 473 | config CRYPTO_PCBC |
|---|
| 496 | 474 | tristate "PCBC support" |
|---|
| 497 | | - select CRYPTO_BLKCIPHER |
|---|
| 475 | + select CRYPTO_SKCIPHER |
|---|
| 498 | 476 | select CRYPTO_MANAGER |
|---|
| 499 | 477 | help |
|---|
| 500 | 478 | PCBC: Propagating Cipher Block Chaining mode |
|---|
| .. | .. |
|---|
| 502 | 480 | |
|---|
| 503 | 481 | config CRYPTO_XTS |
|---|
| 504 | 482 | tristate "XTS support" |
|---|
| 505 | | - select CRYPTO_BLKCIPHER |
|---|
| 483 | + select CRYPTO_SKCIPHER |
|---|
| 506 | 484 | select CRYPTO_MANAGER |
|---|
| 507 | 485 | select CRYPTO_ECB |
|---|
| 508 | 486 | help |
|---|
| .. | .. |
|---|
| 512 | 490 | |
|---|
| 513 | 491 | config CRYPTO_KEYWRAP |
|---|
| 514 | 492 | tristate "Key wrapping support" |
|---|
| 515 | | - select CRYPTO_BLKCIPHER |
|---|
| 493 | + select CRYPTO_SKCIPHER |
|---|
| 494 | + select CRYPTO_MANAGER |
|---|
| 516 | 495 | help |
|---|
| 517 | 496 | Support for key wrapping (NIST SP800-38F / RFC3394) without |
|---|
| 518 | 497 | padding. |
|---|
| .. | .. |
|---|
| 522 | 501 | select CRYPTO_HASH |
|---|
| 523 | 502 | select CRYPTO_LIB_POLY1305_GENERIC |
|---|
| 524 | 503 | |
|---|
| 504 | +config CRYPTO_NHPOLY1305_SSE2 |
|---|
| 505 | + tristate "NHPoly1305 hash function (x86_64 SSE2 implementation)" |
|---|
| 506 | + depends on X86 && 64BIT |
|---|
| 507 | + select CRYPTO_NHPOLY1305 |
|---|
| 508 | + help |
|---|
| 509 | + SSE2 optimized implementation of the hash function used by the |
|---|
| 510 | + Adiantum encryption mode. |
|---|
| 511 | + |
|---|
| 512 | +config CRYPTO_NHPOLY1305_AVX2 |
|---|
| 513 | + tristate "NHPoly1305 hash function (x86_64 AVX2 implementation)" |
|---|
| 514 | + depends on X86 && 64BIT |
|---|
| 515 | + select CRYPTO_NHPOLY1305 |
|---|
| 516 | + help |
|---|
| 517 | + AVX2 optimized implementation of the hash function used by the |
|---|
| 518 | + Adiantum encryption mode. |
|---|
| 519 | + |
|---|
| 525 | 520 | config CRYPTO_ADIANTUM |
|---|
| 526 | 521 | tristate "Adiantum support" |
|---|
| 527 | 522 | select CRYPTO_CHACHA20 |
|---|
| 528 | 523 | select CRYPTO_LIB_POLY1305_GENERIC |
|---|
| 529 | 524 | select CRYPTO_NHPOLY1305 |
|---|
| 525 | + select CRYPTO_MANAGER |
|---|
| 530 | 526 | help |
|---|
| 531 | 527 | Adiantum is a tweakable, length-preserving encryption mode |
|---|
| 532 | 528 | designed for fast and secure disk encryption, especially on |
|---|
| .. | .. |
|---|
| 544 | 540 | security than XTS, subject to the security bound. |
|---|
| 545 | 541 | |
|---|
| 546 | 542 | If unsure, say N. |
|---|
| 543 | + |
|---|
| 544 | +config CRYPTO_ESSIV |
|---|
| 545 | + tristate "ESSIV support for block encryption" |
|---|
| 546 | + select CRYPTO_AUTHENC |
|---|
| 547 | + help |
|---|
| 548 | + Encrypted salt-sector initialization vector (ESSIV) is an IV |
|---|
| 549 | + generation method that is used in some cases by fscrypt and/or |
|---|
| 550 | + dm-crypt. It uses the hash of the block encryption key as the |
|---|
| 551 | + symmetric key for a block encryption pass applied to the input |
|---|
| 552 | + IV, making low entropy IV sources more suitable for block |
|---|
| 553 | + encryption. |
|---|
| 554 | + |
|---|
| 555 | + This driver implements a crypto API template that can be |
|---|
| 556 | + instantiated either as an skcipher or as an AEAD (depending on the |
|---|
| 557 | + type of the first template argument), and which defers encryption |
|---|
| 558 | + and decryption requests to the encapsulated cipher after applying |
|---|
| 559 | + ESSIV to the input IV. Note that in the AEAD case, it is assumed |
|---|
| 560 | + that the keys are presented in the same format used by the authenc |
|---|
| 561 | + template, and that the IV appears at the end of the authenticated |
|---|
| 562 | + associated data (AAD) region (which is how dm-crypt uses it.) |
|---|
| 563 | + |
|---|
| 564 | + Note that the use of ESSIV is not recommended for new deployments, |
|---|
| 565 | + and so this only needs to be enabled when interoperability with |
|---|
| 566 | + existing encrypted volumes of filesystems is required, or when |
|---|
| 567 | + building for a particular system that requires it (e.g., when |
|---|
| 568 | + the SoC in question has accelerated CBC but not XTS, making CBC |
|---|
| 569 | + combined with ESSIV the only feasible mode for h/w accelerated |
|---|
| 570 | + block encryption) |
|---|
| 547 | 571 | |
|---|
| 548 | 572 | comment "Hash modes" |
|---|
| 549 | 573 | |
|---|
| .. | .. |
|---|
| 572 | 596 | select CRYPTO_MANAGER |
|---|
| 573 | 597 | help |
|---|
| 574 | 598 | XCBC: Keyed-Hashing with encryption algorithm |
|---|
| 575 | | - http://www.ietf.org/rfc/rfc3566.txt |
|---|
| 599 | + https://www.ietf.org/rfc/rfc3566.txt |
|---|
| 576 | 600 | http://csrc.nist.gov/encryption/modes/proposedmodes/ |
|---|
| 577 | 601 | xcbc-mac/xcbc-mac-spec.pdf |
|---|
| 578 | 602 | |
|---|
| .. | .. |
|---|
| 585 | 609 | very high speed on 64-bit architectures. |
|---|
| 586 | 610 | |
|---|
| 587 | 611 | See also: |
|---|
| 588 | | - <http://fastcrypto.org/vmac> |
|---|
| 612 | + <https://fastcrypto.org/vmac> |
|---|
| 589 | 613 | |
|---|
| 590 | 614 | comment "Digest" |
|---|
| 591 | 615 | |
|---|
| .. | .. |
|---|
| 647 | 671 | From Intel Westmere and AMD Bulldozer processor with SSE4.2 |
|---|
| 648 | 672 | and PCLMULQDQ supported, the processor will support |
|---|
| 649 | 673 | CRC32 PCLMULQDQ implementation using hardware accelerated PCLMULQDQ |
|---|
| 650 | | - instruction. This option will create 'crc32-plcmul' module, |
|---|
| 674 | + instruction. This option will create 'crc32-pclmul' module, |
|---|
| 651 | 675 | which will enable any routine to use the CRC-32-IEEE 802.3 checksum |
|---|
| 652 | 676 | and gain better performance as compared with the table implementation. |
|---|
| 653 | 677 | |
|---|
| .. | .. |
|---|
| 659 | 683 | CRC32c and CRC32 CRC algorithms implemented using mips crypto |
|---|
| 660 | 684 | instructions, when available. |
|---|
| 661 | 685 | |
|---|
| 686 | + |
|---|
| 687 | +config CRYPTO_XXHASH |
|---|
| 688 | + tristate "xxHash hash algorithm" |
|---|
| 689 | + select CRYPTO_HASH |
|---|
| 690 | + select XXHASH |
|---|
| 691 | + help |
|---|
| 692 | + xxHash non-cryptographic hash algorithm. Extremely fast, working at |
|---|
| 693 | + speeds close to RAM limits. |
|---|
| 694 | + |
|---|
| 695 | +config CRYPTO_BLAKE2B |
|---|
| 696 | + tristate "BLAKE2b digest algorithm" |
|---|
| 697 | + select CRYPTO_HASH |
|---|
| 698 | + help |
|---|
| 699 | + Implementation of cryptographic hash function BLAKE2b (or just BLAKE2), |
|---|
| 700 | + optimized for 64bit platforms and can produce digests of any size |
|---|
| 701 | + between 1 to 64. The keyed hash is also implemented. |
|---|
| 702 | + |
|---|
| 703 | + This module provides the following algorithms: |
|---|
| 704 | + |
|---|
| 705 | + - blake2b-160 |
|---|
| 706 | + - blake2b-256 |
|---|
| 707 | + - blake2b-384 |
|---|
| 708 | + - blake2b-512 |
|---|
| 709 | + |
|---|
| 710 | + See https://blake2.net for further information. |
|---|
| 662 | 711 | |
|---|
| 663 | 712 | config CRYPTO_BLAKE2S |
|---|
| 664 | 713 | tristate "BLAKE2s digest algorithm" |
|---|
| .. | .. |
|---|
| 684 | 733 | select CRYPTO_LIB_BLAKE2S_GENERIC |
|---|
| 685 | 734 | select CRYPTO_ARCH_HAVE_LIB_BLAKE2S |
|---|
| 686 | 735 | |
|---|
| 687 | | -config CRYPTO_BLAKE2B |
|---|
| 688 | | - tristate "BLAKE2b digest algorithm" |
|---|
| 689 | | - select CRYPTO_HASH |
|---|
| 690 | | - help |
|---|
| 691 | | - Implementation of cryptographic hash function BLAKE2b (or just BLAKE2), |
|---|
| 692 | | - optimized for 64bit platforms and can produce digests of any size |
|---|
| 693 | | - between 1 to 64. The keyed hash is also implemented. |
|---|
| 694 | | - |
|---|
| 695 | | - This module provides the following algorithms: |
|---|
| 696 | | - |
|---|
| 697 | | - - blake2b-160 |
|---|
| 698 | | - - blake2b-256 |
|---|
| 699 | | - - blake2b-384 |
|---|
| 700 | | - - blake2b-512 |
|---|
| 701 | | - |
|---|
| 702 | | - See https://blake2.net for further information. |
|---|
| 703 | | - |
|---|
| 704 | 736 | config CRYPTO_CRCT10DIF |
|---|
| 705 | 737 | tristate "CRCT10DIF algorithm" |
|---|
| 706 | 738 | select CRYPTO_HASH |
|---|
| .. | .. |
|---|
| 717 | 749 | For x86_64 processors with SSE4.2 and PCLMULQDQ supported, |
|---|
| 718 | 750 | CRC T10 DIF PCLMULQDQ computation can be hardware |
|---|
| 719 | 751 | accelerated PCLMULQDQ instruction. This option will create |
|---|
| 720 | | - 'crct10dif-plcmul' module, which is faster when computing the |
|---|
| 752 | + 'crct10dif-pclmul' module, which is faster when computing the |
|---|
| 721 | 753 | crct10dif checksum as compared with the generic table implementation. |
|---|
| 722 | 754 | |
|---|
| 723 | 755 | config CRYPTO_CRCT10DIF_VPMSUM |
|---|
| .. | .. |
|---|
| 738 | 770 | Unless you are testing these algorithms, you don't need this. |
|---|
| 739 | 771 | |
|---|
| 740 | 772 | config CRYPTO_GHASH |
|---|
| 741 | | - tristate "GHASH digest algorithm" |
|---|
| 773 | + tristate "GHASH hash function" |
|---|
| 742 | 774 | select CRYPTO_GF128MUL |
|---|
| 743 | 775 | select CRYPTO_HASH |
|---|
| 744 | 776 | help |
|---|
| 745 | | - GHASH is message digest algorithm for GCM (Galois/Counter Mode). |
|---|
| 777 | + GHASH is the hash function used in GCM (Galois/Counter Mode). |
|---|
| 778 | + It is not a general-purpose cryptographic hash function. |
|---|
| 746 | 779 | |
|---|
| 747 | 780 | config CRYPTO_POLY1305 |
|---|
| 748 | 781 | tristate "Poly1305 authenticator algorithm" |
|---|
| .. | .. |
|---|
| 770 | 803 | |
|---|
| 771 | 804 | config CRYPTO_POLY1305_MIPS |
|---|
| 772 | 805 | tristate "Poly1305 authenticator algorithm (MIPS optimized)" |
|---|
| 773 | | - depends on CPU_MIPS32 || (CPU_MIPS64 && 64BIT) |
|---|
| 806 | + depends on MIPS |
|---|
| 774 | 807 | select CRYPTO_ARCH_HAVE_LIB_POLY1305 |
|---|
| 775 | 808 | |
|---|
| 776 | 809 | config CRYPTO_MD4 |
|---|
| .. | .. |
|---|
| 831 | 864 | RIPEMD-160 should be used. |
|---|
| 832 | 865 | |
|---|
| 833 | 866 | Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. |
|---|
| 834 | | - See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> |
|---|
| 867 | + See <https://homes.esat.kuleuven.be/~bosselae/ripemd160.html> |
|---|
| 835 | 868 | |
|---|
| 836 | 869 | config CRYPTO_RMD160 |
|---|
| 837 | 870 | tristate "RIPEMD-160 digest algorithm" |
|---|
| .. | .. |
|---|
| 848 | 881 | against RIPEMD-160. |
|---|
| 849 | 882 | |
|---|
| 850 | 883 | Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. |
|---|
| 851 | | - See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> |
|---|
| 884 | + See <https://homes.esat.kuleuven.be/~bosselae/ripemd160.html> |
|---|
| 852 | 885 | |
|---|
| 853 | 886 | config CRYPTO_RMD256 |
|---|
| 854 | 887 | tristate "RIPEMD-256 digest algorithm" |
|---|
| .. | .. |
|---|
| 860 | 893 | (than RIPEMD-128). |
|---|
| 861 | 894 | |
|---|
| 862 | 895 | Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. |
|---|
| 863 | | - See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> |
|---|
| 896 | + See <https://homes.esat.kuleuven.be/~bosselae/ripemd160.html> |
|---|
| 864 | 897 | |
|---|
| 865 | 898 | config CRYPTO_RMD320 |
|---|
| 866 | 899 | tristate "RIPEMD-320 digest algorithm" |
|---|
| .. | .. |
|---|
| 872 | 905 | (than RIPEMD-160). |
|---|
| 873 | 906 | |
|---|
| 874 | 907 | Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. |
|---|
| 875 | | - See <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html> |
|---|
| 908 | + See <https://homes.esat.kuleuven.be/~bosselae/ripemd160.html> |
|---|
| 876 | 909 | |
|---|
| 877 | 910 | config CRYPTO_SHA1 |
|---|
| 878 | 911 | tristate "SHA1 digest algorithm" |
|---|
| .. | .. |
|---|
| 946 | 979 | SHA-1 secure hash standard (DFIPS 180-4) implemented |
|---|
| 947 | 980 | using powerpc SPE SIMD instruction set. |
|---|
| 948 | 981 | |
|---|
| 949 | | -config CRYPTO_SHA1_MB |
|---|
| 950 | | - tristate "SHA1 digest algorithm (x86_64 Multi-Buffer, Experimental)" |
|---|
| 951 | | - depends on X86 && 64BIT |
|---|
| 952 | | - select CRYPTO_SHA1 |
|---|
| 953 | | - select CRYPTO_HASH |
|---|
| 954 | | - select CRYPTO_MCRYPTD |
|---|
| 955 | | - help |
|---|
| 956 | | - SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented |
|---|
| 957 | | - using multi-buffer technique. This algorithm computes on |
|---|
| 958 | | - multiple data lanes concurrently with SIMD instructions for |
|---|
| 959 | | - better throughput. It should not be enabled by default but |
|---|
| 960 | | - used when there is significant amount of work to keep the keep |
|---|
| 961 | | - the data lanes filled to get performance benefit. If the data |
|---|
| 962 | | - lanes remain unfilled, a flush operation will be initiated to |
|---|
| 963 | | - process the crypto jobs, adding a slight latency. |
|---|
| 964 | | - |
|---|
| 965 | | -config CRYPTO_SHA256_MB |
|---|
| 966 | | - tristate "SHA256 digest algorithm (x86_64 Multi-Buffer, Experimental)" |
|---|
| 967 | | - depends on X86 && 64BIT |
|---|
| 968 | | - select CRYPTO_SHA256 |
|---|
| 969 | | - select CRYPTO_HASH |
|---|
| 970 | | - select CRYPTO_MCRYPTD |
|---|
| 971 | | - help |
|---|
| 972 | | - SHA-256 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented |
|---|
| 973 | | - using multi-buffer technique. This algorithm computes on |
|---|
| 974 | | - multiple data lanes concurrently with SIMD instructions for |
|---|
| 975 | | - better throughput. It should not be enabled by default but |
|---|
| 976 | | - used when there is significant amount of work to keep the keep |
|---|
| 977 | | - the data lanes filled to get performance benefit. If the data |
|---|
| 978 | | - lanes remain unfilled, a flush operation will be initiated to |
|---|
| 979 | | - process the crypto jobs, adding a slight latency. |
|---|
| 980 | | - |
|---|
| 981 | | -config CRYPTO_SHA512_MB |
|---|
| 982 | | - tristate "SHA512 digest algorithm (x86_64 Multi-Buffer, Experimental)" |
|---|
| 983 | | - depends on X86 && 64BIT |
|---|
| 984 | | - select CRYPTO_SHA512 |
|---|
| 985 | | - select CRYPTO_HASH |
|---|
| 986 | | - select CRYPTO_MCRYPTD |
|---|
| 987 | | - help |
|---|
| 988 | | - SHA-512 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented |
|---|
| 989 | | - using multi-buffer technique. This algorithm computes on |
|---|
| 990 | | - multiple data lanes concurrently with SIMD instructions for |
|---|
| 991 | | - better throughput. It should not be enabled by default but |
|---|
| 992 | | - used when there is significant amount of work to keep the keep |
|---|
| 993 | | - the data lanes filled to get performance benefit. If the data |
|---|
| 994 | | - lanes remain unfilled, a flush operation will be initiated to |
|---|
| 995 | | - process the crypto jobs, adding a slight latency. |
|---|
| 996 | | - |
|---|
| 997 | 982 | config CRYPTO_SHA256 |
|---|
| 998 | 983 | tristate "SHA224 and SHA256 digest algorithm" |
|---|
| 999 | 984 | select CRYPTO_HASH |
|---|
| 985 | + select CRYPTO_LIB_SHA256 |
|---|
| 1000 | 986 | help |
|---|
| 1001 | 987 | SHA256 secure hash standard (DFIPS 180-2). |
|---|
| 1002 | 988 | |
|---|
| .. | .. |
|---|
| 1084 | 1070 | http://www.oscca.gov.cn/UpFile/20101222141857786.pdf |
|---|
| 1085 | 1071 | https://datatracker.ietf.org/doc/html/draft-shen-sm3-hash |
|---|
| 1086 | 1072 | |
|---|
| 1073 | +config CRYPTO_STREEBOG |
|---|
| 1074 | + tristate "Streebog Hash Function" |
|---|
| 1075 | + select CRYPTO_HASH |
|---|
| 1076 | + help |
|---|
| 1077 | + Streebog Hash Function (GOST R 34.11-2012, RFC 6986) is one of the Russian |
|---|
| 1078 | + cryptographic standard algorithms (called GOST algorithms). |
|---|
| 1079 | + This setting enables two hash algorithms with 256 and 512 bits output. |
|---|
| 1080 | + |
|---|
| 1081 | + References: |
|---|
| 1082 | + https://tc26.ru/upload/iblock/fed/feddbb4d26b685903faa2ba11aea43f6.pdf |
|---|
| 1083 | + https://tools.ietf.org/html/rfc6986 |
|---|
| 1084 | + |
|---|
| 1087 | 1085 | config CRYPTO_TGR192 |
|---|
| 1088 | 1086 | tristate "Tiger digest algorithms" |
|---|
| 1089 | 1087 | select CRYPTO_HASH |
|---|
| .. | .. |
|---|
| 1095 | 1093 | Tiger was developed by Ross Anderson and Eli Biham. |
|---|
| 1096 | 1094 | |
|---|
| 1097 | 1095 | See also: |
|---|
| 1098 | | - <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>. |
|---|
| 1096 | + <https://www.cs.technion.ac.il/~biham/Reports/Tiger/>. |
|---|
| 1099 | 1097 | |
|---|
| 1100 | 1098 | config CRYPTO_WP512 |
|---|
| 1101 | 1099 | tristate "Whirlpool digest algorithms" |
|---|
| .. | .. |
|---|
| 1110 | 1108 | <http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html> |
|---|
| 1111 | 1109 | |
|---|
| 1112 | 1110 | config CRYPTO_GHASH_CLMUL_NI_INTEL |
|---|
| 1113 | | - tristate "GHASH digest algorithm (CLMUL-NI accelerated)" |
|---|
| 1111 | + tristate "GHASH hash function (CLMUL-NI accelerated)" |
|---|
| 1114 | 1112 | depends on X86 && 64BIT |
|---|
| 1115 | 1113 | select CRYPTO_CRYPTD |
|---|
| 1116 | 1114 | help |
|---|
| 1117 | | - GHASH is message digest algorithm for GCM (Galois/Counter Mode). |
|---|
| 1118 | | - The implementation is accelerated by CLMUL-NI of Intel. |
|---|
| 1115 | + This is the x86_64 CLMUL-NI accelerated implementation of |
|---|
| 1116 | + GHASH, the hash function used in GCM (Galois/Counter mode). |
|---|
| 1119 | 1117 | |
|---|
| 1120 | 1118 | comment "Ciphers" |
|---|
| 1121 | 1119 | |
|---|
| 1122 | 1120 | config CRYPTO_AES |
|---|
| 1123 | 1121 | tristate "AES cipher algorithms" |
|---|
| 1124 | 1122 | select CRYPTO_ALGAPI |
|---|
| 1123 | + select CRYPTO_LIB_AES |
|---|
| 1125 | 1124 | help |
|---|
| 1126 | 1125 | AES cipher algorithms (FIPS-197). AES uses the Rijndael |
|---|
| 1127 | 1126 | algorithm. |
|---|
| .. | .. |
|---|
| 1142 | 1141 | config CRYPTO_AES_TI |
|---|
| 1143 | 1142 | tristate "Fixed time AES cipher" |
|---|
| 1144 | 1143 | select CRYPTO_ALGAPI |
|---|
| 1144 | + select CRYPTO_LIB_AES |
|---|
| 1145 | 1145 | help |
|---|
| 1146 | 1146 | This is a generic implementation of AES that attempts to eliminate |
|---|
| 1147 | 1147 | data dependent latencies as much as possible without affecting |
|---|
| .. | .. |
|---|
| 1157 | 1157 | block. Interrupts are also disabled to avoid races where cachelines |
|---|
| 1158 | 1158 | are evicted when the CPU is interrupted to do something else. |
|---|
| 1159 | 1159 | |
|---|
| 1160 | | -config CRYPTO_AES_586 |
|---|
| 1161 | | - tristate "AES cipher algorithms (i586)" |
|---|
| 1162 | | - depends on (X86 || UML_X86) && !64BIT |
|---|
| 1163 | | - select CRYPTO_ALGAPI |
|---|
| 1164 | | - select CRYPTO_AES |
|---|
| 1165 | | - help |
|---|
| 1166 | | - AES cipher algorithms (FIPS-197). AES uses the Rijndael |
|---|
| 1167 | | - algorithm. |
|---|
| 1168 | | - |
|---|
| 1169 | | - Rijndael appears to be consistently a very good performer in |
|---|
| 1170 | | - both hardware and software across a wide range of computing |
|---|
| 1171 | | - environments regardless of its use in feedback or non-feedback |
|---|
| 1172 | | - modes. Its key setup time is excellent, and its key agility is |
|---|
| 1173 | | - good. Rijndael's very low memory requirements make it very well |
|---|
| 1174 | | - suited for restricted-space environments, in which it also |
|---|
| 1175 | | - demonstrates excellent performance. Rijndael's operations are |
|---|
| 1176 | | - among the easiest to defend against power and timing attacks. |
|---|
| 1177 | | - |
|---|
| 1178 | | - The AES specifies three key sizes: 128, 192 and 256 bits |
|---|
| 1179 | | - |
|---|
| 1180 | | - See <http://csrc.nist.gov/encryption/aes/> for more information. |
|---|
| 1181 | | - |
|---|
| 1182 | | -config CRYPTO_AES_X86_64 |
|---|
| 1183 | | - tristate "AES cipher algorithms (x86_64)" |
|---|
| 1184 | | - depends on (X86 || UML_X86) && 64BIT |
|---|
| 1185 | | - select CRYPTO_ALGAPI |
|---|
| 1186 | | - select CRYPTO_AES |
|---|
| 1187 | | - help |
|---|
| 1188 | | - AES cipher algorithms (FIPS-197). AES uses the Rijndael |
|---|
| 1189 | | - algorithm. |
|---|
| 1190 | | - |
|---|
| 1191 | | - Rijndael appears to be consistently a very good performer in |
|---|
| 1192 | | - both hardware and software across a wide range of computing |
|---|
| 1193 | | - environments regardless of its use in feedback or non-feedback |
|---|
| 1194 | | - modes. Its key setup time is excellent, and its key agility is |
|---|
| 1195 | | - good. Rijndael's very low memory requirements make it very well |
|---|
| 1196 | | - suited for restricted-space environments, in which it also |
|---|
| 1197 | | - demonstrates excellent performance. Rijndael's operations are |
|---|
| 1198 | | - among the easiest to defend against power and timing attacks. |
|---|
| 1199 | | - |
|---|
| 1200 | | - The AES specifies three key sizes: 128, 192 and 256 bits |
|---|
| 1201 | | - |
|---|
| 1202 | | - See <http://csrc.nist.gov/encryption/aes/> for more information. |
|---|
| 1203 | | - |
|---|
| 1204 | 1160 | config CRYPTO_AES_NI_INTEL |
|---|
| 1205 | 1161 | tristate "AES cipher algorithms (AES-NI)" |
|---|
| 1206 | 1162 | depends on X86 |
|---|
| 1207 | 1163 | select CRYPTO_AEAD |
|---|
| 1208 | | - select CRYPTO_AES_X86_64 if 64BIT |
|---|
| 1209 | | - select CRYPTO_AES_586 if !64BIT |
|---|
| 1164 | + select CRYPTO_LIB_AES |
|---|
| 1210 | 1165 | select CRYPTO_ALGAPI |
|---|
| 1211 | | - select CRYPTO_BLKCIPHER |
|---|
| 1166 | + select CRYPTO_SKCIPHER |
|---|
| 1212 | 1167 | select CRYPTO_GLUE_HELPER_X86 if 64BIT |
|---|
| 1213 | 1168 | select CRYPTO_SIMD |
|---|
| 1214 | 1169 | help |
|---|
| .. | .. |
|---|
| 1232 | 1187 | |
|---|
| 1233 | 1188 | In addition to AES cipher algorithm support, the acceleration |
|---|
| 1234 | 1189 | for some popular block cipher mode is supported too, including |
|---|
| 1235 | | - ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional |
|---|
| 1190 | + ECB, CBC, LRW, XTS. The 64 bit version has additional |
|---|
| 1236 | 1191 | acceleration for CTR. |
|---|
| 1237 | 1192 | |
|---|
| 1238 | 1193 | config CRYPTO_AES_SPARC64 |
|---|
| 1239 | 1194 | tristate "AES cipher algorithms (SPARC64)" |
|---|
| 1240 | 1195 | depends on SPARC64 |
|---|
| 1241 | | - select CRYPTO_CRYPTD |
|---|
| 1242 | | - select CRYPTO_ALGAPI |
|---|
| 1196 | + select CRYPTO_SKCIPHER |
|---|
| 1243 | 1197 | help |
|---|
| 1244 | 1198 | Use SPARC64 crypto opcodes for AES algorithm. |
|---|
| 1245 | 1199 | |
|---|
| .. | .. |
|---|
| 1266 | 1220 | config CRYPTO_AES_PPC_SPE |
|---|
| 1267 | 1221 | tristate "AES cipher algorithms (PPC SPE)" |
|---|
| 1268 | 1222 | depends on PPC && SPE |
|---|
| 1223 | + select CRYPTO_SKCIPHER |
|---|
| 1269 | 1224 | help |
|---|
| 1270 | 1225 | AES cipher algorithms (FIPS-197). Additionally the acceleration |
|---|
| 1271 | 1226 | for popular block cipher modes ECB, CBC, CTR and XTS is supported. |
|---|
| .. | .. |
|---|
| 1278 | 1233 | |
|---|
| 1279 | 1234 | config CRYPTO_ANUBIS |
|---|
| 1280 | 1235 | tristate "Anubis cipher algorithm" |
|---|
| 1236 | + depends on CRYPTO_USER_API_ENABLE_OBSOLETE |
|---|
| 1281 | 1237 | select CRYPTO_ALGAPI |
|---|
| 1282 | 1238 | help |
|---|
| 1283 | 1239 | Anubis cipher algorithm. |
|---|
| .. | .. |
|---|
| 1292 | 1248 | |
|---|
| 1293 | 1249 | config CRYPTO_ARC4 |
|---|
| 1294 | 1250 | tristate "ARC4 cipher algorithm" |
|---|
| 1295 | | - select CRYPTO_BLKCIPHER |
|---|
| 1251 | + depends on CRYPTO_USER_API_ENABLE_OBSOLETE |
|---|
| 1252 | + select CRYPTO_SKCIPHER |
|---|
| 1253 | + select CRYPTO_LIB_ARC4 |
|---|
| 1296 | 1254 | help |
|---|
| 1297 | 1255 | ARC4 cipher algorithm. |
|---|
| 1298 | 1256 | |
|---|
| .. | .. |
|---|
| 1313 | 1271 | designed for use on "large microprocessors". |
|---|
| 1314 | 1272 | |
|---|
| 1315 | 1273 | See also: |
|---|
| 1316 | | - <http://www.schneier.com/blowfish.html> |
|---|
| 1274 | + <https://www.schneier.com/blowfish.html> |
|---|
| 1317 | 1275 | |
|---|
| 1318 | 1276 | config CRYPTO_BLOWFISH_COMMON |
|---|
| 1319 | 1277 | tristate |
|---|
| .. | .. |
|---|
| 1322 | 1280 | generic c and the assembler implementations. |
|---|
| 1323 | 1281 | |
|---|
| 1324 | 1282 | See also: |
|---|
| 1325 | | - <http://www.schneier.com/blowfish.html> |
|---|
| 1283 | + <https://www.schneier.com/blowfish.html> |
|---|
| 1326 | 1284 | |
|---|
| 1327 | 1285 | config CRYPTO_BLOWFISH_X86_64 |
|---|
| 1328 | 1286 | tristate "Blowfish cipher algorithm (x86_64)" |
|---|
| 1329 | 1287 | depends on X86 && 64BIT |
|---|
| 1330 | | - select CRYPTO_BLKCIPHER |
|---|
| 1288 | + select CRYPTO_SKCIPHER |
|---|
| 1331 | 1289 | select CRYPTO_BLOWFISH_COMMON |
|---|
| 1332 | 1290 | help |
|---|
| 1333 | 1291 | Blowfish cipher algorithm (x86_64), by Bruce Schneier. |
|---|
| .. | .. |
|---|
| 1337 | 1295 | designed for use on "large microprocessors". |
|---|
| 1338 | 1296 | |
|---|
| 1339 | 1297 | See also: |
|---|
| 1340 | | - <http://www.schneier.com/blowfish.html> |
|---|
| 1298 | + <https://www.schneier.com/blowfish.html> |
|---|
| 1341 | 1299 | |
|---|
| 1342 | 1300 | config CRYPTO_CAMELLIA |
|---|
| 1343 | 1301 | tristate "Camellia cipher algorithms" |
|---|
| .. | .. |
|---|
| 1358 | 1316 | tristate "Camellia cipher algorithm (x86_64)" |
|---|
| 1359 | 1317 | depends on X86 && 64BIT |
|---|
| 1360 | 1318 | depends on CRYPTO |
|---|
| 1361 | | - select CRYPTO_BLKCIPHER |
|---|
| 1319 | + select CRYPTO_SKCIPHER |
|---|
| 1362 | 1320 | select CRYPTO_GLUE_HELPER_X86 |
|---|
| 1363 | 1321 | help |
|---|
| 1364 | 1322 | Camellia cipher algorithm module (x86_64). |
|---|
| .. | .. |
|---|
| 1375 | 1333 | tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX)" |
|---|
| 1376 | 1334 | depends on X86 && 64BIT |
|---|
| 1377 | 1335 | depends on CRYPTO |
|---|
| 1378 | | - select CRYPTO_BLKCIPHER |
|---|
| 1336 | + select CRYPTO_SKCIPHER |
|---|
| 1379 | 1337 | select CRYPTO_CAMELLIA_X86_64 |
|---|
| 1380 | 1338 | select CRYPTO_GLUE_HELPER_X86 |
|---|
| 1381 | 1339 | select CRYPTO_SIMD |
|---|
| .. | .. |
|---|
| 1412 | 1370 | depends on SPARC64 |
|---|
| 1413 | 1371 | depends on CRYPTO |
|---|
| 1414 | 1372 | select CRYPTO_ALGAPI |
|---|
| 1373 | + select CRYPTO_SKCIPHER |
|---|
| 1415 | 1374 | help |
|---|
| 1416 | 1375 | Camellia cipher algorithm module (SPARC64). |
|---|
| 1417 | 1376 | |
|---|
| .. | .. |
|---|
| 1440 | 1399 | config CRYPTO_CAST5_AVX_X86_64 |
|---|
| 1441 | 1400 | tristate "CAST5 (CAST-128) cipher algorithm (x86_64/AVX)" |
|---|
| 1442 | 1401 | depends on X86 && 64BIT |
|---|
| 1443 | | - select CRYPTO_BLKCIPHER |
|---|
| 1402 | + select CRYPTO_SKCIPHER |
|---|
| 1444 | 1403 | select CRYPTO_CAST5 |
|---|
| 1445 | 1404 | select CRYPTO_CAST_COMMON |
|---|
| 1446 | 1405 | select CRYPTO_SIMD |
|---|
| .. | .. |
|---|
| 1462 | 1421 | config CRYPTO_CAST6_AVX_X86_64 |
|---|
| 1463 | 1422 | tristate "CAST6 (CAST-256) cipher algorithm (x86_64/AVX)" |
|---|
| 1464 | 1423 | depends on X86 && 64BIT |
|---|
| 1465 | | - select CRYPTO_BLKCIPHER |
|---|
| 1424 | + select CRYPTO_SKCIPHER |
|---|
| 1466 | 1425 | select CRYPTO_CAST6 |
|---|
| 1467 | 1426 | select CRYPTO_CAST_COMMON |
|---|
| 1468 | 1427 | select CRYPTO_GLUE_HELPER_X86 |
|---|
| .. | .. |
|---|
| 1478 | 1437 | config CRYPTO_DES |
|---|
| 1479 | 1438 | tristate "DES and Triple DES EDE cipher algorithms" |
|---|
| 1480 | 1439 | select CRYPTO_ALGAPI |
|---|
| 1440 | + select CRYPTO_LIB_DES |
|---|
| 1481 | 1441 | help |
|---|
| 1482 | 1442 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). |
|---|
| 1483 | 1443 | |
|---|
| .. | .. |
|---|
| 1485 | 1445 | tristate "DES and Triple DES EDE cipher algorithms (SPARC64)" |
|---|
| 1486 | 1446 | depends on SPARC64 |
|---|
| 1487 | 1447 | select CRYPTO_ALGAPI |
|---|
| 1488 | | - select CRYPTO_DES |
|---|
| 1448 | + select CRYPTO_LIB_DES |
|---|
| 1449 | + select CRYPTO_SKCIPHER |
|---|
| 1489 | 1450 | help |
|---|
| 1490 | 1451 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3), |
|---|
| 1491 | 1452 | optimized using SPARC64 crypto opcodes. |
|---|
| .. | .. |
|---|
| 1493 | 1454 | config CRYPTO_DES3_EDE_X86_64 |
|---|
| 1494 | 1455 | tristate "Triple DES EDE cipher algorithm (x86-64)" |
|---|
| 1495 | 1456 | depends on X86 && 64BIT |
|---|
| 1496 | | - select CRYPTO_BLKCIPHER |
|---|
| 1497 | | - select CRYPTO_DES |
|---|
| 1457 | + select CRYPTO_SKCIPHER |
|---|
| 1458 | + select CRYPTO_LIB_DES |
|---|
| 1498 | 1459 | help |
|---|
| 1499 | 1460 | Triple DES EDE (FIPS 46-3) algorithm. |
|---|
| 1500 | 1461 | |
|---|
| .. | .. |
|---|
| 1506 | 1467 | config CRYPTO_FCRYPT |
|---|
| 1507 | 1468 | tristate "FCrypt cipher algorithm" |
|---|
| 1508 | 1469 | select CRYPTO_ALGAPI |
|---|
| 1509 | | - select CRYPTO_BLKCIPHER |
|---|
| 1470 | + select CRYPTO_SKCIPHER |
|---|
| 1510 | 1471 | help |
|---|
| 1511 | 1472 | FCrypt algorithm used by RxRPC. |
|---|
| 1512 | 1473 | |
|---|
| 1513 | 1474 | config CRYPTO_KHAZAD |
|---|
| 1514 | 1475 | tristate "Khazad cipher algorithm" |
|---|
| 1476 | + depends on CRYPTO_USER_API_ENABLE_OBSOLETE |
|---|
| 1515 | 1477 | select CRYPTO_ALGAPI |
|---|
| 1516 | 1478 | help |
|---|
| 1517 | 1479 | Khazad cipher algorithm. |
|---|
| .. | .. |
|---|
| 1525 | 1487 | |
|---|
| 1526 | 1488 | config CRYPTO_SALSA20 |
|---|
| 1527 | 1489 | tristate "Salsa20 stream cipher algorithm" |
|---|
| 1528 | | - select CRYPTO_BLKCIPHER |
|---|
| 1490 | + select CRYPTO_SKCIPHER |
|---|
| 1529 | 1491 | help |
|---|
| 1530 | 1492 | Salsa20 stream cipher algorithm. |
|---|
| 1531 | 1493 | |
|---|
| 1532 | 1494 | Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT |
|---|
| 1533 | | - Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/> |
|---|
| 1495 | + Stream Cipher Project. See <https://www.ecrypt.eu.org/stream/> |
|---|
| 1534 | 1496 | |
|---|
| 1535 | 1497 | The Salsa20 stream cipher algorithm is designed by Daniel J. |
|---|
| 1536 | | - Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html> |
|---|
| 1498 | + Bernstein <djb@cr.yp.to>. See <https://cr.yp.to/snuffle.html> |
|---|
| 1537 | 1499 | |
|---|
| 1538 | 1500 | config CRYPTO_CHACHA20 |
|---|
| 1539 | 1501 | tristate "ChaCha stream cipher algorithms" |
|---|
| 1540 | 1502 | select CRYPTO_LIB_CHACHA_GENERIC |
|---|
| 1541 | | - select CRYPTO_BLKCIPHER |
|---|
| 1503 | + select CRYPTO_SKCIPHER |
|---|
| 1542 | 1504 | help |
|---|
| 1543 | 1505 | The ChaCha20, XChaCha20, and XChaCha12 stream cipher algorithms. |
|---|
| 1544 | 1506 | |
|---|
| 1545 | 1507 | ChaCha20 is a 256-bit high-speed stream cipher designed by Daniel J. |
|---|
| 1546 | 1508 | Bernstein and further specified in RFC7539 for use in IETF protocols. |
|---|
| 1547 | 1509 | This is the portable C implementation of ChaCha20. See also: |
|---|
| 1548 | | - <http://cr.yp.to/chacha/chacha-20080128.pdf> |
|---|
| 1510 | + <https://cr.yp.to/chacha/chacha-20080128.pdf> |
|---|
| 1549 | 1511 | |
|---|
| 1550 | 1512 | XChaCha20 is the application of the XSalsa20 construction to ChaCha20 |
|---|
| 1551 | 1513 | rather than to Salsa20. XChaCha20 extends ChaCha20's nonce length |
|---|
| .. | .. |
|---|
| 1560 | 1522 | config CRYPTO_CHACHA20_X86_64 |
|---|
| 1561 | 1523 | tristate "ChaCha stream cipher algorithms (x86_64/SSSE3/AVX2/AVX-512VL)" |
|---|
| 1562 | 1524 | depends on X86 && 64BIT |
|---|
| 1563 | | - select CRYPTO_BLKCIPHER |
|---|
| 1525 | + select CRYPTO_SKCIPHER |
|---|
| 1564 | 1526 | select CRYPTO_LIB_CHACHA_GENERIC |
|---|
| 1565 | 1527 | select CRYPTO_ARCH_HAVE_LIB_CHACHA |
|---|
| 1566 | 1528 | help |
|---|
| .. | .. |
|---|
| 1570 | 1532 | config CRYPTO_CHACHA_MIPS |
|---|
| 1571 | 1533 | tristate "ChaCha stream cipher algorithms (MIPS 32r2 optimized)" |
|---|
| 1572 | 1534 | depends on CPU_MIPS32_R2 |
|---|
| 1573 | | - select CRYPTO_BLKCIPHER |
|---|
| 1535 | + select CRYPTO_SKCIPHER |
|---|
| 1574 | 1536 | select CRYPTO_ARCH_HAVE_LIB_CHACHA |
|---|
| 1575 | 1537 | |
|---|
| 1576 | 1538 | config CRYPTO_SEED |
|---|
| 1577 | 1539 | tristate "SEED cipher algorithm" |
|---|
| 1540 | + depends on CRYPTO_USER_API_ENABLE_OBSOLETE |
|---|
| 1578 | 1541 | select CRYPTO_ALGAPI |
|---|
| 1579 | 1542 | help |
|---|
| 1580 | 1543 | SEED cipher algorithm (RFC4269). |
|---|
| .. | .. |
|---|
| 1598 | 1561 | variant of Serpent for compatibility with old kerneli.org code. |
|---|
| 1599 | 1562 | |
|---|
| 1600 | 1563 | See also: |
|---|
| 1601 | | - <http://www.cl.cam.ac.uk/~rja14/serpent.html> |
|---|
| 1564 | + <https://www.cl.cam.ac.uk/~rja14/serpent.html> |
|---|
| 1602 | 1565 | |
|---|
| 1603 | 1566 | config CRYPTO_SERPENT_SSE2_X86_64 |
|---|
| 1604 | 1567 | tristate "Serpent cipher algorithm (x86_64/SSE2)" |
|---|
| 1605 | 1568 | depends on X86 && 64BIT |
|---|
| 1606 | | - select CRYPTO_BLKCIPHER |
|---|
| 1569 | + select CRYPTO_SKCIPHER |
|---|
| 1607 | 1570 | select CRYPTO_GLUE_HELPER_X86 |
|---|
| 1608 | 1571 | select CRYPTO_SERPENT |
|---|
| 1609 | 1572 | select CRYPTO_SIMD |
|---|
| .. | .. |
|---|
| 1617 | 1580 | blocks parallel using SSE2 instruction set. |
|---|
| 1618 | 1581 | |
|---|
| 1619 | 1582 | See also: |
|---|
| 1620 | | - <http://www.cl.cam.ac.uk/~rja14/serpent.html> |
|---|
| 1583 | + <https://www.cl.cam.ac.uk/~rja14/serpent.html> |
|---|
| 1621 | 1584 | |
|---|
| 1622 | 1585 | config CRYPTO_SERPENT_SSE2_586 |
|---|
| 1623 | 1586 | tristate "Serpent cipher algorithm (i586/SSE2)" |
|---|
| 1624 | 1587 | depends on X86 && !64BIT |
|---|
| 1625 | | - select CRYPTO_BLKCIPHER |
|---|
| 1588 | + select CRYPTO_SKCIPHER |
|---|
| 1626 | 1589 | select CRYPTO_GLUE_HELPER_X86 |
|---|
| 1627 | 1590 | select CRYPTO_SERPENT |
|---|
| 1628 | 1591 | select CRYPTO_SIMD |
|---|
| .. | .. |
|---|
| 1636 | 1599 | blocks parallel using SSE2 instruction set. |
|---|
| 1637 | 1600 | |
|---|
| 1638 | 1601 | See also: |
|---|
| 1639 | | - <http://www.cl.cam.ac.uk/~rja14/serpent.html> |
|---|
| 1602 | + <https://www.cl.cam.ac.uk/~rja14/serpent.html> |
|---|
| 1640 | 1603 | |
|---|
| 1641 | 1604 | config CRYPTO_SERPENT_AVX_X86_64 |
|---|
| 1642 | 1605 | tristate "Serpent cipher algorithm (x86_64/AVX)" |
|---|
| 1643 | 1606 | depends on X86 && 64BIT |
|---|
| 1644 | | - select CRYPTO_BLKCIPHER |
|---|
| 1607 | + select CRYPTO_SKCIPHER |
|---|
| 1645 | 1608 | select CRYPTO_GLUE_HELPER_X86 |
|---|
| 1646 | 1609 | select CRYPTO_SERPENT |
|---|
| 1647 | 1610 | select CRYPTO_SIMD |
|---|
| .. | .. |
|---|
| 1656 | 1619 | eight blocks parallel using the AVX instruction set. |
|---|
| 1657 | 1620 | |
|---|
| 1658 | 1621 | See also: |
|---|
| 1659 | | - <http://www.cl.cam.ac.uk/~rja14/serpent.html> |
|---|
| 1622 | + <https://www.cl.cam.ac.uk/~rja14/serpent.html> |
|---|
| 1660 | 1623 | |
|---|
| 1661 | 1624 | config CRYPTO_SERPENT_AVX2_X86_64 |
|---|
| 1662 | 1625 | tristate "Serpent cipher algorithm (x86_64/AVX2)" |
|---|
| .. | .. |
|---|
| 1672 | 1635 | blocks parallel using AVX2 instruction set. |
|---|
| 1673 | 1636 | |
|---|
| 1674 | 1637 | See also: |
|---|
| 1675 | | - <http://www.cl.cam.ac.uk/~rja14/serpent.html> |
|---|
| 1638 | + <https://www.cl.cam.ac.uk/~rja14/serpent.html> |
|---|
| 1676 | 1639 | |
|---|
| 1677 | 1640 | config CRYPTO_SM4 |
|---|
| 1678 | 1641 | tristate "SM4 cipher algorithm" |
|---|
| .. | .. |
|---|
| 1701 | 1664 | |
|---|
| 1702 | 1665 | config CRYPTO_TEA |
|---|
| 1703 | 1666 | tristate "TEA, XTEA and XETA cipher algorithms" |
|---|
| 1667 | + depends on CRYPTO_USER_API_ENABLE_OBSOLETE |
|---|
| 1704 | 1668 | select CRYPTO_ALGAPI |
|---|
| 1705 | 1669 | help |
|---|
| 1706 | 1670 | TEA cipher algorithm. |
|---|
| .. | .. |
|---|
| 1729 | 1693 | bits. |
|---|
| 1730 | 1694 | |
|---|
| 1731 | 1695 | See also: |
|---|
| 1732 | | - <http://www.schneier.com/twofish.html> |
|---|
| 1696 | + <https://www.schneier.com/twofish.html> |
|---|
| 1733 | 1697 | |
|---|
| 1734 | 1698 | config CRYPTO_TWOFISH_COMMON |
|---|
| 1735 | 1699 | tristate |
|---|
| .. | .. |
|---|
| 1751 | 1715 | bits. |
|---|
| 1752 | 1716 | |
|---|
| 1753 | 1717 | See also: |
|---|
| 1754 | | - <http://www.schneier.com/twofish.html> |
|---|
| 1718 | + <https://www.schneier.com/twofish.html> |
|---|
| 1755 | 1719 | |
|---|
| 1756 | 1720 | config CRYPTO_TWOFISH_X86_64 |
|---|
| 1757 | 1721 | tristate "Twofish cipher algorithm (x86_64)" |
|---|
| .. | .. |
|---|
| 1767 | 1731 | bits. |
|---|
| 1768 | 1732 | |
|---|
| 1769 | 1733 | See also: |
|---|
| 1770 | | - <http://www.schneier.com/twofish.html> |
|---|
| 1734 | + <https://www.schneier.com/twofish.html> |
|---|
| 1771 | 1735 | |
|---|
| 1772 | 1736 | config CRYPTO_TWOFISH_X86_64_3WAY |
|---|
| 1773 | 1737 | tristate "Twofish cipher algorithm (x86_64, 3-way parallel)" |
|---|
| 1774 | 1738 | depends on X86 && 64BIT |
|---|
| 1775 | | - select CRYPTO_BLKCIPHER |
|---|
| 1739 | + select CRYPTO_SKCIPHER |
|---|
| 1776 | 1740 | select CRYPTO_TWOFISH_COMMON |
|---|
| 1777 | 1741 | select CRYPTO_TWOFISH_X86_64 |
|---|
| 1778 | 1742 | select CRYPTO_GLUE_HELPER_X86 |
|---|
| .. | .. |
|---|
| 1788 | 1752 | blocks parallel, utilizing resources of out-of-order CPUs better. |
|---|
| 1789 | 1753 | |
|---|
| 1790 | 1754 | See also: |
|---|
| 1791 | | - <http://www.schneier.com/twofish.html> |
|---|
| 1755 | + <https://www.schneier.com/twofish.html> |
|---|
| 1792 | 1756 | |
|---|
| 1793 | 1757 | config CRYPTO_TWOFISH_AVX_X86_64 |
|---|
| 1794 | 1758 | tristate "Twofish cipher algorithm (x86_64/AVX)" |
|---|
| 1795 | 1759 | depends on X86 && 64BIT |
|---|
| 1796 | | - select CRYPTO_BLKCIPHER |
|---|
| 1760 | + select CRYPTO_SKCIPHER |
|---|
| 1797 | 1761 | select CRYPTO_GLUE_HELPER_X86 |
|---|
| 1798 | 1762 | select CRYPTO_SIMD |
|---|
| 1799 | 1763 | select CRYPTO_TWOFISH_COMMON |
|---|
| .. | .. |
|---|
| 1811 | 1775 | eight blocks parallel using the AVX Instruction Set. |
|---|
| 1812 | 1776 | |
|---|
| 1813 | 1777 | See also: |
|---|
| 1814 | | - <http://www.schneier.com/twofish.html> |
|---|
| 1778 | + <https://www.schneier.com/twofish.html> |
|---|
| 1815 | 1779 | |
|---|
| 1816 | 1780 | comment "Compression" |
|---|
| 1817 | 1781 | |
|---|
| .. | .. |
|---|
| 1907 | 1871 | config CRYPTO_DRBG_CTR |
|---|
| 1908 | 1872 | bool "Enable CTR DRBG" |
|---|
| 1909 | 1873 | select CRYPTO_AES |
|---|
| 1910 | | - depends on CRYPTO_CTR |
|---|
| 1874 | + select CRYPTO_CTR |
|---|
| 1911 | 1875 | help |
|---|
| 1912 | 1876 | Enable the CTR DRBG variant as defined in NIST SP800-90A. |
|---|
| 1913 | 1877 | |
|---|
| .. | .. |
|---|
| 1944 | 1908 | config CRYPTO_USER_API_SKCIPHER |
|---|
| 1945 | 1909 | tristate "User-space interface for symmetric key cipher algorithms" |
|---|
| 1946 | 1910 | depends on NET |
|---|
| 1947 | | - select CRYPTO_BLKCIPHER |
|---|
| 1911 | + select CRYPTO_SKCIPHER |
|---|
| 1948 | 1912 | select CRYPTO_USER_API |
|---|
| 1949 | 1913 | help |
|---|
| 1950 | 1914 | This option enables the user-spaces interface for symmetric |
|---|
| .. | .. |
|---|
| 1959 | 1923 | This option enables the user-spaces interface for random |
|---|
| 1960 | 1924 | number generator algorithms. |
|---|
| 1961 | 1925 | |
|---|
| 1926 | +config CRYPTO_USER_API_RNG_CAVP |
|---|
| 1927 | + bool "Enable CAVP testing of DRBG" |
|---|
| 1928 | + depends on CRYPTO_USER_API_RNG && CRYPTO_DRBG |
|---|
| 1929 | + help |
|---|
| 1930 | + This option enables extra API for CAVP testing via the user-space |
|---|
| 1931 | + interface: resetting of DRBG entropy, and providing Additional Data. |
|---|
| 1932 | + This should only be enabled for CAVP testing. You should say |
|---|
| 1933 | + no unless you know what this is. |
|---|
| 1934 | + |
|---|
| 1962 | 1935 | config CRYPTO_USER_API_AEAD |
|---|
| 1963 | 1936 | tristate "User-space interface for AEAD cipher algorithms" |
|---|
| 1964 | 1937 | depends on NET |
|---|
| 1965 | 1938 | select CRYPTO_AEAD |
|---|
| 1966 | | - select CRYPTO_BLKCIPHER |
|---|
| 1939 | + select CRYPTO_SKCIPHER |
|---|
| 1967 | 1940 | select CRYPTO_NULL |
|---|
| 1968 | 1941 | select CRYPTO_USER_API |
|---|
| 1969 | 1942 | help |
|---|
| 1970 | 1943 | This option enables the user-spaces interface for AEAD |
|---|
| 1971 | 1944 | cipher algorithms. |
|---|
| 1972 | 1945 | |
|---|
| 1946 | +config CRYPTO_USER_API_ENABLE_OBSOLETE |
|---|
| 1947 | + bool "Enable obsolete cryptographic algorithms for userspace" |
|---|
| 1948 | + depends on CRYPTO_USER_API |
|---|
| 1949 | + default y |
|---|
| 1950 | + help |
|---|
| 1951 | + Allow obsolete cryptographic algorithms to be selected that have |
|---|
| 1952 | + already been phased out from internal use by the kernel, and are |
|---|
| 1953 | + only useful for userspace clients that still rely on them. |
|---|
| 1954 | + |
|---|
| 1955 | +config CRYPTO_STATS |
|---|
| 1956 | + bool "Crypto usage statistics for User-space" |
|---|
| 1957 | + depends on CRYPTO_USER |
|---|
| 1958 | + help |
|---|
| 1959 | + This option enables the gathering of crypto stats. |
|---|
| 1960 | + This will collect: |
|---|
| 1961 | + - encrypt/decrypt size and numbers of symmeric operations |
|---|
| 1962 | + - compress/decompress size and numbers of compress operations |
|---|
| 1963 | + - size and numbers of hash operations |
|---|
| 1964 | + - encrypt/decrypt/sign/verify numbers for asymmetric operations |
|---|
| 1965 | + - generate/seed numbers for rng operations |
|---|
| 1966 | + |
|---|
| 1973 | 1967 | config CRYPTO_HASH_INFO |
|---|
| 1974 | 1968 | bool |
|---|
| 1975 | 1969 | |
|---|
| 1976 | | -source "lib/crypto/Kconfig" |
|---|
| 1977 | 1970 | source "drivers/crypto/Kconfig" |
|---|
| 1978 | | -source crypto/asymmetric_keys/Kconfig |
|---|
| 1979 | | -source certs/Kconfig |
|---|
| 1971 | +source "crypto/asymmetric_keys/Kconfig" |
|---|
| 1972 | +source "certs/Kconfig" |
|---|
| 1980 | 1973 | |
|---|
| 1981 | 1974 | endif # if CRYPTO |
|---|