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 289*ba3579e6STaehee Yooconfig CRYPTO_ARIA_AESNI_AVX_X86_64 290*ba3579e6STaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX/GFNI)" 291*ba3579e6STaehee Yoo depends on X86 && 64BIT 292*ba3579e6STaehee Yoo select CRYPTO_SKCIPHER 293*ba3579e6STaehee Yoo select CRYPTO_SIMD 294*ba3579e6STaehee Yoo select CRYPTO_ALGAPI 295*ba3579e6STaehee Yoo select CRYPTO_ARIA 296*ba3579e6STaehee Yoo help 297*ba3579e6STaehee Yoo Length-preserving cipher: ARIA cipher algorithms 298*ba3579e6STaehee Yoo (RFC 5794) with ECB and CTR modes 299*ba3579e6STaehee Yoo 300*ba3579e6STaehee Yoo Architecture: x86_64 using: 301*ba3579e6STaehee Yoo - AES-NI (AES New Instructions) 302*ba3579e6STaehee Yoo - AVX (Advanced Vector Extensions) 303*ba3579e6STaehee Yoo - GFNI (Galois Field New Instructions) 304*ba3579e6STaehee Yoo 305*ba3579e6STaehee Yoo Processes 16 blocks in parallel. 306*ba3579e6STaehee Yoo 30728a936efSRobert Elliottconfig CRYPTO_CHACHA20_X86_64 308cf514b2aSRobert Elliott tristate "Ciphers: ChaCha20, XChaCha20, XChaCha12 (SSSE3/AVX2/AVX-512VL)" 30928a936efSRobert Elliott depends on X86 && 64BIT 31028a936efSRobert Elliott select CRYPTO_SKCIPHER 31128a936efSRobert Elliott select CRYPTO_LIB_CHACHA_GENERIC 31228a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_CHACHA 31328a936efSRobert Elliott help 314cf514b2aSRobert Elliott Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 315cf514b2aSRobert Elliott stream cipher algorithms 316cf514b2aSRobert Elliott 317cf514b2aSRobert Elliott Architecture: x86_64 using: 318cf514b2aSRobert Elliott - SSSE3 (Supplemental SSE3) 319cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 320cf514b2aSRobert Elliott - AVX-512VL (Advanced Vector Extensions-512VL) 32128a936efSRobert Elliott 32228a936efSRobert Elliottconfig CRYPTO_AEGIS128_AESNI_SSE2 323e3d2eaddSRobert Elliott tristate "AEAD ciphers: AEGIS-128 (AES-NI/SSE2)" 32428a936efSRobert Elliott depends on X86 && 64BIT 32528a936efSRobert Elliott select CRYPTO_AEAD 32628a936efSRobert Elliott select CRYPTO_SIMD 32728a936efSRobert Elliott help 328e3d2eaddSRobert Elliott AEGIS-128 AEAD algorithm 329e3d2eaddSRobert Elliott 330e3d2eaddSRobert Elliott Architecture: x86_64 using: 331e3d2eaddSRobert Elliott - AES-NI (AES New Instructions) 332e3d2eaddSRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 33328a936efSRobert Elliott 33428a936efSRobert Elliottconfig CRYPTO_NHPOLY1305_SSE2 3353f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (SSE2)" 33628a936efSRobert Elliott depends on X86 && 64BIT 33728a936efSRobert Elliott select CRYPTO_NHPOLY1305 33828a936efSRobert Elliott help 3393f342a23SRobert Elliott NHPoly1305 hash function for Adiantum 3403f342a23SRobert Elliott 3413f342a23SRobert Elliott Architecture: x86_64 using: 3423f342a23SRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 34328a936efSRobert Elliott 34428a936efSRobert Elliottconfig CRYPTO_NHPOLY1305_AVX2 3453f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (AVX2)" 34628a936efSRobert Elliott depends on X86 && 64BIT 34728a936efSRobert Elliott select CRYPTO_NHPOLY1305 34828a936efSRobert Elliott help 3493f342a23SRobert Elliott NHPoly1305 hash function for Adiantum 3503f342a23SRobert Elliott 3513f342a23SRobert Elliott Architecture: x86_64 using: 3523f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 35328a936efSRobert Elliott 35428a936efSRobert Elliottconfig CRYPTO_BLAKE2S_X86 3553f342a23SRobert Elliott bool "Hash functions: BLAKE2s (SSSE3/AVX-512)" 35628a936efSRobert Elliott depends on X86 && 64BIT 35728a936efSRobert Elliott select CRYPTO_LIB_BLAKE2S_GENERIC 35828a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_BLAKE2S 3593f342a23SRobert Elliott help 3603f342a23SRobert Elliott BLAKE2s cryptographic hash function (RFC 7693) 3613f342a23SRobert Elliott 3623f342a23SRobert Elliott Architecture: x86_64 using: 3633f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 3643f342a23SRobert Elliott - AVX-512 (Advanced Vector Extensions-512) 36528a936efSRobert Elliott 36628a936efSRobert Elliottconfig CRYPTO_POLYVAL_CLMUL_NI 3673f342a23SRobert Elliott tristate "Hash functions: POLYVAL (CLMUL-NI)" 36828a936efSRobert Elliott depends on X86 && 64BIT 36928a936efSRobert Elliott select CRYPTO_POLYVAL 37028a936efSRobert Elliott help 3713f342a23SRobert Elliott POLYVAL hash function for HCTR2 3723f342a23SRobert Elliott 3733f342a23SRobert Elliott Architecture: x86_64 using: 3743f342a23SRobert Elliott - CLMUL-NI (carry-less multiplication new instructions) 37528a936efSRobert Elliott 37628a936efSRobert Elliottconfig CRYPTO_POLY1305_X86_64 3773f342a23SRobert Elliott tristate "Hash functions: Poly1305 (SSE2/AVX2)" 37828a936efSRobert Elliott depends on X86 && 64BIT 37928a936efSRobert Elliott select CRYPTO_LIB_POLY1305_GENERIC 38028a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_POLY1305 38128a936efSRobert Elliott help 3823f342a23SRobert Elliott Poly1305 authenticator algorithm (RFC7539) 38328a936efSRobert Elliott 3843f342a23SRobert Elliott Architecture: x86_64 using: 3853f342a23SRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 3863f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 38728a936efSRobert Elliott 38828a936efSRobert Elliottconfig CRYPTO_SHA1_SSSE3 3893f342a23SRobert Elliott tristate "Hash functions: SHA-1 (SSSE3/AVX/AVX2/SHA-NI)" 39028a936efSRobert Elliott depends on X86 && 64BIT 39128a936efSRobert Elliott select CRYPTO_SHA1 39228a936efSRobert Elliott select CRYPTO_HASH 39328a936efSRobert Elliott help 3943f342a23SRobert Elliott SHA-1 secure hash algorithm (FIPS 180) 3953f342a23SRobert Elliott 3963f342a23SRobert Elliott Architecture: x86_64 using: 3973f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 3983f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 3993f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 4003f342a23SRobert Elliott - SHA-NI (SHA Extensions New Instructions) 40128a936efSRobert Elliott 40228a936efSRobert Elliottconfig CRYPTO_SHA256_SSSE3 4033f342a23SRobert Elliott tristate "Hash functions: SHA-224 and SHA-256 (SSSE3/AVX/AVX2/SHA-NI)" 40428a936efSRobert Elliott depends on X86 && 64BIT 40528a936efSRobert Elliott select CRYPTO_SHA256 40628a936efSRobert Elliott select CRYPTO_HASH 40728a936efSRobert Elliott help 4083f342a23SRobert Elliott SHA-224 and SHA-256 secure hash algorithms (FIPS 180) 4093f342a23SRobert Elliott 4103f342a23SRobert Elliott Architecture: x86_64 using: 4113f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4123f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4133f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 4143f342a23SRobert Elliott - SHA-NI (SHA Extensions New Instructions) 41528a936efSRobert Elliott 41628a936efSRobert Elliottconfig CRYPTO_SHA512_SSSE3 4173f342a23SRobert Elliott tristate "Hash functions: SHA-384 and SHA-512 (SSSE3/AVX/AVX2)" 41828a936efSRobert Elliott depends on X86 && 64BIT 41928a936efSRobert Elliott select CRYPTO_SHA512 42028a936efSRobert Elliott select CRYPTO_HASH 42128a936efSRobert Elliott help 4223f342a23SRobert Elliott SHA-384 and SHA-512 secure hash algorithms (FIPS 180) 4233f342a23SRobert Elliott 4243f342a23SRobert Elliott Architecture: x86_64 using: 4253f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4263f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4273f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 42828a936efSRobert Elliott 42928a936efSRobert Elliottconfig CRYPTO_SM3_AVX_X86_64 4303f342a23SRobert Elliott tristate "Hash functions: SM3 (AVX)" 43128a936efSRobert Elliott depends on X86 && 64BIT 43228a936efSRobert Elliott select CRYPTO_HASH 43328a936efSRobert Elliott select CRYPTO_SM3 43428a936efSRobert Elliott help 4353f342a23SRobert Elliott SM3 secure hash function as defined by OSCCA GM/T 0004-2012 SM3 4363f342a23SRobert Elliott 4373f342a23SRobert Elliott Architecture: x86_64 using: 4383f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 43928a936efSRobert Elliott 44028a936efSRobert Elliott If unsure, say N. 44128a936efSRobert Elliott 44228a936efSRobert Elliottconfig CRYPTO_GHASH_CLMUL_NI_INTEL 4433f342a23SRobert Elliott tristate "Hash functions: GHASH (CLMUL-NI)" 44428a936efSRobert Elliott depends on X86 && 64BIT 44528a936efSRobert Elliott select CRYPTO_CRYPTD 44628a936efSRobert Elliott help 4473f342a23SRobert Elliott GCM GHASH hash function (NIST SP800-38D) 4483f342a23SRobert Elliott 4493f342a23SRobert Elliott Architecture: x86_64 using: 4503f342a23SRobert Elliott - CLMUL-NI (carry-less multiplication new instructions) 45128a936efSRobert Elliott 45228a936efSRobert Elliottconfig CRYPTO_CRC32C_INTEL 453ec84348dSRobert Elliott tristate "CRC32c (SSE4.2/PCLMULQDQ)" 45428a936efSRobert Elliott depends on X86 45528a936efSRobert Elliott select CRYPTO_HASH 45628a936efSRobert Elliott help 457ec84348dSRobert Elliott CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720) 458ec84348dSRobert Elliott 459ec84348dSRobert Elliott Architecture: x86 (32-bit and 64-bit) using: 460ec84348dSRobert Elliott - SSE4.2 (Streaming SIMD Extensions 4.2) CRC32 instruction 461ec84348dSRobert Elliott - PCLMULQDQ (carry-less multiplication) 46228a936efSRobert Elliott 46328a936efSRobert Elliottconfig CRYPTO_CRC32_PCLMUL 464ec84348dSRobert Elliott tristate "CRC32 (PCLMULQDQ)" 46528a936efSRobert Elliott depends on X86 46628a936efSRobert Elliott select CRYPTO_HASH 46728a936efSRobert Elliott select CRC32 46828a936efSRobert Elliott help 469ec84348dSRobert Elliott CRC32 CRC algorithm (IEEE 802.3) 470ec84348dSRobert Elliott 471ec84348dSRobert Elliott Architecture: x86 (32-bit and 64-bit) using: 472ec84348dSRobert Elliott - PCLMULQDQ (carry-less multiplication) 47328a936efSRobert Elliott 47428a936efSRobert Elliottconfig CRYPTO_CRCT10DIF_PCLMUL 475ec84348dSRobert Elliott tristate "CRCT10DIF (PCLMULQDQ)" 47628a936efSRobert Elliott depends on X86 && 64BIT && CRC_T10DIF 47728a936efSRobert Elliott select CRYPTO_HASH 47828a936efSRobert Elliott help 479ec84348dSRobert Elliott CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF) 480ec84348dSRobert Elliott 481ec84348dSRobert Elliott Architecture: x86_64 using: 482ec84348dSRobert Elliott - PCLMULQDQ (carry-less multiplication) 48328a936efSRobert Elliott 48428a936efSRobert Elliottendmenu 485