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 307*37d8d3aeSTaehee Yooconfig CRYPTO_ARIA_AESNI_AVX2_X86_64 308*37d8d3aeSTaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX2/GFNI)" 309*37d8d3aeSTaehee Yoo depends on X86 && 64BIT 310*37d8d3aeSTaehee Yoo select CRYPTO_SKCIPHER 311*37d8d3aeSTaehee Yoo select CRYPTO_SIMD 312*37d8d3aeSTaehee Yoo select CRYPTO_ALGAPI 313*37d8d3aeSTaehee Yoo select CRYPTO_ARIA 314*37d8d3aeSTaehee Yoo select CRYPTO_ARIA_AESNI_AVX_X86_64 315*37d8d3aeSTaehee Yoo help 316*37d8d3aeSTaehee Yoo Length-preserving cipher: ARIA cipher algorithms 317*37d8d3aeSTaehee Yoo (RFC 5794) with ECB and CTR modes 318*37d8d3aeSTaehee Yoo 319*37d8d3aeSTaehee Yoo Architecture: x86_64 using: 320*37d8d3aeSTaehee Yoo - AES-NI (AES New Instructions) 321*37d8d3aeSTaehee Yoo - AVX2 (Advanced Vector Extensions) 322*37d8d3aeSTaehee Yoo - GFNI (Galois Field New Instructions) 323*37d8d3aeSTaehee Yoo 324*37d8d3aeSTaehee Yoo Processes 32 blocks in parallel. 325*37d8d3aeSTaehee Yoo 32628a936efSRobert Elliottconfig CRYPTO_CHACHA20_X86_64 327cf514b2aSRobert Elliott tristate "Ciphers: ChaCha20, XChaCha20, XChaCha12 (SSSE3/AVX2/AVX-512VL)" 32828a936efSRobert Elliott depends on X86 && 64BIT 32928a936efSRobert Elliott select CRYPTO_SKCIPHER 33028a936efSRobert Elliott select CRYPTO_LIB_CHACHA_GENERIC 33128a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_CHACHA 33228a936efSRobert Elliott help 333cf514b2aSRobert Elliott Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 334cf514b2aSRobert Elliott stream cipher algorithms 335cf514b2aSRobert Elliott 336cf514b2aSRobert Elliott Architecture: x86_64 using: 337cf514b2aSRobert Elliott - SSSE3 (Supplemental SSE3) 338cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 339cf514b2aSRobert Elliott - AVX-512VL (Advanced Vector Extensions-512VL) 34028a936efSRobert Elliott 34128a936efSRobert Elliottconfig CRYPTO_AEGIS128_AESNI_SSE2 342e3d2eaddSRobert Elliott tristate "AEAD ciphers: AEGIS-128 (AES-NI/SSE2)" 34328a936efSRobert Elliott depends on X86 && 64BIT 34428a936efSRobert Elliott select CRYPTO_AEAD 34528a936efSRobert Elliott select CRYPTO_SIMD 34628a936efSRobert Elliott help 347e3d2eaddSRobert Elliott AEGIS-128 AEAD algorithm 348e3d2eaddSRobert Elliott 349e3d2eaddSRobert Elliott Architecture: x86_64 using: 350e3d2eaddSRobert Elliott - AES-NI (AES New Instructions) 351e3d2eaddSRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 35228a936efSRobert Elliott 35328a936efSRobert Elliottconfig CRYPTO_NHPOLY1305_SSE2 3543f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (SSE2)" 35528a936efSRobert Elliott depends on X86 && 64BIT 35628a936efSRobert Elliott select CRYPTO_NHPOLY1305 35728a936efSRobert Elliott help 3583f342a23SRobert Elliott NHPoly1305 hash function for Adiantum 3593f342a23SRobert Elliott 3603f342a23SRobert Elliott Architecture: x86_64 using: 3613f342a23SRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 36228a936efSRobert Elliott 36328a936efSRobert Elliottconfig CRYPTO_NHPOLY1305_AVX2 3643f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (AVX2)" 36528a936efSRobert Elliott depends on X86 && 64BIT 36628a936efSRobert Elliott select CRYPTO_NHPOLY1305 36728a936efSRobert Elliott help 3683f342a23SRobert Elliott NHPoly1305 hash function for Adiantum 3693f342a23SRobert Elliott 3703f342a23SRobert Elliott Architecture: x86_64 using: 3713f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 37228a936efSRobert Elliott 37328a936efSRobert Elliottconfig CRYPTO_BLAKE2S_X86 3743f342a23SRobert Elliott bool "Hash functions: BLAKE2s (SSSE3/AVX-512)" 37528a936efSRobert Elliott depends on X86 && 64BIT 37628a936efSRobert Elliott select CRYPTO_LIB_BLAKE2S_GENERIC 37728a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_BLAKE2S 3783f342a23SRobert Elliott help 3793f342a23SRobert Elliott BLAKE2s cryptographic hash function (RFC 7693) 3803f342a23SRobert Elliott 3813f342a23SRobert Elliott Architecture: x86_64 using: 3823f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 3833f342a23SRobert Elliott - AVX-512 (Advanced Vector Extensions-512) 38428a936efSRobert Elliott 38528a936efSRobert Elliottconfig CRYPTO_POLYVAL_CLMUL_NI 3863f342a23SRobert Elliott tristate "Hash functions: POLYVAL (CLMUL-NI)" 38728a936efSRobert Elliott depends on X86 && 64BIT 38828a936efSRobert Elliott select CRYPTO_POLYVAL 38928a936efSRobert Elliott help 3903f342a23SRobert Elliott POLYVAL hash function for HCTR2 3913f342a23SRobert Elliott 3923f342a23SRobert Elliott Architecture: x86_64 using: 3933f342a23SRobert Elliott - CLMUL-NI (carry-less multiplication new instructions) 39428a936efSRobert Elliott 39528a936efSRobert Elliottconfig CRYPTO_POLY1305_X86_64 3963f342a23SRobert Elliott tristate "Hash functions: Poly1305 (SSE2/AVX2)" 39728a936efSRobert Elliott depends on X86 && 64BIT 39828a936efSRobert Elliott select CRYPTO_LIB_POLY1305_GENERIC 39928a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_POLY1305 40028a936efSRobert Elliott help 4013f342a23SRobert Elliott Poly1305 authenticator algorithm (RFC7539) 40228a936efSRobert Elliott 4033f342a23SRobert Elliott Architecture: x86_64 using: 4043f342a23SRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 4053f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 40628a936efSRobert Elliott 40728a936efSRobert Elliottconfig CRYPTO_SHA1_SSSE3 4083f342a23SRobert Elliott tristate "Hash functions: SHA-1 (SSSE3/AVX/AVX2/SHA-NI)" 40928a936efSRobert Elliott depends on X86 && 64BIT 41028a936efSRobert Elliott select CRYPTO_SHA1 41128a936efSRobert Elliott select CRYPTO_HASH 41228a936efSRobert Elliott help 4133f342a23SRobert Elliott SHA-1 secure hash algorithm (FIPS 180) 4143f342a23SRobert Elliott 4153f342a23SRobert Elliott Architecture: x86_64 using: 4163f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4173f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4183f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 4193f342a23SRobert Elliott - SHA-NI (SHA Extensions New Instructions) 42028a936efSRobert Elliott 42128a936efSRobert Elliottconfig CRYPTO_SHA256_SSSE3 4223f342a23SRobert Elliott tristate "Hash functions: SHA-224 and SHA-256 (SSSE3/AVX/AVX2/SHA-NI)" 42328a936efSRobert Elliott depends on X86 && 64BIT 42428a936efSRobert Elliott select CRYPTO_SHA256 42528a936efSRobert Elliott select CRYPTO_HASH 42628a936efSRobert Elliott help 4273f342a23SRobert Elliott SHA-224 and SHA-256 secure hash algorithms (FIPS 180) 4283f342a23SRobert Elliott 4293f342a23SRobert Elliott Architecture: x86_64 using: 4303f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4313f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4323f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 4333f342a23SRobert Elliott - SHA-NI (SHA Extensions New Instructions) 43428a936efSRobert Elliott 43528a936efSRobert Elliottconfig CRYPTO_SHA512_SSSE3 4363f342a23SRobert Elliott tristate "Hash functions: SHA-384 and SHA-512 (SSSE3/AVX/AVX2)" 43728a936efSRobert Elliott depends on X86 && 64BIT 43828a936efSRobert Elliott select CRYPTO_SHA512 43928a936efSRobert Elliott select CRYPTO_HASH 44028a936efSRobert Elliott help 4413f342a23SRobert Elliott SHA-384 and SHA-512 secure hash algorithms (FIPS 180) 4423f342a23SRobert Elliott 4433f342a23SRobert Elliott Architecture: x86_64 using: 4443f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4453f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4463f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 44728a936efSRobert Elliott 44828a936efSRobert Elliottconfig CRYPTO_SM3_AVX_X86_64 4493f342a23SRobert Elliott tristate "Hash functions: SM3 (AVX)" 45028a936efSRobert Elliott depends on X86 && 64BIT 45128a936efSRobert Elliott select CRYPTO_HASH 45228a936efSRobert Elliott select CRYPTO_SM3 45328a936efSRobert Elliott help 4543f342a23SRobert Elliott SM3 secure hash function as defined by OSCCA GM/T 0004-2012 SM3 4553f342a23SRobert Elliott 4563f342a23SRobert Elliott Architecture: x86_64 using: 4573f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 45828a936efSRobert Elliott 45928a936efSRobert Elliott If unsure, say N. 46028a936efSRobert Elliott 46128a936efSRobert Elliottconfig CRYPTO_GHASH_CLMUL_NI_INTEL 4623f342a23SRobert Elliott tristate "Hash functions: GHASH (CLMUL-NI)" 46328a936efSRobert Elliott depends on X86 && 64BIT 46428a936efSRobert Elliott select CRYPTO_CRYPTD 46528a936efSRobert Elliott help 4663f342a23SRobert Elliott GCM GHASH hash function (NIST SP800-38D) 4673f342a23SRobert Elliott 4683f342a23SRobert Elliott Architecture: x86_64 using: 4693f342a23SRobert Elliott - CLMUL-NI (carry-less multiplication new instructions) 47028a936efSRobert Elliott 47128a936efSRobert Elliottconfig CRYPTO_CRC32C_INTEL 472ec84348dSRobert Elliott tristate "CRC32c (SSE4.2/PCLMULQDQ)" 47328a936efSRobert Elliott depends on X86 47428a936efSRobert Elliott select CRYPTO_HASH 47528a936efSRobert Elliott help 476ec84348dSRobert Elliott CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720) 477ec84348dSRobert Elliott 478ec84348dSRobert Elliott Architecture: x86 (32-bit and 64-bit) using: 479ec84348dSRobert Elliott - SSE4.2 (Streaming SIMD Extensions 4.2) CRC32 instruction 480ec84348dSRobert Elliott - PCLMULQDQ (carry-less multiplication) 48128a936efSRobert Elliott 48228a936efSRobert Elliottconfig CRYPTO_CRC32_PCLMUL 483ec84348dSRobert Elliott tristate "CRC32 (PCLMULQDQ)" 48428a936efSRobert Elliott depends on X86 48528a936efSRobert Elliott select CRYPTO_HASH 48628a936efSRobert Elliott select CRC32 48728a936efSRobert Elliott help 488ec84348dSRobert Elliott CRC32 CRC algorithm (IEEE 802.3) 489ec84348dSRobert Elliott 490ec84348dSRobert Elliott Architecture: x86 (32-bit and 64-bit) using: 491ec84348dSRobert Elliott - PCLMULQDQ (carry-less multiplication) 49228a936efSRobert Elliott 49328a936efSRobert Elliottconfig CRYPTO_CRCT10DIF_PCLMUL 494ec84348dSRobert Elliott tristate "CRCT10DIF (PCLMULQDQ)" 49528a936efSRobert Elliott depends on X86 && 64BIT && CRC_T10DIF 49628a936efSRobert Elliott select CRYPTO_HASH 49728a936efSRobert Elliott help 498ec84348dSRobert Elliott CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF) 499ec84348dSRobert Elliott 500ec84348dSRobert Elliott Architecture: x86_64 using: 501ec84348dSRobert Elliott - PCLMULQDQ (carry-less multiplication) 50228a936efSRobert Elliott 50328a936efSRobert Elliottendmenu 504