128a936efSRobert Elliott# SPDX-License-Identifier: GPL-2.0 228a936efSRobert Elliott 328a936efSRobert Elliottmenu "Accelerated Cryptographic Algorithms for CPU (x86)" 428a936efSRobert Elliott 528a936efSRobert Elliottconfig CRYPTO_CURVE25519_X86 605b37465SRobert Elliott tristate "Public key crypto: Curve25519 (ADX)" 728a936efSRobert Elliott depends on X86 && 64BIT 828a936efSRobert Elliott select CRYPTO_LIB_CURVE25519_GENERIC 928a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_CURVE25519 1005b37465SRobert Elliott help 1105b37465SRobert Elliott Curve25519 algorithm 1205b37465SRobert Elliott 1305b37465SRobert Elliott Architecture: x86_64 using: 1405b37465SRobert Elliott - ADX (large integer arithmetic) 1528a936efSRobert Elliott 1628a936efSRobert Elliottconfig CRYPTO_AES_NI_INTEL 17cf514b2aSRobert Elliott tristate "Ciphers: AES, modes: ECB, CBC, CTS, CTR, XTR, XTS, GCM (AES-NI)" 1828a936efSRobert Elliott depends on X86 1928a936efSRobert Elliott select CRYPTO_AEAD 2028a936efSRobert Elliott select CRYPTO_LIB_AES 2128a936efSRobert Elliott select CRYPTO_ALGAPI 2228a936efSRobert Elliott select CRYPTO_SKCIPHER 2328a936efSRobert Elliott select CRYPTO_SIMD 2428a936efSRobert Elliott help 25cf514b2aSRobert Elliott Block cipher: AES cipher algorithms 26cf514b2aSRobert Elliott AEAD cipher: AES with GCM 27cf514b2aSRobert Elliott Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XTR, XTS 2828a936efSRobert Elliott 29cf514b2aSRobert Elliott Architecture: x86 (32-bit and 64-bit) using: 30cf514b2aSRobert Elliott - AES-NI (AES new instructions) 3128a936efSRobert Elliott 3228a936efSRobert Elliottconfig CRYPTO_BLOWFISH_X86_64 33cf514b2aSRobert Elliott tristate "Ciphers: Blowfish, modes: ECB, CBC" 3428a936efSRobert Elliott depends on X86 && 64BIT 3528a936efSRobert Elliott select CRYPTO_SKCIPHER 3628a936efSRobert Elliott select CRYPTO_BLOWFISH_COMMON 3728a936efSRobert Elliott imply CRYPTO_CTR 3828a936efSRobert Elliott help 39cf514b2aSRobert Elliott Block cipher: Blowfish cipher algorithm 40cf514b2aSRobert Elliott Length-preserving ciphers: Blowfish with ECB and CBC modes 4128a936efSRobert Elliott 42cf514b2aSRobert Elliott Architecture: x86_64 4328a936efSRobert Elliott 4428a936efSRobert Elliottconfig CRYPTO_CAMELLIA_X86_64 45cf514b2aSRobert Elliott tristate "Ciphers: Camellia with modes: ECB, CBC" 4628a936efSRobert Elliott depends on X86 && 64BIT 4728a936efSRobert Elliott select CRYPTO_SKCIPHER 4828a936efSRobert Elliott imply CRYPTO_CTR 4928a936efSRobert Elliott help 50cf514b2aSRobert Elliott Block cipher: Camellia cipher algorithms 51cf514b2aSRobert Elliott Length-preserving ciphers: Camellia with ECB and CBC modes 5228a936efSRobert Elliott 53cf514b2aSRobert Elliott Architecture: x86_64 5428a936efSRobert Elliott 5528a936efSRobert Elliottconfig CRYPTO_CAMELLIA_AESNI_AVX_X86_64 56cf514b2aSRobert Elliott tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX)" 5728a936efSRobert Elliott depends on X86 && 64BIT 5828a936efSRobert Elliott select CRYPTO_SKCIPHER 5928a936efSRobert Elliott select CRYPTO_CAMELLIA_X86_64 6028a936efSRobert Elliott select CRYPTO_SIMD 6128a936efSRobert Elliott imply CRYPTO_XTS 6228a936efSRobert Elliott help 63cf514b2aSRobert Elliott Length-preserving ciphers: Camellia with ECB and CBC modes 6428a936efSRobert Elliott 65cf514b2aSRobert Elliott Architecture: x86_64 using: 66cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 67cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 6828a936efSRobert Elliott 6928a936efSRobert Elliottconfig CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 70cf514b2aSRobert Elliott tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX2)" 7128a936efSRobert Elliott depends on X86 && 64BIT 7228a936efSRobert Elliott select CRYPTO_CAMELLIA_AESNI_AVX_X86_64 7328a936efSRobert Elliott help 74cf514b2aSRobert Elliott Length-preserving ciphers: Camellia with ECB and CBC modes 7528a936efSRobert Elliott 76cf514b2aSRobert Elliott Architecture: x86_64 using: 77cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 78cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 7928a936efSRobert Elliott 8028a936efSRobert Elliottconfig CRYPTO_CAST5_AVX_X86_64 81cf514b2aSRobert Elliott tristate "Ciphers: CAST5 with modes: ECB, CBC (AVX)" 8228a936efSRobert Elliott depends on X86 && 64BIT 8328a936efSRobert Elliott select CRYPTO_SKCIPHER 8428a936efSRobert Elliott select CRYPTO_CAST5 8528a936efSRobert Elliott select CRYPTO_CAST_COMMON 8628a936efSRobert Elliott select CRYPTO_SIMD 8728a936efSRobert Elliott imply CRYPTO_CTR 8828a936efSRobert Elliott help 89cf514b2aSRobert Elliott Length-preserving ciphers: CAST5 (CAST-128) cipher algorithm 90cf514b2aSRobert Elliott (RFC2144) with ECB and CBC modes 9128a936efSRobert Elliott 92cf514b2aSRobert Elliott Architecture: x86_64 using: 93cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 94cf514b2aSRobert Elliott 95cf514b2aSRobert Elliott Processes 16 blocks in parallel. 9628a936efSRobert Elliott 9728a936efSRobert Elliottconfig CRYPTO_CAST6_AVX_X86_64 98cf514b2aSRobert Elliott tristate "Ciphers: CAST6 with modes: ECB, CBC (AVX)" 9928a936efSRobert Elliott depends on X86 && 64BIT 10028a936efSRobert Elliott select CRYPTO_SKCIPHER 10128a936efSRobert Elliott select CRYPTO_CAST6 10228a936efSRobert Elliott select CRYPTO_CAST_COMMON 10328a936efSRobert Elliott select CRYPTO_SIMD 10428a936efSRobert Elliott imply CRYPTO_XTS 10528a936efSRobert Elliott imply CRYPTO_CTR 10628a936efSRobert Elliott help 107cf514b2aSRobert Elliott Length-preserving ciphers: CAST6 (CAST-256) cipher algorithm 108cf514b2aSRobert Elliott (RFC2612) with ECB and CBC modes 10928a936efSRobert Elliott 110cf514b2aSRobert Elliott Architecture: x86_64 using: 111cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 112cf514b2aSRobert Elliott 113cf514b2aSRobert Elliott Processes eight blocks in parallel. 11428a936efSRobert Elliott 11528a936efSRobert Elliottconfig CRYPTO_DES3_EDE_X86_64 116cf514b2aSRobert Elliott tristate "Ciphers: Triple DES EDE with modes: ECB, CBC" 11728a936efSRobert Elliott depends on X86 && 64BIT 11828a936efSRobert Elliott select CRYPTO_SKCIPHER 11928a936efSRobert Elliott select CRYPTO_LIB_DES 12028a936efSRobert Elliott imply CRYPTO_CTR 12128a936efSRobert Elliott help 122cf514b2aSRobert Elliott Block cipher: Triple DES EDE (FIPS 46-3) cipher algorithm 123cf514b2aSRobert Elliott Length-preserving ciphers: Triple DES EDE with ECB and CBC modes 12428a936efSRobert Elliott 125cf514b2aSRobert Elliott Architecture: x86_64 126cf514b2aSRobert Elliott 127cf514b2aSRobert Elliott Processes one or three blocks in parallel. 12828a936efSRobert Elliott 12928a936efSRobert Elliottconfig CRYPTO_SERPENT_SSE2_X86_64 130cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (SSE2)" 13128a936efSRobert Elliott depends on X86 && 64BIT 13228a936efSRobert Elliott select CRYPTO_SKCIPHER 13328a936efSRobert Elliott select CRYPTO_SERPENT 13428a936efSRobert Elliott select CRYPTO_SIMD 13528a936efSRobert Elliott imply CRYPTO_CTR 13628a936efSRobert Elliott help 137cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 138cf514b2aSRobert Elliott with ECB and CBC modes 13928a936efSRobert Elliott 140cf514b2aSRobert Elliott Architecture: x86_64 using: 141cf514b2aSRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 14228a936efSRobert Elliott 143cf514b2aSRobert Elliott Processes eight blocks in parallel. 14428a936efSRobert Elliott 14528a936efSRobert Elliottconfig CRYPTO_SERPENT_SSE2_586 146cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (32-bit with SSE2)" 14728a936efSRobert Elliott depends on X86 && !64BIT 14828a936efSRobert Elliott select CRYPTO_SKCIPHER 14928a936efSRobert Elliott select CRYPTO_SERPENT 15028a936efSRobert Elliott select CRYPTO_SIMD 15128a936efSRobert Elliott imply CRYPTO_CTR 15228a936efSRobert Elliott help 153cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 154cf514b2aSRobert Elliott with ECB and CBC modes 15528a936efSRobert Elliott 156cf514b2aSRobert Elliott Architecture: x86 (32-bit) using: 157cf514b2aSRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 15828a936efSRobert Elliott 159cf514b2aSRobert Elliott Processes four blocks in parallel. 16028a936efSRobert Elliott 16128a936efSRobert Elliottconfig CRYPTO_SERPENT_AVX_X86_64 162cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (AVX)" 16328a936efSRobert Elliott depends on X86 && 64BIT 16428a936efSRobert Elliott select CRYPTO_SKCIPHER 16528a936efSRobert Elliott select CRYPTO_SERPENT 16628a936efSRobert Elliott select CRYPTO_SIMD 16728a936efSRobert Elliott imply CRYPTO_XTS 16828a936efSRobert Elliott imply CRYPTO_CTR 16928a936efSRobert Elliott help 170cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 171cf514b2aSRobert Elliott with ECB and CBC modes 17228a936efSRobert Elliott 173cf514b2aSRobert Elliott Architecture: x86_64 using: 174cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 17528a936efSRobert Elliott 176cf514b2aSRobert Elliott Processes eight blocks in parallel. 17728a936efSRobert Elliott 17828a936efSRobert Elliottconfig CRYPTO_SERPENT_AVX2_X86_64 179cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (AVX2)" 18028a936efSRobert Elliott depends on X86 && 64BIT 18128a936efSRobert Elliott select CRYPTO_SERPENT_AVX_X86_64 18228a936efSRobert Elliott help 183cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 184cf514b2aSRobert Elliott with ECB and CBC modes 18528a936efSRobert Elliott 186cf514b2aSRobert Elliott Architecture: x86_64 using: 187cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 18828a936efSRobert Elliott 189cf514b2aSRobert Elliott Processes 16 blocks in parallel. 19028a936efSRobert Elliott 19128a936efSRobert Elliottconfig CRYPTO_SM4_AESNI_AVX_X86_64 192cf514b2aSRobert Elliott tristate "Ciphers: SM4 with modes: ECB, CBC, CFB, CTR (AES-NI/AVX)" 19328a936efSRobert Elliott depends on X86 && 64BIT 19428a936efSRobert Elliott select CRYPTO_SKCIPHER 19528a936efSRobert Elliott select CRYPTO_SIMD 19628a936efSRobert Elliott select CRYPTO_ALGAPI 19728a936efSRobert Elliott select CRYPTO_SM4 19828a936efSRobert Elliott help 199cf514b2aSRobert Elliott Length-preserving ciphers: SM4 cipher algorithms 200cf514b2aSRobert Elliott (OSCCA GB/T 32907-2016) with ECB, CBC, CFB, and CTR modes 20128a936efSRobert Elliott 202cf514b2aSRobert Elliott Architecture: x86_64 using: 203cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 204cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 20528a936efSRobert Elliott 206cf514b2aSRobert Elliott Through two affine transforms, 20728a936efSRobert Elliott we can use the AES S-Box to simulate the SM4 S-Box to achieve the 20828a936efSRobert Elliott effect of instruction acceleration. 20928a936efSRobert Elliott 21028a936efSRobert Elliott If unsure, say N. 21128a936efSRobert Elliott 21228a936efSRobert Elliottconfig CRYPTO_SM4_AESNI_AVX2_X86_64 213cf514b2aSRobert Elliott tristate "Ciphers: SM4 with modes: ECB, CBC, CFB, CTR (AES-NI/AVX2)" 21428a936efSRobert Elliott depends on X86 && 64BIT 21528a936efSRobert Elliott select CRYPTO_SKCIPHER 21628a936efSRobert Elliott select CRYPTO_SIMD 21728a936efSRobert Elliott select CRYPTO_ALGAPI 21828a936efSRobert Elliott select CRYPTO_SM4 21928a936efSRobert Elliott select CRYPTO_SM4_AESNI_AVX_X86_64 22028a936efSRobert Elliott help 221cf514b2aSRobert Elliott Length-preserving ciphers: SM4 cipher algorithms 222cf514b2aSRobert Elliott (OSCCA GB/T 32907-2016) with ECB, CBC, CFB, and CTR modes 22328a936efSRobert Elliott 224cf514b2aSRobert Elliott Architecture: x86_64 using: 225cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 226cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 22728a936efSRobert Elliott 228cf514b2aSRobert Elliott Through two affine transforms, 22928a936efSRobert Elliott we can use the AES S-Box to simulate the SM4 S-Box to achieve the 23028a936efSRobert Elliott effect of instruction acceleration. 23128a936efSRobert Elliott 23228a936efSRobert Elliott If unsure, say N. 23328a936efSRobert Elliott 23428a936efSRobert Elliottconfig CRYPTO_TWOFISH_586 235cf514b2aSRobert Elliott tristate "Ciphers: Twofish (32-bit)" 23628a936efSRobert Elliott depends on (X86 || UML_X86) && !64BIT 23728a936efSRobert Elliott select CRYPTO_ALGAPI 23828a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 23928a936efSRobert Elliott imply CRYPTO_CTR 24028a936efSRobert Elliott help 241cf514b2aSRobert Elliott Block cipher: Twofish cipher algorithm 24228a936efSRobert Elliott 243cf514b2aSRobert Elliott Architecture: x86 (32-bit) 24428a936efSRobert Elliott 24528a936efSRobert Elliottconfig CRYPTO_TWOFISH_X86_64 246cf514b2aSRobert Elliott tristate "Ciphers: Twofish" 24728a936efSRobert Elliott depends on (X86 || UML_X86) && 64BIT 24828a936efSRobert Elliott select CRYPTO_ALGAPI 24928a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 25028a936efSRobert Elliott imply CRYPTO_CTR 25128a936efSRobert Elliott help 252cf514b2aSRobert Elliott Block cipher: Twofish cipher algorithm 25328a936efSRobert Elliott 254cf514b2aSRobert Elliott Architecture: x86_64 25528a936efSRobert Elliott 25628a936efSRobert Elliottconfig CRYPTO_TWOFISH_X86_64_3WAY 257cf514b2aSRobert Elliott tristate "Ciphers: Twofish with modes: ECB, CBC (3-way parallel)" 25828a936efSRobert Elliott depends on X86 && 64BIT 25928a936efSRobert Elliott select CRYPTO_SKCIPHER 26028a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 26128a936efSRobert Elliott select CRYPTO_TWOFISH_X86_64 26228a936efSRobert Elliott help 263cf514b2aSRobert Elliott Length-preserving cipher: Twofish cipher algorithm 264cf514b2aSRobert Elliott with ECB and CBC modes 26528a936efSRobert Elliott 266cf514b2aSRobert Elliott Architecture: x86_64 26728a936efSRobert Elliott 268cf514b2aSRobert Elliott Processes three blocks in parallel, better utilizing resources of 269cf514b2aSRobert Elliott out-of-order CPUs. 27028a936efSRobert Elliott 27128a936efSRobert Elliottconfig CRYPTO_TWOFISH_AVX_X86_64 272cf514b2aSRobert Elliott tristate "Ciphers: Twofish with modes: ECB, CBC (AVX)" 27328a936efSRobert Elliott depends on X86 && 64BIT 27428a936efSRobert Elliott select CRYPTO_SKCIPHER 27528a936efSRobert Elliott select CRYPTO_SIMD 27628a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 27728a936efSRobert Elliott select CRYPTO_TWOFISH_X86_64 27828a936efSRobert Elliott select CRYPTO_TWOFISH_X86_64_3WAY 27928a936efSRobert Elliott imply CRYPTO_XTS 28028a936efSRobert Elliott help 281cf514b2aSRobert Elliott Length-preserving cipher: Twofish cipher algorithm 282cf514b2aSRobert Elliott with ECB and CBC modes 28328a936efSRobert Elliott 284cf514b2aSRobert Elliott Architecture: x86_64 using: 285cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 28628a936efSRobert Elliott 287cf514b2aSRobert Elliott Processes eight blocks in parallel. 28828a936efSRobert Elliott 289ba3579e6STaehee Yooconfig CRYPTO_ARIA_AESNI_AVX_X86_64 290ba3579e6STaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX/GFNI)" 291ba3579e6STaehee Yoo depends on X86 && 64BIT 292ba3579e6STaehee Yoo select CRYPTO_SKCIPHER 293ba3579e6STaehee Yoo select CRYPTO_SIMD 294ba3579e6STaehee Yoo select CRYPTO_ALGAPI 295ba3579e6STaehee Yoo select CRYPTO_ARIA 296ba3579e6STaehee Yoo help 297ba3579e6STaehee Yoo Length-preserving cipher: ARIA cipher algorithms 298ba3579e6STaehee Yoo (RFC 5794) with ECB and CTR modes 299ba3579e6STaehee Yoo 300ba3579e6STaehee Yoo Architecture: x86_64 using: 301ba3579e6STaehee Yoo - AES-NI (AES New Instructions) 302ba3579e6STaehee Yoo - AVX (Advanced Vector Extensions) 303ba3579e6STaehee Yoo - GFNI (Galois Field New Instructions) 304ba3579e6STaehee Yoo 305ba3579e6STaehee Yoo Processes 16 blocks in parallel. 306ba3579e6STaehee Yoo 30737d8d3aeSTaehee Yooconfig CRYPTO_ARIA_AESNI_AVX2_X86_64 30837d8d3aeSTaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX2/GFNI)" 30937d8d3aeSTaehee Yoo depends on X86 && 64BIT 31037d8d3aeSTaehee Yoo select CRYPTO_SKCIPHER 31137d8d3aeSTaehee Yoo select CRYPTO_SIMD 31237d8d3aeSTaehee Yoo select CRYPTO_ALGAPI 31337d8d3aeSTaehee Yoo select CRYPTO_ARIA 31437d8d3aeSTaehee Yoo select CRYPTO_ARIA_AESNI_AVX_X86_64 31537d8d3aeSTaehee Yoo help 31637d8d3aeSTaehee Yoo Length-preserving cipher: ARIA cipher algorithms 31737d8d3aeSTaehee Yoo (RFC 5794) with ECB and CTR modes 31837d8d3aeSTaehee Yoo 31937d8d3aeSTaehee Yoo Architecture: x86_64 using: 32037d8d3aeSTaehee Yoo - AES-NI (AES New Instructions) 32137d8d3aeSTaehee Yoo - AVX2 (Advanced Vector Extensions) 32237d8d3aeSTaehee Yoo - GFNI (Galois Field New Instructions) 32337d8d3aeSTaehee Yoo 32437d8d3aeSTaehee Yoo Processes 32 blocks in parallel. 32537d8d3aeSTaehee Yoo 326c970d420STaehee Yooconfig CRYPTO_ARIA_GFNI_AVX512_X86_64 327c970d420STaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AVX512/GFNI)" 328*d6b7ec11STaehee Yoo depends on X86 && 64BIT && AS_AVX512 && AS_GFNI 329c970d420STaehee Yoo select CRYPTO_SKCIPHER 330c970d420STaehee Yoo select CRYPTO_SIMD 331c970d420STaehee Yoo select CRYPTO_ALGAPI 332c970d420STaehee Yoo select CRYPTO_ARIA 333c970d420STaehee Yoo select CRYPTO_ARIA_AESNI_AVX_X86_64 334c970d420STaehee Yoo select CRYPTO_ARIA_AESNI_AVX2_X86_64 335c970d420STaehee Yoo help 336c970d420STaehee Yoo Length-preserving cipher: ARIA cipher algorithms 337c970d420STaehee Yoo (RFC 5794) with ECB and CTR modes 338c970d420STaehee Yoo 339c970d420STaehee Yoo Architecture: x86_64 using: 340c970d420STaehee Yoo - AVX512 (Advanced Vector Extensions) 341c970d420STaehee Yoo - GFNI (Galois Field New Instructions) 342c970d420STaehee Yoo 343c970d420STaehee Yoo Processes 64 blocks in parallel. 344c970d420STaehee Yoo 34528a936efSRobert Elliottconfig CRYPTO_CHACHA20_X86_64 346cf514b2aSRobert Elliott tristate "Ciphers: ChaCha20, XChaCha20, XChaCha12 (SSSE3/AVX2/AVX-512VL)" 34728a936efSRobert Elliott depends on X86 && 64BIT 34828a936efSRobert Elliott select CRYPTO_SKCIPHER 34928a936efSRobert Elliott select CRYPTO_LIB_CHACHA_GENERIC 35028a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_CHACHA 35128a936efSRobert Elliott help 352cf514b2aSRobert Elliott Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 353cf514b2aSRobert Elliott stream cipher algorithms 354cf514b2aSRobert Elliott 355cf514b2aSRobert Elliott Architecture: x86_64 using: 356cf514b2aSRobert Elliott - SSSE3 (Supplemental SSE3) 357cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 358cf514b2aSRobert Elliott - AVX-512VL (Advanced Vector Extensions-512VL) 35928a936efSRobert Elliott 36028a936efSRobert Elliottconfig CRYPTO_AEGIS128_AESNI_SSE2 361e3d2eaddSRobert Elliott tristate "AEAD ciphers: AEGIS-128 (AES-NI/SSE2)" 36228a936efSRobert Elliott depends on X86 && 64BIT 36328a936efSRobert Elliott select CRYPTO_AEAD 36428a936efSRobert Elliott select CRYPTO_SIMD 36528a936efSRobert Elliott help 366e3d2eaddSRobert Elliott AEGIS-128 AEAD algorithm 367e3d2eaddSRobert Elliott 368e3d2eaddSRobert Elliott Architecture: x86_64 using: 369e3d2eaddSRobert Elliott - AES-NI (AES New Instructions) 370e3d2eaddSRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 37128a936efSRobert Elliott 37228a936efSRobert Elliottconfig CRYPTO_NHPOLY1305_SSE2 3733f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (SSE2)" 37428a936efSRobert Elliott depends on X86 && 64BIT 37528a936efSRobert Elliott select CRYPTO_NHPOLY1305 37628a936efSRobert Elliott help 3773f342a23SRobert Elliott NHPoly1305 hash function for Adiantum 3783f342a23SRobert Elliott 3793f342a23SRobert Elliott Architecture: x86_64 using: 3803f342a23SRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 38128a936efSRobert Elliott 38228a936efSRobert Elliottconfig CRYPTO_NHPOLY1305_AVX2 3833f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (AVX2)" 38428a936efSRobert Elliott depends on X86 && 64BIT 38528a936efSRobert Elliott select CRYPTO_NHPOLY1305 38628a936efSRobert Elliott help 3873f342a23SRobert Elliott NHPoly1305 hash function for Adiantum 3883f342a23SRobert Elliott 3893f342a23SRobert Elliott Architecture: x86_64 using: 3903f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 39128a936efSRobert Elliott 39228a936efSRobert Elliottconfig CRYPTO_BLAKE2S_X86 3933f342a23SRobert Elliott bool "Hash functions: BLAKE2s (SSSE3/AVX-512)" 39428a936efSRobert Elliott depends on X86 && 64BIT 39528a936efSRobert Elliott select CRYPTO_LIB_BLAKE2S_GENERIC 39628a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_BLAKE2S 3973f342a23SRobert Elliott help 3983f342a23SRobert Elliott BLAKE2s cryptographic hash function (RFC 7693) 3993f342a23SRobert Elliott 4003f342a23SRobert Elliott Architecture: x86_64 using: 4013f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4023f342a23SRobert Elliott - AVX-512 (Advanced Vector Extensions-512) 40328a936efSRobert Elliott 40428a936efSRobert Elliottconfig CRYPTO_POLYVAL_CLMUL_NI 4053f342a23SRobert Elliott tristate "Hash functions: POLYVAL (CLMUL-NI)" 40628a936efSRobert Elliott depends on X86 && 64BIT 40728a936efSRobert Elliott select CRYPTO_POLYVAL 40828a936efSRobert Elliott help 4093f342a23SRobert Elliott POLYVAL hash function for HCTR2 4103f342a23SRobert Elliott 4113f342a23SRobert Elliott Architecture: x86_64 using: 4123f342a23SRobert Elliott - CLMUL-NI (carry-less multiplication new instructions) 41328a936efSRobert Elliott 41428a936efSRobert Elliottconfig CRYPTO_POLY1305_X86_64 4153f342a23SRobert Elliott tristate "Hash functions: Poly1305 (SSE2/AVX2)" 41628a936efSRobert Elliott depends on X86 && 64BIT 41728a936efSRobert Elliott select CRYPTO_LIB_POLY1305_GENERIC 41828a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_POLY1305 41928a936efSRobert Elliott help 4203f342a23SRobert Elliott Poly1305 authenticator algorithm (RFC7539) 42128a936efSRobert Elliott 4223f342a23SRobert Elliott Architecture: x86_64 using: 4233f342a23SRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 4243f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 42528a936efSRobert Elliott 42628a936efSRobert Elliottconfig CRYPTO_SHA1_SSSE3 4273f342a23SRobert Elliott tristate "Hash functions: SHA-1 (SSSE3/AVX/AVX2/SHA-NI)" 42828a936efSRobert Elliott depends on X86 && 64BIT 42928a936efSRobert Elliott select CRYPTO_SHA1 43028a936efSRobert Elliott select CRYPTO_HASH 43128a936efSRobert Elliott help 4323f342a23SRobert Elliott SHA-1 secure hash algorithm (FIPS 180) 4333f342a23SRobert Elliott 4343f342a23SRobert Elliott Architecture: x86_64 using: 4353f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4363f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4373f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 4383f342a23SRobert Elliott - SHA-NI (SHA Extensions New Instructions) 43928a936efSRobert Elliott 44028a936efSRobert Elliottconfig CRYPTO_SHA256_SSSE3 4413f342a23SRobert Elliott tristate "Hash functions: SHA-224 and SHA-256 (SSSE3/AVX/AVX2/SHA-NI)" 44228a936efSRobert Elliott depends on X86 && 64BIT 44328a936efSRobert Elliott select CRYPTO_SHA256 44428a936efSRobert Elliott select CRYPTO_HASH 44528a936efSRobert Elliott help 4463f342a23SRobert Elliott SHA-224 and SHA-256 secure hash algorithms (FIPS 180) 4473f342a23SRobert Elliott 4483f342a23SRobert Elliott Architecture: x86_64 using: 4493f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4503f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4513f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 4523f342a23SRobert Elliott - SHA-NI (SHA Extensions New Instructions) 45328a936efSRobert Elliott 45428a936efSRobert Elliottconfig CRYPTO_SHA512_SSSE3 4553f342a23SRobert Elliott tristate "Hash functions: SHA-384 and SHA-512 (SSSE3/AVX/AVX2)" 45628a936efSRobert Elliott depends on X86 && 64BIT 45728a936efSRobert Elliott select CRYPTO_SHA512 45828a936efSRobert Elliott select CRYPTO_HASH 45928a936efSRobert Elliott help 4603f342a23SRobert Elliott SHA-384 and SHA-512 secure hash algorithms (FIPS 180) 4613f342a23SRobert Elliott 4623f342a23SRobert Elliott Architecture: x86_64 using: 4633f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4643f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4653f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 46628a936efSRobert Elliott 46728a936efSRobert Elliottconfig CRYPTO_SM3_AVX_X86_64 4683f342a23SRobert Elliott tristate "Hash functions: SM3 (AVX)" 46928a936efSRobert Elliott depends on X86 && 64BIT 47028a936efSRobert Elliott select CRYPTO_HASH 47128a936efSRobert Elliott select CRYPTO_SM3 47228a936efSRobert Elliott help 4733f342a23SRobert Elliott SM3 secure hash function as defined by OSCCA GM/T 0004-2012 SM3 4743f342a23SRobert Elliott 4753f342a23SRobert Elliott Architecture: x86_64 using: 4763f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 47728a936efSRobert Elliott 47828a936efSRobert Elliott If unsure, say N. 47928a936efSRobert Elliott 48028a936efSRobert Elliottconfig CRYPTO_GHASH_CLMUL_NI_INTEL 4813f342a23SRobert Elliott tristate "Hash functions: GHASH (CLMUL-NI)" 48228a936efSRobert Elliott depends on X86 && 64BIT 48328a936efSRobert Elliott select CRYPTO_CRYPTD 48428a936efSRobert Elliott help 4853f342a23SRobert Elliott GCM GHASH hash function (NIST SP800-38D) 4863f342a23SRobert Elliott 4873f342a23SRobert Elliott Architecture: x86_64 using: 4883f342a23SRobert Elliott - CLMUL-NI (carry-less multiplication new instructions) 48928a936efSRobert Elliott 49028a936efSRobert Elliottconfig CRYPTO_CRC32C_INTEL 491ec84348dSRobert Elliott tristate "CRC32c (SSE4.2/PCLMULQDQ)" 49228a936efSRobert Elliott depends on X86 49328a936efSRobert Elliott select CRYPTO_HASH 49428a936efSRobert Elliott help 495ec84348dSRobert Elliott CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720) 496ec84348dSRobert Elliott 497ec84348dSRobert Elliott Architecture: x86 (32-bit and 64-bit) using: 498ec84348dSRobert Elliott - SSE4.2 (Streaming SIMD Extensions 4.2) CRC32 instruction 499ec84348dSRobert Elliott - PCLMULQDQ (carry-less multiplication) 50028a936efSRobert Elliott 50128a936efSRobert Elliottconfig CRYPTO_CRC32_PCLMUL 502ec84348dSRobert Elliott tristate "CRC32 (PCLMULQDQ)" 50328a936efSRobert Elliott depends on X86 50428a936efSRobert Elliott select CRYPTO_HASH 50528a936efSRobert Elliott select CRC32 50628a936efSRobert Elliott help 507ec84348dSRobert Elliott CRC32 CRC algorithm (IEEE 802.3) 508ec84348dSRobert Elliott 509ec84348dSRobert Elliott Architecture: x86 (32-bit and 64-bit) using: 510ec84348dSRobert Elliott - PCLMULQDQ (carry-less multiplication) 51128a936efSRobert Elliott 51228a936efSRobert Elliottconfig CRYPTO_CRCT10DIF_PCLMUL 513ec84348dSRobert Elliott tristate "CRCT10DIF (PCLMULQDQ)" 51428a936efSRobert Elliott depends on X86 && 64BIT && CRC_T10DIF 51528a936efSRobert Elliott select CRYPTO_HASH 51628a936efSRobert Elliott help 517ec84348dSRobert Elliott CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF) 518ec84348dSRobert Elliott 519ec84348dSRobert Elliott Architecture: x86_64 using: 520ec84348dSRobert Elliott - PCLMULQDQ (carry-less multiplication) 52128a936efSRobert Elliott 52228a936efSRobert Elliottendmenu 523