1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 2 3 menu "Accelerated Cryptographic Algorithms for !! 3 menu "Accelerated Cryptographic Algorithms for CPU (mips)" 4 4 5 config CRYPTO_CURVE25519_X86 !! 5 config CRYPTO_CRC32_MIPS 6 tristate "Public key crypto: Curve2551 !! 6 tristate "CRC32c and CRC32" 7 depends on X86 && 64BIT !! 7 depends on MIPS_CRC_SUPPORT 8 select CRYPTO_LIB_CURVE25519_GENERIC !! 8 select CRYPTO_HASH 9 select CRYPTO_ARCH_HAVE_LIB_CURVE25519 << 10 help << 11 Curve25519 algorithm << 12 << 13 Architecture: x86_64 using: << 14 - ADX (large integer arithmetic) << 15 << 16 config CRYPTO_AES_NI_INTEL << 17 tristate "Ciphers: AES, modes: ECB, CB << 18 depends on X86 << 19 select CRYPTO_AEAD << 20 select CRYPTO_LIB_AES << 21 select CRYPTO_LIB_GF128MUL << 22 select CRYPTO_ALGAPI << 23 select CRYPTO_SKCIPHER << 24 select CRYPTO_SIMD << 25 help << 26 Block cipher: AES cipher algorithms << 27 AEAD cipher: AES with GCM << 28 Length-preserving ciphers: AES with << 29 << 30 Architecture: x86 (32-bit and 64-bit << 31 - AES-NI (AES new instructions) << 32 - VAES (Vector AES) << 33 << 34 Some algorithm implementations are s << 35 and some have additional prerequisit << 36 << 37 config CRYPTO_BLOWFISH_X86_64 << 38 tristate "Ciphers: Blowfish, modes: EC << 39 depends on X86 && 64BIT << 40 select CRYPTO_SKCIPHER << 41 select CRYPTO_BLOWFISH_COMMON << 42 imply CRYPTO_CTR << 43 help << 44 Block cipher: Blowfish cipher algori << 45 Length-preserving ciphers: Blowfish << 46 << 47 Architecture: x86_64 << 48 << 49 config CRYPTO_CAMELLIA_X86_64 << 50 tristate "Ciphers: Camellia with modes << 51 depends on X86 && 64BIT << 52 select CRYPTO_SKCIPHER << 53 imply CRYPTO_CTR << 54 help << 55 Block cipher: Camellia cipher algori << 56 Length-preserving ciphers: Camellia << 57 << 58 Architecture: x86_64 << 59 << 60 config CRYPTO_CAMELLIA_AESNI_AVX_X86_64 << 61 tristate "Ciphers: Camellia with modes << 62 depends on X86 && 64BIT << 63 select CRYPTO_SKCIPHER << 64 select CRYPTO_CAMELLIA_X86_64 << 65 select CRYPTO_SIMD << 66 imply CRYPTO_XTS << 67 help << 68 Length-preserving ciphers: Camellia << 69 << 70 Architecture: x86_64 using: << 71 - AES-NI (AES New Instructions) << 72 - AVX (Advanced Vector Extensions) << 73 << 74 config CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 << 75 tristate "Ciphers: Camellia with modes << 76 depends on X86 && 64BIT << 77 select CRYPTO_CAMELLIA_AESNI_AVX_X86_6 << 78 help << 79 Length-preserving ciphers: Camellia << 80 << 81 Architecture: x86_64 using: << 82 - AES-NI (AES New Instructions) << 83 - AVX2 (Advanced Vector Extensions 2 << 84 << 85 config CRYPTO_CAST5_AVX_X86_64 << 86 tristate "Ciphers: CAST5 with modes: E << 87 depends on X86 && 64BIT << 88 select CRYPTO_SKCIPHER << 89 select CRYPTO_CAST5 << 90 select CRYPTO_CAST_COMMON << 91 select CRYPTO_SIMD << 92 imply CRYPTO_CTR << 93 help << 94 Length-preserving ciphers: CAST5 (CA << 95 (RFC2144) with ECB and CBC modes << 96 << 97 Architecture: x86_64 using: << 98 - AVX (Advanced Vector Extensions) << 99 << 100 Processes 16 blocks in parallel. << 101 << 102 config CRYPTO_CAST6_AVX_X86_64 << 103 tristate "Ciphers: CAST6 with modes: E << 104 depends on X86 && 64BIT << 105 select CRYPTO_SKCIPHER << 106 select CRYPTO_CAST6 << 107 select CRYPTO_CAST_COMMON << 108 select CRYPTO_SIMD << 109 imply CRYPTO_XTS << 110 imply CRYPTO_CTR << 111 help << 112 Length-preserving ciphers: CAST6 (CA << 113 (RFC2612) with ECB and CBC modes << 114 << 115 Architecture: x86_64 using: << 116 - AVX (Advanced Vector Extensions) << 117 << 118 Processes eight blocks in parallel. << 119 << 120 config CRYPTO_DES3_EDE_X86_64 << 121 tristate "Ciphers: Triple DES EDE with << 122 depends on X86 && 64BIT << 123 select CRYPTO_SKCIPHER << 124 select CRYPTO_LIB_DES << 125 imply CRYPTO_CTR << 126 help << 127 Block cipher: Triple DES EDE (FIPS 4 << 128 Length-preserving ciphers: Triple DE << 129 << 130 Architecture: x86_64 << 131 << 132 Processes one or three blocks in par << 133 << 134 config CRYPTO_SERPENT_SSE2_X86_64 << 135 tristate "Ciphers: Serpent with modes: << 136 depends on X86 && 64BIT << 137 select CRYPTO_SKCIPHER << 138 select CRYPTO_SERPENT << 139 select CRYPTO_SIMD << 140 imply CRYPTO_CTR << 141 help << 142 Length-preserving ciphers: Serpent c << 143 with ECB and CBC modes << 144 << 145 Architecture: x86_64 using: << 146 - SSE2 (Streaming SIMD Extensions 2) << 147 << 148 Processes eight blocks in parallel. << 149 << 150 config CRYPTO_SERPENT_SSE2_586 << 151 tristate "Ciphers: Serpent with modes: << 152 depends on X86 && !64BIT << 153 select CRYPTO_SKCIPHER << 154 select CRYPTO_SERPENT << 155 select CRYPTO_SIMD << 156 imply CRYPTO_CTR << 157 help << 158 Length-preserving ciphers: Serpent c << 159 with ECB and CBC modes << 160 << 161 Architecture: x86 (32-bit) using: << 162 - SSE2 (Streaming SIMD Extensions 2) << 163 << 164 Processes four blocks in parallel. << 165 << 166 config CRYPTO_SERPENT_AVX_X86_64 << 167 tristate "Ciphers: Serpent with modes: << 168 depends on X86 && 64BIT << 169 select CRYPTO_SKCIPHER << 170 select CRYPTO_SERPENT << 171 select CRYPTO_SIMD << 172 imply CRYPTO_XTS << 173 imply CRYPTO_CTR << 174 help << 175 Length-preserving ciphers: Serpent c << 176 with ECB and CBC modes << 177 << 178 Architecture: x86_64 using: << 179 - AVX (Advanced Vector Extensions) << 180 << 181 Processes eight blocks in parallel. << 182 << 183 config CRYPTO_SERPENT_AVX2_X86_64 << 184 tristate "Ciphers: Serpent with modes: << 185 depends on X86 && 64BIT << 186 select CRYPTO_SERPENT_AVX_X86_64 << 187 help << 188 Length-preserving ciphers: Serpent c << 189 with ECB and CBC modes << 190 << 191 Architecture: x86_64 using: << 192 - AVX2 (Advanced Vector Extensions 2 << 193 << 194 Processes 16 blocks in parallel. << 195 << 196 config CRYPTO_SM4_AESNI_AVX_X86_64 << 197 tristate "Ciphers: SM4 with modes: ECB << 198 depends on X86 && 64BIT << 199 select CRYPTO_SKCIPHER << 200 select CRYPTO_SIMD << 201 select CRYPTO_ALGAPI << 202 select CRYPTO_SM4 << 203 help << 204 Length-preserving ciphers: SM4 ciphe << 205 (OSCCA GB/T 32907-2016) with ECB, CB << 206 << 207 Architecture: x86_64 using: << 208 - AES-NI (AES New Instructions) << 209 - AVX (Advanced Vector Extensions) << 210 << 211 Through two affine transforms, << 212 we can use the AES S-Box to simulate << 213 effect of instruction acceleration. << 214 << 215 If unsure, say N. << 216 << 217 config CRYPTO_SM4_AESNI_AVX2_X86_64 << 218 tristate "Ciphers: SM4 with modes: ECB << 219 depends on X86 && 64BIT << 220 select CRYPTO_SKCIPHER << 221 select CRYPTO_SIMD << 222 select CRYPTO_ALGAPI << 223 select CRYPTO_SM4 << 224 select CRYPTO_SM4_AESNI_AVX_X86_64 << 225 help << 226 Length-preserving ciphers: SM4 ciphe << 227 (OSCCA GB/T 32907-2016) with ECB, CB << 228 << 229 Architecture: x86_64 using: << 230 - AES-NI (AES New Instructions) << 231 - AVX2 (Advanced Vector Extensions 2 << 232 << 233 Through two affine transforms, << 234 we can use the AES S-Box to simulate << 235 effect of instruction acceleration. << 236 << 237 If unsure, say N. << 238 << 239 config CRYPTO_TWOFISH_586 << 240 tristate "Ciphers: Twofish (32-bit)" << 241 depends on (X86 || UML_X86) && !64BIT << 242 select CRYPTO_ALGAPI << 243 select CRYPTO_TWOFISH_COMMON << 244 imply CRYPTO_CTR << 245 help << 246 Block cipher: Twofish cipher algorit << 247 << 248 Architecture: x86 (32-bit) << 249 << 250 config CRYPTO_TWOFISH_X86_64 << 251 tristate "Ciphers: Twofish" << 252 depends on (X86 || UML_X86) && 64BIT << 253 select CRYPTO_ALGAPI << 254 select CRYPTO_TWOFISH_COMMON << 255 imply CRYPTO_CTR << 256 help << 257 Block cipher: Twofish cipher algorit << 258 << 259 Architecture: x86_64 << 260 << 261 config CRYPTO_TWOFISH_X86_64_3WAY << 262 tristate "Ciphers: Twofish with modes: << 263 depends on X86 && 64BIT << 264 select CRYPTO_SKCIPHER << 265 select CRYPTO_TWOFISH_COMMON << 266 select CRYPTO_TWOFISH_X86_64 << 267 help << 268 Length-preserving cipher: Twofish ci << 269 with ECB and CBC modes << 270 << 271 Architecture: x86_64 << 272 << 273 Processes three blocks in parallel, << 274 out-of-order CPUs. << 275 << 276 config CRYPTO_TWOFISH_AVX_X86_64 << 277 tristate "Ciphers: Twofish with modes: << 278 depends on X86 && 64BIT << 279 select CRYPTO_SKCIPHER << 280 select CRYPTO_SIMD << 281 select CRYPTO_TWOFISH_COMMON << 282 select CRYPTO_TWOFISH_X86_64 << 283 select CRYPTO_TWOFISH_X86_64_3WAY << 284 imply CRYPTO_XTS << 285 help << 286 Length-preserving cipher: Twofish ci << 287 with ECB and CBC modes << 288 << 289 Architecture: x86_64 using: << 290 - AVX (Advanced Vector Extensions) << 291 << 292 Processes eight blocks in parallel. << 293 << 294 config CRYPTO_ARIA_AESNI_AVX_X86_64 << 295 tristate "Ciphers: ARIA with modes: EC << 296 depends on X86 && 64BIT << 297 select CRYPTO_SKCIPHER << 298 select CRYPTO_SIMD << 299 select CRYPTO_ALGAPI << 300 select CRYPTO_ARIA << 301 help << 302 Length-preserving cipher: ARIA ciphe << 303 (RFC 5794) with ECB and CTR modes << 304 << 305 Architecture: x86_64 using: << 306 - AES-NI (AES New Instructions) << 307 - AVX (Advanced Vector Extensions) << 308 - GFNI (Galois Field New Instruction << 309 << 310 Processes 16 blocks in parallel. << 311 << 312 config CRYPTO_ARIA_AESNI_AVX2_X86_64 << 313 tristate "Ciphers: ARIA with modes: EC << 314 depends on X86 && 64BIT << 315 select CRYPTO_SKCIPHER << 316 select CRYPTO_SIMD << 317 select CRYPTO_ALGAPI << 318 select CRYPTO_ARIA << 319 select CRYPTO_ARIA_AESNI_AVX_X86_64 << 320 help << 321 Length-preserving cipher: ARIA ciphe << 322 (RFC 5794) with ECB and CTR modes << 323 << 324 Architecture: x86_64 using: << 325 - AES-NI (AES New Instructions) << 326 - AVX2 (Advanced Vector Extensions) << 327 - GFNI (Galois Field New Instruction << 328 << 329 Processes 32 blocks in parallel. << 330 << 331 config CRYPTO_ARIA_GFNI_AVX512_X86_64 << 332 tristate "Ciphers: ARIA with modes: EC << 333 depends on X86 && 64BIT && AS_AVX512 & << 334 select CRYPTO_SKCIPHER << 335 select CRYPTO_SIMD << 336 select CRYPTO_ALGAPI << 337 select CRYPTO_ARIA << 338 select CRYPTO_ARIA_AESNI_AVX_X86_64 << 339 select CRYPTO_ARIA_AESNI_AVX2_X86_64 << 340 help << 341 Length-preserving cipher: ARIA ciphe << 342 (RFC 5794) with ECB and CTR modes << 343 << 344 Architecture: x86_64 using: << 345 - AVX512 (Advanced Vector Extensions << 346 - GFNI (Galois Field New Instruction << 347 << 348 Processes 64 blocks in parallel. << 349 << 350 config CRYPTO_CHACHA20_X86_64 << 351 tristate "Ciphers: ChaCha20, XChaCha20 << 352 depends on X86 && 64BIT << 353 select CRYPTO_SKCIPHER << 354 select CRYPTO_LIB_CHACHA_GENERIC << 355 select CRYPTO_ARCH_HAVE_LIB_CHACHA << 356 help << 357 Length-preserving ciphers: ChaCha20, << 358 stream cipher algorithms << 359 << 360 Architecture: x86_64 using: << 361 - SSSE3 (Supplemental SSE3) << 362 - AVX2 (Advanced Vector Extensions 2 << 363 - AVX-512VL (Advanced Vector Extensi << 364 << 365 config CRYPTO_AEGIS128_AESNI_SSE2 << 366 tristate "AEAD ciphers: AEGIS-128 (AES << 367 depends on X86 && 64BIT << 368 select CRYPTO_AEAD << 369 select CRYPTO_SIMD << 370 help << 371 AEGIS-128 AEAD algorithm << 372 << 373 Architecture: x86_64 using: << 374 - AES-NI (AES New Instructions) << 375 - SSE2 (Streaming SIMD Extensions 2) << 376 << 377 config CRYPTO_NHPOLY1305_SSE2 << 378 tristate "Hash functions: NHPoly1305 ( << 379 depends on X86 && 64BIT << 380 select CRYPTO_NHPOLY1305 << 381 help 9 help 382 NHPoly1305 hash function for Adiantu !! 10 CRC32c and CRC32 CRC algorithms 383 11 384 Architecture: x86_64 using: !! 12 Architecture: mips 385 - SSE2 (Streaming SIMD Extensions 2) << 386 13 387 config CRYPTO_NHPOLY1305_AVX2 !! 14 config CRYPTO_POLY1305_MIPS 388 tristate "Hash functions: NHPoly1305 ( !! 15 tristate "Hash functions: Poly1305" 389 depends on X86 && 64BIT !! 16 depends on MIPS 390 select CRYPTO_NHPOLY1305 !! 17 select CRYPTO_ARCH_HAVE_LIB_POLY1305 391 help 18 help 392 NHPoly1305 hash function for Adiantu !! 19 Poly1305 authenticator algorithm (RFC7539) 393 << 394 Architecture: x86_64 using: << 395 - AVX2 (Advanced Vector Extensions 2 << 396 20 397 config CRYPTO_BLAKE2S_X86 !! 21 Architecture: mips 398 bool "Hash functions: BLAKE2s (SSSE3/A << 399 depends on X86 && 64BIT << 400 select CRYPTO_LIB_BLAKE2S_GENERIC << 401 select CRYPTO_ARCH_HAVE_LIB_BLAKE2S << 402 help << 403 BLAKE2s cryptographic hash function << 404 22 405 Architecture: x86_64 using: !! 23 config CRYPTO_MD5_OCTEON 406 - SSSE3 (Supplemental SSE3) !! 24 tristate "Digests: MD5 (OCTEON)" 407 - AVX-512 (Advanced Vector Extension !! 25 depends on CPU_CAVIUM_OCTEON 408 !! 26 select CRYPTO_MD5 409 config CRYPTO_POLYVAL_CLMUL_NI !! 27 select CRYPTO_HASH 410 tristate "Hash functions: POLYVAL (CLM << 411 depends on X86 && 64BIT << 412 select CRYPTO_POLYVAL << 413 help 28 help 414 POLYVAL hash function for HCTR2 !! 29 MD5 message digest algorithm (RFC1321) 415 30 416 Architecture: x86_64 using: !! 31 Architecture: mips OCTEON using crypto instructions, when available 417 - CLMUL-NI (carry-less multiplicatio << 418 32 419 config CRYPTO_POLY1305_X86_64 !! 33 config CRYPTO_SHA1_OCTEON 420 tristate "Hash functions: Poly1305 (SS !! 34 tristate "Hash functions: SHA-1 (OCTEON)" 421 depends on X86 && 64BIT !! 35 depends on CPU_CAVIUM_OCTEON 422 select CRYPTO_LIB_POLY1305_GENERIC << 423 select CRYPTO_ARCH_HAVE_LIB_POLY1305 << 424 help << 425 Poly1305 authenticator algorithm (RF << 426 << 427 Architecture: x86_64 using: << 428 - SSE2 (Streaming SIMD Extensions 2) << 429 - AVX2 (Advanced Vector Extensions 2 << 430 << 431 config CRYPTO_SHA1_SSSE3 << 432 tristate "Hash functions: SHA-1 (SSSE3 << 433 depends on X86 && 64BIT << 434 select CRYPTO_SHA1 36 select CRYPTO_SHA1 435 select CRYPTO_HASH 37 select CRYPTO_HASH 436 help 38 help 437 SHA-1 secure hash algorithm (FIPS 18 39 SHA-1 secure hash algorithm (FIPS 180) 438 40 439 Architecture: x86_64 using: !! 41 Architecture: mips OCTEON 440 - SSSE3 (Supplemental SSE3) !! 42 441 - AVX (Advanced Vector Extensions) !! 43 config CRYPTO_SHA256_OCTEON 442 - AVX2 (Advanced Vector Extensions 2 !! 44 tristate "Hash functions: SHA-224 and SHA-256 (OCTEON)" 443 - SHA-NI (SHA Extensions New Instruc !! 45 depends on CPU_CAVIUM_OCTEON 444 << 445 config CRYPTO_SHA256_SSSE3 << 446 tristate "Hash functions: SHA-224 and << 447 depends on X86 && 64BIT << 448 select CRYPTO_SHA256 46 select CRYPTO_SHA256 449 select CRYPTO_HASH 47 select CRYPTO_HASH 450 help 48 help 451 SHA-224 and SHA-256 secure hash algo 49 SHA-224 and SHA-256 secure hash algorithms (FIPS 180) 452 50 453 Architecture: x86_64 using: !! 51 Architecture: mips OCTEON using crypto instructions, when available 454 - SSSE3 (Supplemental SSE3) !! 52 455 - AVX (Advanced Vector Extensions) !! 53 config CRYPTO_SHA512_OCTEON 456 - AVX2 (Advanced Vector Extensions 2 !! 54 tristate "Hash functions: SHA-384 and SHA-512 (OCTEON)" 457 - SHA-NI (SHA Extensions New Instruc !! 55 depends on CPU_CAVIUM_OCTEON 458 << 459 config CRYPTO_SHA512_SSSE3 << 460 tristate "Hash functions: SHA-384 and << 461 depends on X86 && 64BIT << 462 select CRYPTO_SHA512 56 select CRYPTO_SHA512 463 select CRYPTO_HASH 57 select CRYPTO_HASH 464 help 58 help 465 SHA-384 and SHA-512 secure hash algo 59 SHA-384 and SHA-512 secure hash algorithms (FIPS 180) 466 60 467 Architecture: x86_64 using: !! 61 Architecture: mips OCTEON using crypto instructions, when available 468 - SSSE3 (Supplemental SSE3) << 469 - AVX (Advanced Vector Extensions) << 470 - AVX2 (Advanced Vector Extensions 2 << 471 << 472 config CRYPTO_SM3_AVX_X86_64 << 473 tristate "Hash functions: SM3 (AVX)" << 474 depends on X86 && 64BIT << 475 select CRYPTO_HASH << 476 select CRYPTO_SM3 << 477 help << 478 SM3 secure hash function as defined << 479 << 480 Architecture: x86_64 using: << 481 - AVX (Advanced Vector Extensions) << 482 << 483 If unsure, say N. << 484 62 485 config CRYPTO_GHASH_CLMUL_NI_INTEL !! 63 config CRYPTO_CHACHA_MIPS 486 tristate "Hash functions: GHASH (CLMUL !! 64 tristate "Ciphers: ChaCha20, XChaCha20, XChaCha12 (MIPS32r2)" 487 depends on X86 && 64BIT !! 65 depends on CPU_MIPS32_R2 488 select CRYPTO_CRYPTD !! 66 select CRYPTO_SKCIPHER 489 help !! 67 select CRYPTO_ARCH_HAVE_LIB_CHACHA 490 GCM GHASH hash function (NIST SP800- << 491 << 492 Architecture: x86_64 using: << 493 - CLMUL-NI (carry-less multiplicatio << 494 << 495 config CRYPTO_CRC32C_INTEL << 496 tristate "CRC32c (SSE4.2/PCLMULQDQ)" << 497 depends on X86 << 498 select CRYPTO_HASH << 499 help << 500 CRC32c CRC algorithm with the iSCSI << 501 << 502 Architecture: x86 (32-bit and 64-bit << 503 - SSE4.2 (Streaming SIMD Extensions << 504 - PCLMULQDQ (carry-less multiplicati << 505 << 506 config CRYPTO_CRC32_PCLMUL << 507 tristate "CRC32 (PCLMULQDQ)" << 508 depends on X86 << 509 select CRYPTO_HASH << 510 select CRC32 << 511 help << 512 CRC32 CRC algorithm (IEEE 802.3) << 513 << 514 Architecture: x86 (32-bit and 64-bit << 515 - PCLMULQDQ (carry-less multiplicati << 516 << 517 config CRYPTO_CRCT10DIF_PCLMUL << 518 tristate "CRCT10DIF (PCLMULQDQ)" << 519 depends on X86 && 64BIT && CRC_T10DIF << 520 select CRYPTO_HASH << 521 help 68 help 522 CRC16 CRC algorithm used for the T10 !! 69 Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 >> 70 stream cipher algorithms 523 71 524 Architecture: x86_64 using: !! 72 Architecture: MIPS32r2 525 - PCLMULQDQ (carry-less multiplicati << 526 73 527 endmenu 74 endmenu
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.