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 21*b06affb1SEric Biggers select CRYPTO_LIB_GF128MUL 2228a936efSRobert Elliott select CRYPTO_ALGAPI 2328a936efSRobert Elliott select CRYPTO_SKCIPHER 2428a936efSRobert Elliott select CRYPTO_SIMD 2528a936efSRobert Elliott help 26cf514b2aSRobert Elliott Block cipher: AES cipher algorithms 27cf514b2aSRobert Elliott AEAD cipher: AES with GCM 28cf514b2aSRobert Elliott Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XTR, XTS 2928a936efSRobert Elliott 30cf514b2aSRobert Elliott Architecture: x86 (32-bit and 64-bit) using: 31cf514b2aSRobert Elliott - AES-NI (AES new instructions) 3228a936efSRobert Elliott 3328a936efSRobert Elliottconfig CRYPTO_BLOWFISH_X86_64 34cf514b2aSRobert Elliott tristate "Ciphers: Blowfish, modes: ECB, CBC" 3528a936efSRobert Elliott depends on X86 && 64BIT 3628a936efSRobert Elliott select CRYPTO_SKCIPHER 3728a936efSRobert Elliott select CRYPTO_BLOWFISH_COMMON 3828a936efSRobert Elliott imply CRYPTO_CTR 3928a936efSRobert Elliott help 40cf514b2aSRobert Elliott Block cipher: Blowfish cipher algorithm 41cf514b2aSRobert Elliott Length-preserving ciphers: Blowfish with ECB and CBC modes 4228a936efSRobert Elliott 43cf514b2aSRobert Elliott Architecture: x86_64 4428a936efSRobert Elliott 4528a936efSRobert Elliottconfig CRYPTO_CAMELLIA_X86_64 46cf514b2aSRobert Elliott tristate "Ciphers: Camellia with modes: ECB, CBC" 4728a936efSRobert Elliott depends on X86 && 64BIT 4828a936efSRobert Elliott select CRYPTO_SKCIPHER 4928a936efSRobert Elliott imply CRYPTO_CTR 5028a936efSRobert Elliott help 51cf514b2aSRobert Elliott Block cipher: Camellia cipher algorithms 52cf514b2aSRobert Elliott Length-preserving ciphers: Camellia with ECB and CBC modes 5328a936efSRobert Elliott 54cf514b2aSRobert Elliott Architecture: x86_64 5528a936efSRobert Elliott 5628a936efSRobert Elliottconfig CRYPTO_CAMELLIA_AESNI_AVX_X86_64 57cf514b2aSRobert Elliott tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX)" 5828a936efSRobert Elliott depends on X86 && 64BIT 5928a936efSRobert Elliott select CRYPTO_SKCIPHER 6028a936efSRobert Elliott select CRYPTO_CAMELLIA_X86_64 6128a936efSRobert Elliott select CRYPTO_SIMD 6228a936efSRobert Elliott imply CRYPTO_XTS 6328a936efSRobert Elliott help 64cf514b2aSRobert Elliott Length-preserving ciphers: Camellia with ECB and CBC modes 6528a936efSRobert Elliott 66cf514b2aSRobert Elliott Architecture: x86_64 using: 67cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 68cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 6928a936efSRobert Elliott 7028a936efSRobert Elliottconfig CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 71cf514b2aSRobert Elliott tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX2)" 7228a936efSRobert Elliott depends on X86 && 64BIT 7328a936efSRobert Elliott select CRYPTO_CAMELLIA_AESNI_AVX_X86_64 7428a936efSRobert Elliott help 75cf514b2aSRobert Elliott Length-preserving ciphers: Camellia with ECB and CBC modes 7628a936efSRobert Elliott 77cf514b2aSRobert Elliott Architecture: x86_64 using: 78cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 79cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 8028a936efSRobert Elliott 8128a936efSRobert Elliottconfig CRYPTO_CAST5_AVX_X86_64 82cf514b2aSRobert Elliott tristate "Ciphers: CAST5 with modes: ECB, CBC (AVX)" 8328a936efSRobert Elliott depends on X86 && 64BIT 8428a936efSRobert Elliott select CRYPTO_SKCIPHER 8528a936efSRobert Elliott select CRYPTO_CAST5 8628a936efSRobert Elliott select CRYPTO_CAST_COMMON 8728a936efSRobert Elliott select CRYPTO_SIMD 8828a936efSRobert Elliott imply CRYPTO_CTR 8928a936efSRobert Elliott help 90cf514b2aSRobert Elliott Length-preserving ciphers: CAST5 (CAST-128) cipher algorithm 91cf514b2aSRobert Elliott (RFC2144) with ECB and CBC modes 9228a936efSRobert Elliott 93cf514b2aSRobert Elliott Architecture: x86_64 using: 94cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 95cf514b2aSRobert Elliott 96cf514b2aSRobert Elliott Processes 16 blocks in parallel. 9728a936efSRobert Elliott 9828a936efSRobert Elliottconfig CRYPTO_CAST6_AVX_X86_64 99cf514b2aSRobert Elliott tristate "Ciphers: CAST6 with modes: ECB, CBC (AVX)" 10028a936efSRobert Elliott depends on X86 && 64BIT 10128a936efSRobert Elliott select CRYPTO_SKCIPHER 10228a936efSRobert Elliott select CRYPTO_CAST6 10328a936efSRobert Elliott select CRYPTO_CAST_COMMON 10428a936efSRobert Elliott select CRYPTO_SIMD 10528a936efSRobert Elliott imply CRYPTO_XTS 10628a936efSRobert Elliott imply CRYPTO_CTR 10728a936efSRobert Elliott help 108cf514b2aSRobert Elliott Length-preserving ciphers: CAST6 (CAST-256) cipher algorithm 109cf514b2aSRobert Elliott (RFC2612) with ECB and CBC modes 11028a936efSRobert Elliott 111cf514b2aSRobert Elliott Architecture: x86_64 using: 112cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 113cf514b2aSRobert Elliott 114cf514b2aSRobert Elliott Processes eight blocks in parallel. 11528a936efSRobert Elliott 11628a936efSRobert Elliottconfig CRYPTO_DES3_EDE_X86_64 117cf514b2aSRobert Elliott tristate "Ciphers: Triple DES EDE with modes: ECB, CBC" 11828a936efSRobert Elliott depends on X86 && 64BIT 11928a936efSRobert Elliott select CRYPTO_SKCIPHER 12028a936efSRobert Elliott select CRYPTO_LIB_DES 12128a936efSRobert Elliott imply CRYPTO_CTR 12228a936efSRobert Elliott help 123cf514b2aSRobert Elliott Block cipher: Triple DES EDE (FIPS 46-3) cipher algorithm 124cf514b2aSRobert Elliott Length-preserving ciphers: Triple DES EDE with ECB and CBC modes 12528a936efSRobert Elliott 126cf514b2aSRobert Elliott Architecture: x86_64 127cf514b2aSRobert Elliott 128cf514b2aSRobert Elliott Processes one or three blocks in parallel. 12928a936efSRobert Elliott 13028a936efSRobert Elliottconfig CRYPTO_SERPENT_SSE2_X86_64 131cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (SSE2)" 13228a936efSRobert Elliott depends on X86 && 64BIT 13328a936efSRobert Elliott select CRYPTO_SKCIPHER 13428a936efSRobert Elliott select CRYPTO_SERPENT 13528a936efSRobert Elliott select CRYPTO_SIMD 13628a936efSRobert Elliott imply CRYPTO_CTR 13728a936efSRobert Elliott help 138cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 139cf514b2aSRobert Elliott with ECB and CBC modes 14028a936efSRobert Elliott 141cf514b2aSRobert Elliott Architecture: x86_64 using: 142cf514b2aSRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 14328a936efSRobert Elliott 144cf514b2aSRobert Elliott Processes eight blocks in parallel. 14528a936efSRobert Elliott 14628a936efSRobert Elliottconfig CRYPTO_SERPENT_SSE2_586 147cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (32-bit with SSE2)" 14828a936efSRobert Elliott depends on X86 && !64BIT 14928a936efSRobert Elliott select CRYPTO_SKCIPHER 15028a936efSRobert Elliott select CRYPTO_SERPENT 15128a936efSRobert Elliott select CRYPTO_SIMD 15228a936efSRobert Elliott imply CRYPTO_CTR 15328a936efSRobert Elliott help 154cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 155cf514b2aSRobert Elliott with ECB and CBC modes 15628a936efSRobert Elliott 157cf514b2aSRobert Elliott Architecture: x86 (32-bit) using: 158cf514b2aSRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 15928a936efSRobert Elliott 160cf514b2aSRobert Elliott Processes four blocks in parallel. 16128a936efSRobert Elliott 16228a936efSRobert Elliottconfig CRYPTO_SERPENT_AVX_X86_64 163cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (AVX)" 16428a936efSRobert Elliott depends on X86 && 64BIT 16528a936efSRobert Elliott select CRYPTO_SKCIPHER 16628a936efSRobert Elliott select CRYPTO_SERPENT 16728a936efSRobert Elliott select CRYPTO_SIMD 16828a936efSRobert Elliott imply CRYPTO_XTS 16928a936efSRobert Elliott imply CRYPTO_CTR 17028a936efSRobert Elliott help 171cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 172cf514b2aSRobert Elliott with ECB and CBC modes 17328a936efSRobert Elliott 174cf514b2aSRobert Elliott Architecture: x86_64 using: 175cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 17628a936efSRobert Elliott 177cf514b2aSRobert Elliott Processes eight blocks in parallel. 17828a936efSRobert Elliott 17928a936efSRobert Elliottconfig CRYPTO_SERPENT_AVX2_X86_64 180cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (AVX2)" 18128a936efSRobert Elliott depends on X86 && 64BIT 18228a936efSRobert Elliott select CRYPTO_SERPENT_AVX_X86_64 18328a936efSRobert Elliott help 184cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 185cf514b2aSRobert Elliott with ECB and CBC modes 18628a936efSRobert Elliott 187cf514b2aSRobert Elliott Architecture: x86_64 using: 188cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 18928a936efSRobert Elliott 190cf514b2aSRobert Elliott Processes 16 blocks in parallel. 19128a936efSRobert Elliott 19228a936efSRobert Elliottconfig CRYPTO_SM4_AESNI_AVX_X86_64 19305bd1e2aSHerbert Xu tristate "Ciphers: SM4 with modes: ECB, CBC, CTR (AES-NI/AVX)" 19428a936efSRobert Elliott depends on X86 && 64BIT 19528a936efSRobert Elliott select CRYPTO_SKCIPHER 19628a936efSRobert Elliott select CRYPTO_SIMD 19728a936efSRobert Elliott select CRYPTO_ALGAPI 19828a936efSRobert Elliott select CRYPTO_SM4 19928a936efSRobert Elliott help 200cf514b2aSRobert Elliott Length-preserving ciphers: SM4 cipher algorithms 20105bd1e2aSHerbert Xu (OSCCA GB/T 32907-2016) with ECB, CBC, and CTR modes 20228a936efSRobert Elliott 203cf514b2aSRobert Elliott Architecture: x86_64 using: 204cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 205cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 20628a936efSRobert Elliott 207cf514b2aSRobert Elliott Through two affine transforms, 20828a936efSRobert Elliott we can use the AES S-Box to simulate the SM4 S-Box to achieve the 20928a936efSRobert Elliott effect of instruction acceleration. 21028a936efSRobert Elliott 21128a936efSRobert Elliott If unsure, say N. 21228a936efSRobert Elliott 21328a936efSRobert Elliottconfig CRYPTO_SM4_AESNI_AVX2_X86_64 21405bd1e2aSHerbert Xu tristate "Ciphers: SM4 with modes: ECB, CBC, CTR (AES-NI/AVX2)" 21528a936efSRobert Elliott depends on X86 && 64BIT 21628a936efSRobert Elliott select CRYPTO_SKCIPHER 21728a936efSRobert Elliott select CRYPTO_SIMD 21828a936efSRobert Elliott select CRYPTO_ALGAPI 21928a936efSRobert Elliott select CRYPTO_SM4 22028a936efSRobert Elliott select CRYPTO_SM4_AESNI_AVX_X86_64 22128a936efSRobert Elliott help 222cf514b2aSRobert Elliott Length-preserving ciphers: SM4 cipher algorithms 22305bd1e2aSHerbert Xu (OSCCA GB/T 32907-2016) with ECB, CBC, and CTR modes 22428a936efSRobert Elliott 225cf514b2aSRobert Elliott Architecture: x86_64 using: 226cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 227cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 22828a936efSRobert Elliott 229cf514b2aSRobert Elliott Through two affine transforms, 23028a936efSRobert Elliott we can use the AES S-Box to simulate the SM4 S-Box to achieve the 23128a936efSRobert Elliott effect of instruction acceleration. 23228a936efSRobert Elliott 23328a936efSRobert Elliott If unsure, say N. 23428a936efSRobert Elliott 23528a936efSRobert Elliottconfig CRYPTO_TWOFISH_586 236cf514b2aSRobert Elliott tristate "Ciphers: Twofish (32-bit)" 23728a936efSRobert Elliott depends on (X86 || UML_X86) && !64BIT 23828a936efSRobert Elliott select CRYPTO_ALGAPI 23928a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 24028a936efSRobert Elliott imply CRYPTO_CTR 24128a936efSRobert Elliott help 242cf514b2aSRobert Elliott Block cipher: Twofish cipher algorithm 24328a936efSRobert Elliott 244cf514b2aSRobert Elliott Architecture: x86 (32-bit) 24528a936efSRobert Elliott 24628a936efSRobert Elliottconfig CRYPTO_TWOFISH_X86_64 247cf514b2aSRobert Elliott tristate "Ciphers: Twofish" 24828a936efSRobert Elliott depends on (X86 || UML_X86) && 64BIT 24928a936efSRobert Elliott select CRYPTO_ALGAPI 25028a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 25128a936efSRobert Elliott imply CRYPTO_CTR 25228a936efSRobert Elliott help 253cf514b2aSRobert Elliott Block cipher: Twofish cipher algorithm 25428a936efSRobert Elliott 255cf514b2aSRobert Elliott Architecture: x86_64 25628a936efSRobert Elliott 25728a936efSRobert Elliottconfig CRYPTO_TWOFISH_X86_64_3WAY 258cf514b2aSRobert Elliott tristate "Ciphers: Twofish with modes: ECB, CBC (3-way parallel)" 25928a936efSRobert Elliott depends on X86 && 64BIT 26028a936efSRobert Elliott select CRYPTO_SKCIPHER 26128a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 26228a936efSRobert Elliott select CRYPTO_TWOFISH_X86_64 26328a936efSRobert Elliott help 264cf514b2aSRobert Elliott Length-preserving cipher: Twofish cipher algorithm 265cf514b2aSRobert Elliott with ECB and CBC modes 26628a936efSRobert Elliott 267cf514b2aSRobert Elliott Architecture: x86_64 26828a936efSRobert Elliott 269cf514b2aSRobert Elliott Processes three blocks in parallel, better utilizing resources of 270cf514b2aSRobert Elliott out-of-order CPUs. 27128a936efSRobert Elliott 27228a936efSRobert Elliottconfig CRYPTO_TWOFISH_AVX_X86_64 273cf514b2aSRobert Elliott tristate "Ciphers: Twofish with modes: ECB, CBC (AVX)" 27428a936efSRobert Elliott depends on X86 && 64BIT 27528a936efSRobert Elliott select CRYPTO_SKCIPHER 27628a936efSRobert Elliott select CRYPTO_SIMD 27728a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 27828a936efSRobert Elliott select CRYPTO_TWOFISH_X86_64 27928a936efSRobert Elliott select CRYPTO_TWOFISH_X86_64_3WAY 28028a936efSRobert Elliott imply CRYPTO_XTS 28128a936efSRobert Elliott help 282cf514b2aSRobert Elliott Length-preserving cipher: Twofish cipher algorithm 283cf514b2aSRobert Elliott with ECB and CBC modes 28428a936efSRobert Elliott 285cf514b2aSRobert Elliott Architecture: x86_64 using: 286cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 28728a936efSRobert Elliott 288cf514b2aSRobert Elliott Processes eight blocks in parallel. 28928a936efSRobert Elliott 290ba3579e6STaehee Yooconfig CRYPTO_ARIA_AESNI_AVX_X86_64 291ba3579e6STaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX/GFNI)" 292ba3579e6STaehee Yoo depends on X86 && 64BIT 293ba3579e6STaehee Yoo select CRYPTO_SKCIPHER 294ba3579e6STaehee Yoo select CRYPTO_SIMD 295ba3579e6STaehee Yoo select CRYPTO_ALGAPI 296ba3579e6STaehee Yoo select CRYPTO_ARIA 297ba3579e6STaehee Yoo help 298ba3579e6STaehee Yoo Length-preserving cipher: ARIA cipher algorithms 299ba3579e6STaehee Yoo (RFC 5794) with ECB and CTR modes 300ba3579e6STaehee Yoo 301ba3579e6STaehee Yoo Architecture: x86_64 using: 302ba3579e6STaehee Yoo - AES-NI (AES New Instructions) 303ba3579e6STaehee Yoo - AVX (Advanced Vector Extensions) 304ba3579e6STaehee Yoo - GFNI (Galois Field New Instructions) 305ba3579e6STaehee Yoo 306ba3579e6STaehee Yoo Processes 16 blocks in parallel. 307ba3579e6STaehee Yoo 30837d8d3aeSTaehee Yooconfig CRYPTO_ARIA_AESNI_AVX2_X86_64 30937d8d3aeSTaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX2/GFNI)" 31037d8d3aeSTaehee Yoo depends on X86 && 64BIT 31137d8d3aeSTaehee Yoo select CRYPTO_SKCIPHER 31237d8d3aeSTaehee Yoo select CRYPTO_SIMD 31337d8d3aeSTaehee Yoo select CRYPTO_ALGAPI 31437d8d3aeSTaehee Yoo select CRYPTO_ARIA 31537d8d3aeSTaehee Yoo select CRYPTO_ARIA_AESNI_AVX_X86_64 31637d8d3aeSTaehee Yoo help 31737d8d3aeSTaehee Yoo Length-preserving cipher: ARIA cipher algorithms 31837d8d3aeSTaehee Yoo (RFC 5794) with ECB and CTR modes 31937d8d3aeSTaehee Yoo 32037d8d3aeSTaehee Yoo Architecture: x86_64 using: 32137d8d3aeSTaehee Yoo - AES-NI (AES New Instructions) 32237d8d3aeSTaehee Yoo - AVX2 (Advanced Vector Extensions) 32337d8d3aeSTaehee Yoo - GFNI (Galois Field New Instructions) 32437d8d3aeSTaehee Yoo 32537d8d3aeSTaehee Yoo Processes 32 blocks in parallel. 32637d8d3aeSTaehee Yoo 327c970d420STaehee Yooconfig CRYPTO_ARIA_GFNI_AVX512_X86_64 328c970d420STaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AVX512/GFNI)" 329d6b7ec11STaehee Yoo depends on X86 && 64BIT && AS_AVX512 && AS_GFNI 330c970d420STaehee Yoo select CRYPTO_SKCIPHER 331c970d420STaehee Yoo select CRYPTO_SIMD 332c970d420STaehee Yoo select CRYPTO_ALGAPI 333c970d420STaehee Yoo select CRYPTO_ARIA 334c970d420STaehee Yoo select CRYPTO_ARIA_AESNI_AVX_X86_64 335c970d420STaehee Yoo select CRYPTO_ARIA_AESNI_AVX2_X86_64 336c970d420STaehee Yoo help 337c970d420STaehee Yoo Length-preserving cipher: ARIA cipher algorithms 338c970d420STaehee Yoo (RFC 5794) with ECB and CTR modes 339c970d420STaehee Yoo 340c970d420STaehee Yoo Architecture: x86_64 using: 341c970d420STaehee Yoo - AVX512 (Advanced Vector Extensions) 342c970d420STaehee Yoo - GFNI (Galois Field New Instructions) 343c970d420STaehee Yoo 344c970d420STaehee Yoo Processes 64 blocks in parallel. 345c970d420STaehee Yoo 34628a936efSRobert Elliottconfig CRYPTO_CHACHA20_X86_64 347cf514b2aSRobert Elliott tristate "Ciphers: ChaCha20, XChaCha20, XChaCha12 (SSSE3/AVX2/AVX-512VL)" 34828a936efSRobert Elliott depends on X86 && 64BIT 34928a936efSRobert Elliott select CRYPTO_SKCIPHER 35028a936efSRobert Elliott select CRYPTO_LIB_CHACHA_GENERIC 35128a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_CHACHA 35228a936efSRobert Elliott help 353cf514b2aSRobert Elliott Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 354cf514b2aSRobert Elliott stream cipher algorithms 355cf514b2aSRobert Elliott 356cf514b2aSRobert Elliott Architecture: x86_64 using: 357cf514b2aSRobert Elliott - SSSE3 (Supplemental SSE3) 358cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 359cf514b2aSRobert Elliott - AVX-512VL (Advanced Vector Extensions-512VL) 36028a936efSRobert Elliott 36128a936efSRobert Elliottconfig CRYPTO_AEGIS128_AESNI_SSE2 362e3d2eaddSRobert Elliott tristate "AEAD ciphers: AEGIS-128 (AES-NI/SSE2)" 36328a936efSRobert Elliott depends on X86 && 64BIT 36428a936efSRobert Elliott select CRYPTO_AEAD 36528a936efSRobert Elliott select CRYPTO_SIMD 36628a936efSRobert Elliott help 367e3d2eaddSRobert Elliott AEGIS-128 AEAD algorithm 368e3d2eaddSRobert Elliott 369e3d2eaddSRobert Elliott Architecture: x86_64 using: 370e3d2eaddSRobert Elliott - AES-NI (AES New Instructions) 371e3d2eaddSRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 37228a936efSRobert Elliott 37328a936efSRobert Elliottconfig CRYPTO_NHPOLY1305_SSE2 3743f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (SSE2)" 37528a936efSRobert Elliott depends on X86 && 64BIT 37628a936efSRobert Elliott select CRYPTO_NHPOLY1305 37728a936efSRobert Elliott help 3783f342a23SRobert Elliott NHPoly1305 hash function for Adiantum 3793f342a23SRobert Elliott 3803f342a23SRobert Elliott Architecture: x86_64 using: 3813f342a23SRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 38228a936efSRobert Elliott 38328a936efSRobert Elliottconfig CRYPTO_NHPOLY1305_AVX2 3843f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (AVX2)" 38528a936efSRobert Elliott depends on X86 && 64BIT 38628a936efSRobert Elliott select CRYPTO_NHPOLY1305 38728a936efSRobert Elliott help 3883f342a23SRobert Elliott NHPoly1305 hash function for Adiantum 3893f342a23SRobert Elliott 3903f342a23SRobert Elliott Architecture: x86_64 using: 3913f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 39228a936efSRobert Elliott 39328a936efSRobert Elliottconfig CRYPTO_BLAKE2S_X86 3943f342a23SRobert Elliott bool "Hash functions: BLAKE2s (SSSE3/AVX-512)" 39528a936efSRobert Elliott depends on X86 && 64BIT 39628a936efSRobert Elliott select CRYPTO_LIB_BLAKE2S_GENERIC 39728a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_BLAKE2S 3983f342a23SRobert Elliott help 3993f342a23SRobert Elliott BLAKE2s cryptographic hash function (RFC 7693) 4003f342a23SRobert Elliott 4013f342a23SRobert Elliott Architecture: x86_64 using: 4023f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4033f342a23SRobert Elliott - AVX-512 (Advanced Vector Extensions-512) 40428a936efSRobert Elliott 40528a936efSRobert Elliottconfig CRYPTO_POLYVAL_CLMUL_NI 4063f342a23SRobert Elliott tristate "Hash functions: POLYVAL (CLMUL-NI)" 40728a936efSRobert Elliott depends on X86 && 64BIT 40828a936efSRobert Elliott select CRYPTO_POLYVAL 40928a936efSRobert Elliott help 4103f342a23SRobert Elliott POLYVAL hash function for HCTR2 4113f342a23SRobert Elliott 4123f342a23SRobert Elliott Architecture: x86_64 using: 4133f342a23SRobert Elliott - CLMUL-NI (carry-less multiplication new instructions) 41428a936efSRobert Elliott 41528a936efSRobert Elliottconfig CRYPTO_POLY1305_X86_64 4163f342a23SRobert Elliott tristate "Hash functions: Poly1305 (SSE2/AVX2)" 41728a936efSRobert Elliott depends on X86 && 64BIT 41828a936efSRobert Elliott select CRYPTO_LIB_POLY1305_GENERIC 41928a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_POLY1305 42028a936efSRobert Elliott help 4213f342a23SRobert Elliott Poly1305 authenticator algorithm (RFC7539) 42228a936efSRobert Elliott 4233f342a23SRobert Elliott Architecture: x86_64 using: 4243f342a23SRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 4253f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 42628a936efSRobert Elliott 42728a936efSRobert Elliottconfig CRYPTO_SHA1_SSSE3 4283f342a23SRobert Elliott tristate "Hash functions: SHA-1 (SSSE3/AVX/AVX2/SHA-NI)" 42928a936efSRobert Elliott depends on X86 && 64BIT 43028a936efSRobert Elliott select CRYPTO_SHA1 43128a936efSRobert Elliott select CRYPTO_HASH 43228a936efSRobert Elliott help 4333f342a23SRobert Elliott SHA-1 secure hash algorithm (FIPS 180) 4343f342a23SRobert Elliott 4353f342a23SRobert Elliott Architecture: x86_64 using: 4363f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4373f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4383f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 4393f342a23SRobert Elliott - SHA-NI (SHA Extensions New Instructions) 44028a936efSRobert Elliott 44128a936efSRobert Elliottconfig CRYPTO_SHA256_SSSE3 4423f342a23SRobert Elliott tristate "Hash functions: SHA-224 and SHA-256 (SSSE3/AVX/AVX2/SHA-NI)" 44328a936efSRobert Elliott depends on X86 && 64BIT 44428a936efSRobert Elliott select CRYPTO_SHA256 44528a936efSRobert Elliott select CRYPTO_HASH 44628a936efSRobert Elliott help 4473f342a23SRobert Elliott SHA-224 and SHA-256 secure hash algorithms (FIPS 180) 4483f342a23SRobert Elliott 4493f342a23SRobert Elliott Architecture: x86_64 using: 4503f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4513f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4523f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 4533f342a23SRobert Elliott - SHA-NI (SHA Extensions New Instructions) 45428a936efSRobert Elliott 45528a936efSRobert Elliottconfig CRYPTO_SHA512_SSSE3 4563f342a23SRobert Elliott tristate "Hash functions: SHA-384 and SHA-512 (SSSE3/AVX/AVX2)" 45728a936efSRobert Elliott depends on X86 && 64BIT 45828a936efSRobert Elliott select CRYPTO_SHA512 45928a936efSRobert Elliott select CRYPTO_HASH 46028a936efSRobert Elliott help 4613f342a23SRobert Elliott SHA-384 and SHA-512 secure hash algorithms (FIPS 180) 4623f342a23SRobert Elliott 4633f342a23SRobert Elliott Architecture: x86_64 using: 4643f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4653f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4663f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 46728a936efSRobert Elliott 46828a936efSRobert Elliottconfig CRYPTO_SM3_AVX_X86_64 4693f342a23SRobert Elliott tristate "Hash functions: SM3 (AVX)" 47028a936efSRobert Elliott depends on X86 && 64BIT 47128a936efSRobert Elliott select CRYPTO_HASH 47228a936efSRobert Elliott select CRYPTO_SM3 47328a936efSRobert Elliott help 4743f342a23SRobert Elliott SM3 secure hash function as defined by OSCCA GM/T 0004-2012 SM3 4753f342a23SRobert Elliott 4763f342a23SRobert Elliott Architecture: x86_64 using: 4773f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 47828a936efSRobert Elliott 47928a936efSRobert Elliott If unsure, say N. 48028a936efSRobert Elliott 48128a936efSRobert Elliottconfig CRYPTO_GHASH_CLMUL_NI_INTEL 4823f342a23SRobert Elliott tristate "Hash functions: GHASH (CLMUL-NI)" 48328a936efSRobert Elliott depends on X86 && 64BIT 48428a936efSRobert Elliott select CRYPTO_CRYPTD 48528a936efSRobert Elliott help 4863f342a23SRobert Elliott GCM GHASH hash function (NIST SP800-38D) 4873f342a23SRobert Elliott 4883f342a23SRobert Elliott Architecture: x86_64 using: 4893f342a23SRobert Elliott - CLMUL-NI (carry-less multiplication new instructions) 49028a936efSRobert Elliott 49128a936efSRobert Elliottconfig CRYPTO_CRC32C_INTEL 492ec84348dSRobert Elliott tristate "CRC32c (SSE4.2/PCLMULQDQ)" 49328a936efSRobert Elliott depends on X86 49428a936efSRobert Elliott select CRYPTO_HASH 49528a936efSRobert Elliott help 496ec84348dSRobert Elliott CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720) 497ec84348dSRobert Elliott 498ec84348dSRobert Elliott Architecture: x86 (32-bit and 64-bit) using: 499ec84348dSRobert Elliott - SSE4.2 (Streaming SIMD Extensions 4.2) CRC32 instruction 500ec84348dSRobert Elliott - PCLMULQDQ (carry-less multiplication) 50128a936efSRobert Elliott 50228a936efSRobert Elliottconfig CRYPTO_CRC32_PCLMUL 503ec84348dSRobert Elliott tristate "CRC32 (PCLMULQDQ)" 50428a936efSRobert Elliott depends on X86 50528a936efSRobert Elliott select CRYPTO_HASH 50628a936efSRobert Elliott select CRC32 50728a936efSRobert Elliott help 508ec84348dSRobert Elliott CRC32 CRC algorithm (IEEE 802.3) 509ec84348dSRobert Elliott 510ec84348dSRobert Elliott Architecture: x86 (32-bit and 64-bit) using: 511ec84348dSRobert Elliott - PCLMULQDQ (carry-less multiplication) 51228a936efSRobert Elliott 51328a936efSRobert Elliottconfig CRYPTO_CRCT10DIF_PCLMUL 514ec84348dSRobert Elliott tristate "CRCT10DIF (PCLMULQDQ)" 51528a936efSRobert Elliott depends on X86 && 64BIT && CRC_T10DIF 51628a936efSRobert Elliott select CRYPTO_HASH 51728a936efSRobert Elliott help 518ec84348dSRobert Elliott CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF) 519ec84348dSRobert Elliott 520ec84348dSRobert Elliott Architecture: x86_64 using: 521ec84348dSRobert Elliott - PCLMULQDQ (carry-less multiplication) 52228a936efSRobert Elliott 52328a936efSRobert Elliottendmenu 524