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 617ec3e71SHerbert Xu tristate 7*67128a90SEric Biggers depends on 64BIT 817ec3e71SHerbert Xu select CRYPTO_KPP 928a936efSRobert Elliott select CRYPTO_LIB_CURVE25519_GENERIC 1017ec3e71SHerbert Xu select CRYPTO_ARCH_HAVE_LIB_CURVE25519 1117ec3e71SHerbert Xu default CRYPTO_LIB_CURVE25519_INTERNAL 1205b37465SRobert Elliott help 1305b37465SRobert Elliott Curve25519 algorithm 1405b37465SRobert Elliott 1505b37465SRobert Elliott Architecture: x86_64 using: 1605b37465SRobert Elliott - ADX (large integer arithmetic) 1728a936efSRobert Elliott 1828a936efSRobert Elliottconfig CRYPTO_AES_NI_INTEL 19c299d7afSEric Biggers tristate "Ciphers: AES, modes: ECB, CBC, CTS, CTR, XCTR, XTS, GCM (AES-NI/VAES)" 2028a936efSRobert Elliott select CRYPTO_AEAD 2128a936efSRobert Elliott select CRYPTO_LIB_AES 22b06affb1SEric Biggers select CRYPTO_LIB_GF128MUL 2328a936efSRobert Elliott select CRYPTO_ALGAPI 2428a936efSRobert Elliott select CRYPTO_SKCIPHER 2528a936efSRobert Elliott help 26cf514b2aSRobert Elliott Block cipher: AES cipher algorithms 27cf514b2aSRobert Elliott AEAD cipher: AES with GCM 28c299d7afSEric Biggers Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XCTR, XTS 2928a936efSRobert Elliott 30cf514b2aSRobert Elliott Architecture: x86 (32-bit and 64-bit) using: 31cf514b2aSRobert Elliott - AES-NI (AES new instructions) 32c299d7afSEric Biggers - VAES (Vector AES) 33c299d7afSEric Biggers 34c299d7afSEric Biggers Some algorithm implementations are supported only in 64-bit builds, 35c299d7afSEric Biggers and some have additional prerequisites such as AVX2 or AVX512. 3628a936efSRobert Elliott 3728a936efSRobert Elliottconfig CRYPTO_BLOWFISH_X86_64 38cf514b2aSRobert Elliott tristate "Ciphers: Blowfish, modes: ECB, CBC" 39*67128a90SEric Biggers depends on 64BIT 4028a936efSRobert Elliott select CRYPTO_SKCIPHER 4128a936efSRobert Elliott select CRYPTO_BLOWFISH_COMMON 4228a936efSRobert Elliott imply CRYPTO_CTR 4328a936efSRobert Elliott help 44cf514b2aSRobert Elliott Block cipher: Blowfish cipher algorithm 45cf514b2aSRobert Elliott Length-preserving ciphers: Blowfish with ECB and CBC modes 4628a936efSRobert Elliott 47cf514b2aSRobert Elliott Architecture: x86_64 4828a936efSRobert Elliott 4928a936efSRobert Elliottconfig CRYPTO_CAMELLIA_X86_64 50cf514b2aSRobert Elliott tristate "Ciphers: Camellia with modes: ECB, CBC" 51*67128a90SEric Biggers depends on 64BIT 5228a936efSRobert Elliott select CRYPTO_SKCIPHER 5328a936efSRobert Elliott imply CRYPTO_CTR 5428a936efSRobert Elliott help 55cf514b2aSRobert Elliott Block cipher: Camellia cipher algorithms 56cf514b2aSRobert Elliott Length-preserving ciphers: Camellia with ECB and CBC modes 5728a936efSRobert Elliott 58cf514b2aSRobert Elliott Architecture: x86_64 5928a936efSRobert Elliott 6028a936efSRobert Elliottconfig CRYPTO_CAMELLIA_AESNI_AVX_X86_64 61cf514b2aSRobert Elliott tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX)" 62*67128a90SEric Biggers depends on 64BIT 6328a936efSRobert Elliott select CRYPTO_SKCIPHER 6428a936efSRobert Elliott select CRYPTO_CAMELLIA_X86_64 6528a936efSRobert Elliott imply CRYPTO_XTS 6628a936efSRobert Elliott help 67cf514b2aSRobert Elliott Length-preserving ciphers: Camellia with ECB and CBC modes 6828a936efSRobert Elliott 69cf514b2aSRobert Elliott Architecture: x86_64 using: 70cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 71cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 7228a936efSRobert Elliott 7328a936efSRobert Elliottconfig CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 74cf514b2aSRobert Elliott tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX2)" 75*67128a90SEric Biggers depends on 64BIT 7628a936efSRobert Elliott select CRYPTO_CAMELLIA_AESNI_AVX_X86_64 7728a936efSRobert Elliott help 78cf514b2aSRobert Elliott Length-preserving ciphers: Camellia with ECB and CBC modes 7928a936efSRobert Elliott 80cf514b2aSRobert Elliott Architecture: x86_64 using: 81cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 82cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 8328a936efSRobert Elliott 8428a936efSRobert Elliottconfig CRYPTO_CAST5_AVX_X86_64 85cf514b2aSRobert Elliott tristate "Ciphers: CAST5 with modes: ECB, CBC (AVX)" 86*67128a90SEric Biggers depends on 64BIT 8728a936efSRobert Elliott select CRYPTO_SKCIPHER 8828a936efSRobert Elliott select CRYPTO_CAST5 8928a936efSRobert Elliott select CRYPTO_CAST_COMMON 9028a936efSRobert Elliott imply CRYPTO_CTR 9128a936efSRobert Elliott help 92cf514b2aSRobert Elliott Length-preserving ciphers: CAST5 (CAST-128) cipher algorithm 93cf514b2aSRobert Elliott (RFC2144) with ECB and CBC modes 9428a936efSRobert Elliott 95cf514b2aSRobert Elliott Architecture: x86_64 using: 96cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 97cf514b2aSRobert Elliott 98cf514b2aSRobert Elliott Processes 16 blocks in parallel. 9928a936efSRobert Elliott 10028a936efSRobert Elliottconfig CRYPTO_CAST6_AVX_X86_64 101cf514b2aSRobert Elliott tristate "Ciphers: CAST6 with modes: ECB, CBC (AVX)" 102*67128a90SEric Biggers depends on 64BIT 10328a936efSRobert Elliott select CRYPTO_SKCIPHER 10428a936efSRobert Elliott select CRYPTO_CAST6 10528a936efSRobert Elliott select CRYPTO_CAST_COMMON 10628a936efSRobert Elliott imply CRYPTO_XTS 10728a936efSRobert Elliott imply CRYPTO_CTR 10828a936efSRobert Elliott help 109cf514b2aSRobert Elliott Length-preserving ciphers: CAST6 (CAST-256) cipher algorithm 110cf514b2aSRobert Elliott (RFC2612) with ECB and CBC modes 11128a936efSRobert Elliott 112cf514b2aSRobert Elliott Architecture: x86_64 using: 113cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 114cf514b2aSRobert Elliott 115cf514b2aSRobert Elliott Processes eight blocks in parallel. 11628a936efSRobert Elliott 11728a936efSRobert Elliottconfig CRYPTO_DES3_EDE_X86_64 118cf514b2aSRobert Elliott tristate "Ciphers: Triple DES EDE with modes: ECB, CBC" 119*67128a90SEric Biggers depends on 64BIT 12028a936efSRobert Elliott select CRYPTO_SKCIPHER 12128a936efSRobert Elliott select CRYPTO_LIB_DES 12228a936efSRobert Elliott imply CRYPTO_CTR 12328a936efSRobert Elliott help 124cf514b2aSRobert Elliott Block cipher: Triple DES EDE (FIPS 46-3) cipher algorithm 125cf514b2aSRobert Elliott Length-preserving ciphers: Triple DES EDE with ECB and CBC modes 12628a936efSRobert Elliott 127cf514b2aSRobert Elliott Architecture: x86_64 128cf514b2aSRobert Elliott 129cf514b2aSRobert Elliott Processes one or three blocks in parallel. 13028a936efSRobert Elliott 13128a936efSRobert Elliottconfig CRYPTO_SERPENT_SSE2_X86_64 132cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (SSE2)" 133*67128a90SEric Biggers depends on 64BIT 13428a936efSRobert Elliott select CRYPTO_SKCIPHER 13528a936efSRobert Elliott select CRYPTO_SERPENT 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)" 148*67128a90SEric Biggers depends on !64BIT 14928a936efSRobert Elliott select CRYPTO_SKCIPHER 15028a936efSRobert Elliott select CRYPTO_SERPENT 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)" 163*67128a90SEric Biggers depends on 64BIT 16428a936efSRobert Elliott select CRYPTO_SKCIPHER 16528a936efSRobert Elliott select CRYPTO_SERPENT 16628a936efSRobert Elliott imply CRYPTO_XTS 16728a936efSRobert Elliott imply CRYPTO_CTR 16828a936efSRobert Elliott help 169cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 170cf514b2aSRobert Elliott with ECB and CBC modes 17128a936efSRobert Elliott 172cf514b2aSRobert Elliott Architecture: x86_64 using: 173cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 17428a936efSRobert Elliott 175cf514b2aSRobert Elliott Processes eight blocks in parallel. 17628a936efSRobert Elliott 17728a936efSRobert Elliottconfig CRYPTO_SERPENT_AVX2_X86_64 178cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (AVX2)" 179*67128a90SEric Biggers depends on 64BIT 18028a936efSRobert Elliott select CRYPTO_SERPENT_AVX_X86_64 18128a936efSRobert Elliott help 182cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 183cf514b2aSRobert Elliott with ECB and CBC modes 18428a936efSRobert Elliott 185cf514b2aSRobert Elliott Architecture: x86_64 using: 186cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 18728a936efSRobert Elliott 188cf514b2aSRobert Elliott Processes 16 blocks in parallel. 18928a936efSRobert Elliott 19028a936efSRobert Elliottconfig CRYPTO_SM4_AESNI_AVX_X86_64 19105bd1e2aSHerbert Xu tristate "Ciphers: SM4 with modes: ECB, CBC, CTR (AES-NI/AVX)" 192*67128a90SEric Biggers depends on 64BIT 19328a936efSRobert Elliott select CRYPTO_SKCIPHER 19428a936efSRobert Elliott select CRYPTO_ALGAPI 19528a936efSRobert Elliott select CRYPTO_SM4 19628a936efSRobert Elliott help 197cf514b2aSRobert Elliott Length-preserving ciphers: SM4 cipher algorithms 19805bd1e2aSHerbert Xu (OSCCA GB/T 32907-2016) with ECB, CBC, and CTR modes 19928a936efSRobert Elliott 200cf514b2aSRobert Elliott Architecture: x86_64 using: 201cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 202cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 20328a936efSRobert Elliott 204cf514b2aSRobert Elliott Through two affine transforms, 20528a936efSRobert Elliott we can use the AES S-Box to simulate the SM4 S-Box to achieve the 20628a936efSRobert Elliott effect of instruction acceleration. 20728a936efSRobert Elliott 20828a936efSRobert Elliott If unsure, say N. 20928a936efSRobert Elliott 21028a936efSRobert Elliottconfig CRYPTO_SM4_AESNI_AVX2_X86_64 21105bd1e2aSHerbert Xu tristate "Ciphers: SM4 with modes: ECB, CBC, CTR (AES-NI/AVX2)" 212*67128a90SEric Biggers depends on 64BIT 21328a936efSRobert Elliott select CRYPTO_SKCIPHER 21428a936efSRobert Elliott select CRYPTO_ALGAPI 21528a936efSRobert Elliott select CRYPTO_SM4 21628a936efSRobert Elliott select CRYPTO_SM4_AESNI_AVX_X86_64 21728a936efSRobert Elliott help 218cf514b2aSRobert Elliott Length-preserving ciphers: SM4 cipher algorithms 21905bd1e2aSHerbert Xu (OSCCA GB/T 32907-2016) with ECB, CBC, and CTR modes 22028a936efSRobert Elliott 221cf514b2aSRobert Elliott Architecture: x86_64 using: 222cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 223cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 22428a936efSRobert Elliott 225cf514b2aSRobert Elliott Through two affine transforms, 22628a936efSRobert Elliott we can use the AES S-Box to simulate the SM4 S-Box to achieve the 22728a936efSRobert Elliott effect of instruction acceleration. 22828a936efSRobert Elliott 22928a936efSRobert Elliott If unsure, say N. 23028a936efSRobert Elliott 23128a936efSRobert Elliottconfig CRYPTO_TWOFISH_586 232cf514b2aSRobert Elliott tristate "Ciphers: Twofish (32-bit)" 233*67128a90SEric Biggers depends on !64BIT 23428a936efSRobert Elliott select CRYPTO_ALGAPI 23528a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 23628a936efSRobert Elliott imply CRYPTO_CTR 23728a936efSRobert Elliott help 238cf514b2aSRobert Elliott Block cipher: Twofish cipher algorithm 23928a936efSRobert Elliott 240cf514b2aSRobert Elliott Architecture: x86 (32-bit) 24128a936efSRobert Elliott 24228a936efSRobert Elliottconfig CRYPTO_TWOFISH_X86_64 243cf514b2aSRobert Elliott tristate "Ciphers: Twofish" 244*67128a90SEric Biggers depends on 64BIT 24528a936efSRobert Elliott select CRYPTO_ALGAPI 24628a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 24728a936efSRobert Elliott imply CRYPTO_CTR 24828a936efSRobert Elliott help 249cf514b2aSRobert Elliott Block cipher: Twofish cipher algorithm 25028a936efSRobert Elliott 251cf514b2aSRobert Elliott Architecture: x86_64 25228a936efSRobert Elliott 25328a936efSRobert Elliottconfig CRYPTO_TWOFISH_X86_64_3WAY 254cf514b2aSRobert Elliott tristate "Ciphers: Twofish with modes: ECB, CBC (3-way parallel)" 255*67128a90SEric Biggers depends on 64BIT 25628a936efSRobert Elliott select CRYPTO_SKCIPHER 25728a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 25828a936efSRobert Elliott select CRYPTO_TWOFISH_X86_64 25928a936efSRobert Elliott help 260cf514b2aSRobert Elliott Length-preserving cipher: Twofish cipher algorithm 261cf514b2aSRobert Elliott with ECB and CBC modes 26228a936efSRobert Elliott 263cf514b2aSRobert Elliott Architecture: x86_64 26428a936efSRobert Elliott 265cf514b2aSRobert Elliott Processes three blocks in parallel, better utilizing resources of 266cf514b2aSRobert Elliott out-of-order CPUs. 26728a936efSRobert Elliott 26828a936efSRobert Elliottconfig CRYPTO_TWOFISH_AVX_X86_64 269cf514b2aSRobert Elliott tristate "Ciphers: Twofish with modes: ECB, CBC (AVX)" 270*67128a90SEric Biggers depends on 64BIT 27128a936efSRobert Elliott select CRYPTO_SKCIPHER 27228a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 27328a936efSRobert Elliott select CRYPTO_TWOFISH_X86_64 27428a936efSRobert Elliott select CRYPTO_TWOFISH_X86_64_3WAY 27528a936efSRobert Elliott imply CRYPTO_XTS 27628a936efSRobert Elliott help 277cf514b2aSRobert Elliott Length-preserving cipher: Twofish cipher algorithm 278cf514b2aSRobert Elliott with ECB and CBC modes 27928a936efSRobert Elliott 280cf514b2aSRobert Elliott Architecture: x86_64 using: 281cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 28228a936efSRobert Elliott 283cf514b2aSRobert Elliott Processes eight blocks in parallel. 28428a936efSRobert Elliott 285ba3579e6STaehee Yooconfig CRYPTO_ARIA_AESNI_AVX_X86_64 286ba3579e6STaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX/GFNI)" 287*67128a90SEric Biggers depends on 64BIT 288ba3579e6STaehee Yoo select CRYPTO_SKCIPHER 289ba3579e6STaehee Yoo select CRYPTO_ALGAPI 290ba3579e6STaehee Yoo select CRYPTO_ARIA 291ba3579e6STaehee Yoo help 292ba3579e6STaehee Yoo Length-preserving cipher: ARIA cipher algorithms 293ba3579e6STaehee Yoo (RFC 5794) with ECB and CTR modes 294ba3579e6STaehee Yoo 295ba3579e6STaehee Yoo Architecture: x86_64 using: 296ba3579e6STaehee Yoo - AES-NI (AES New Instructions) 297ba3579e6STaehee Yoo - AVX (Advanced Vector Extensions) 298ba3579e6STaehee Yoo - GFNI (Galois Field New Instructions) 299ba3579e6STaehee Yoo 300ba3579e6STaehee Yoo Processes 16 blocks in parallel. 301ba3579e6STaehee Yoo 30237d8d3aeSTaehee Yooconfig CRYPTO_ARIA_AESNI_AVX2_X86_64 30337d8d3aeSTaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX2/GFNI)" 304*67128a90SEric Biggers depends on 64BIT 30537d8d3aeSTaehee Yoo select CRYPTO_SKCIPHER 30637d8d3aeSTaehee Yoo select CRYPTO_ALGAPI 30737d8d3aeSTaehee Yoo select CRYPTO_ARIA 30837d8d3aeSTaehee Yoo select CRYPTO_ARIA_AESNI_AVX_X86_64 30937d8d3aeSTaehee Yoo help 31037d8d3aeSTaehee Yoo Length-preserving cipher: ARIA cipher algorithms 31137d8d3aeSTaehee Yoo (RFC 5794) with ECB and CTR modes 31237d8d3aeSTaehee Yoo 31337d8d3aeSTaehee Yoo Architecture: x86_64 using: 31437d8d3aeSTaehee Yoo - AES-NI (AES New Instructions) 31537d8d3aeSTaehee Yoo - AVX2 (Advanced Vector Extensions) 31637d8d3aeSTaehee Yoo - GFNI (Galois Field New Instructions) 31737d8d3aeSTaehee Yoo 31837d8d3aeSTaehee Yoo Processes 32 blocks in parallel. 31937d8d3aeSTaehee Yoo 320c970d420STaehee Yooconfig CRYPTO_ARIA_GFNI_AVX512_X86_64 321c970d420STaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AVX512/GFNI)" 322*67128a90SEric Biggers depends on 64BIT && AS_GFNI 323c970d420STaehee Yoo select CRYPTO_SKCIPHER 324c970d420STaehee Yoo select CRYPTO_ALGAPI 325c970d420STaehee Yoo select CRYPTO_ARIA 326c970d420STaehee Yoo select CRYPTO_ARIA_AESNI_AVX_X86_64 327c970d420STaehee Yoo select CRYPTO_ARIA_AESNI_AVX2_X86_64 328c970d420STaehee Yoo help 329c970d420STaehee Yoo Length-preserving cipher: ARIA cipher algorithms 330c970d420STaehee Yoo (RFC 5794) with ECB and CTR modes 331c970d420STaehee Yoo 332c970d420STaehee Yoo Architecture: x86_64 using: 333c970d420STaehee Yoo - AVX512 (Advanced Vector Extensions) 334c970d420STaehee Yoo - GFNI (Galois Field New Instructions) 335c970d420STaehee Yoo 336c970d420STaehee Yoo Processes 64 blocks in parallel. 337c970d420STaehee Yoo 33828a936efSRobert Elliottconfig CRYPTO_AEGIS128_AESNI_SSE2 339af2aff7cSEric Biggers tristate "AEAD ciphers: AEGIS-128 (AES-NI/SSE4.1)" 340*67128a90SEric Biggers depends on 64BIT 34128a936efSRobert Elliott select CRYPTO_AEAD 34228a936efSRobert Elliott help 343e3d2eaddSRobert Elliott AEGIS-128 AEAD algorithm 344e3d2eaddSRobert Elliott 345e3d2eaddSRobert Elliott Architecture: x86_64 using: 346e3d2eaddSRobert Elliott - AES-NI (AES New Instructions) 347af2aff7cSEric Biggers - SSE4.1 (Streaming SIMD Extensions 4.1) 34828a936efSRobert Elliott 34928a936efSRobert Elliottconfig CRYPTO_NHPOLY1305_SSE2 3503f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (SSE2)" 351*67128a90SEric Biggers depends on 64BIT 35228a936efSRobert Elliott select CRYPTO_NHPOLY1305 35328a936efSRobert Elliott help 3543f342a23SRobert Elliott NHPoly1305 hash function for Adiantum 3553f342a23SRobert Elliott 3563f342a23SRobert Elliott Architecture: x86_64 using: 3573f342a23SRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 35828a936efSRobert Elliott 35928a936efSRobert Elliottconfig CRYPTO_NHPOLY1305_AVX2 3603f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (AVX2)" 361*67128a90SEric Biggers depends on 64BIT 36228a936efSRobert Elliott select CRYPTO_NHPOLY1305 36328a936efSRobert Elliott help 3643f342a23SRobert Elliott NHPoly1305 hash function for Adiantum 3653f342a23SRobert Elliott 3663f342a23SRobert Elliott Architecture: x86_64 using: 3673f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 36828a936efSRobert Elliott 36928a936efSRobert Elliottconfig CRYPTO_POLYVAL_CLMUL_NI 3703f342a23SRobert Elliott tristate "Hash functions: POLYVAL (CLMUL-NI)" 371*67128a90SEric Biggers depends on 64BIT 37228a936efSRobert Elliott select CRYPTO_POLYVAL 37328a936efSRobert Elliott help 3743f342a23SRobert Elliott POLYVAL hash function for HCTR2 3753f342a23SRobert Elliott 3763f342a23SRobert Elliott Architecture: x86_64 using: 3773f342a23SRobert Elliott - CLMUL-NI (carry-less multiplication new instructions) 37828a936efSRobert Elliott 37928a936efSRobert Elliottconfig CRYPTO_SM3_AVX_X86_64 3803f342a23SRobert Elliott tristate "Hash functions: SM3 (AVX)" 381*67128a90SEric Biggers depends on 64BIT 38228a936efSRobert Elliott select CRYPTO_HASH 383f4065b2fSHerbert Xu select CRYPTO_LIB_SM3 38428a936efSRobert Elliott help 3853f342a23SRobert Elliott SM3 secure hash function as defined by OSCCA GM/T 0004-2012 SM3 3863f342a23SRobert Elliott 3873f342a23SRobert Elliott Architecture: x86_64 using: 3883f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 38928a936efSRobert Elliott 39028a936efSRobert Elliott If unsure, say N. 39128a936efSRobert Elliott 39228a936efSRobert Elliottconfig CRYPTO_GHASH_CLMUL_NI_INTEL 3933f342a23SRobert Elliott tristate "Hash functions: GHASH (CLMUL-NI)" 394*67128a90SEric Biggers depends on 64BIT 39528a936efSRobert Elliott select CRYPTO_CRYPTD 39628a936efSRobert Elliott help 3973f342a23SRobert Elliott GCM GHASH hash function (NIST SP800-38D) 3983f342a23SRobert Elliott 3993f342a23SRobert Elliott Architecture: x86_64 using: 4003f342a23SRobert Elliott - CLMUL-NI (carry-less multiplication new instructions) 40128a936efSRobert Elliott 40228a936efSRobert Elliottendmenu 403