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 6*17ec3e71SHerbert Xu tristate 728a936efSRobert Elliott depends on X86 && 64BIT 8*17ec3e71SHerbert Xu select CRYPTO_KPP 928a936efSRobert Elliott select CRYPTO_LIB_CURVE25519_GENERIC 10*17ec3e71SHerbert Xu select CRYPTO_ARCH_HAVE_LIB_CURVE25519 11*17ec3e71SHerbert 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 depends on X86 2128a936efSRobert Elliott select CRYPTO_AEAD 2228a936efSRobert Elliott select CRYPTO_LIB_AES 23b06affb1SEric Biggers select CRYPTO_LIB_GF128MUL 2428a936efSRobert Elliott select CRYPTO_ALGAPI 2528a936efSRobert Elliott select CRYPTO_SKCIPHER 2628a936efSRobert Elliott select CRYPTO_SIMD 2728a936efSRobert Elliott help 28cf514b2aSRobert Elliott Block cipher: AES cipher algorithms 29cf514b2aSRobert Elliott AEAD cipher: AES with GCM 30c299d7afSEric Biggers Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XCTR, XTS 3128a936efSRobert Elliott 32cf514b2aSRobert Elliott Architecture: x86 (32-bit and 64-bit) using: 33cf514b2aSRobert Elliott - AES-NI (AES new instructions) 34c299d7afSEric Biggers - VAES (Vector AES) 35c299d7afSEric Biggers 36c299d7afSEric Biggers Some algorithm implementations are supported only in 64-bit builds, 37c299d7afSEric Biggers and some have additional prerequisites such as AVX2 or AVX512. 3828a936efSRobert Elliott 3928a936efSRobert Elliottconfig CRYPTO_BLOWFISH_X86_64 40cf514b2aSRobert Elliott tristate "Ciphers: Blowfish, modes: ECB, CBC" 4128a936efSRobert Elliott depends on X86 && 64BIT 4228a936efSRobert Elliott select CRYPTO_SKCIPHER 4328a936efSRobert Elliott select CRYPTO_BLOWFISH_COMMON 4428a936efSRobert Elliott imply CRYPTO_CTR 4528a936efSRobert Elliott help 46cf514b2aSRobert Elliott Block cipher: Blowfish cipher algorithm 47cf514b2aSRobert Elliott Length-preserving ciphers: Blowfish with ECB and CBC modes 4828a936efSRobert Elliott 49cf514b2aSRobert Elliott Architecture: x86_64 5028a936efSRobert Elliott 5128a936efSRobert Elliottconfig CRYPTO_CAMELLIA_X86_64 52cf514b2aSRobert Elliott tristate "Ciphers: Camellia with modes: ECB, CBC" 5328a936efSRobert Elliott depends on X86 && 64BIT 5428a936efSRobert Elliott select CRYPTO_SKCIPHER 5528a936efSRobert Elliott imply CRYPTO_CTR 5628a936efSRobert Elliott help 57cf514b2aSRobert Elliott Block cipher: Camellia cipher algorithms 58cf514b2aSRobert Elliott Length-preserving ciphers: Camellia with ECB and CBC modes 5928a936efSRobert Elliott 60cf514b2aSRobert Elliott Architecture: x86_64 6128a936efSRobert Elliott 6228a936efSRobert Elliottconfig CRYPTO_CAMELLIA_AESNI_AVX_X86_64 63cf514b2aSRobert Elliott tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX)" 6428a936efSRobert Elliott depends on X86 && 64BIT 6528a936efSRobert Elliott select CRYPTO_SKCIPHER 6628a936efSRobert Elliott select CRYPTO_CAMELLIA_X86_64 6728a936efSRobert Elliott select CRYPTO_SIMD 6828a936efSRobert Elliott imply CRYPTO_XTS 6928a936efSRobert Elliott help 70cf514b2aSRobert Elliott Length-preserving ciphers: Camellia with ECB and CBC modes 7128a936efSRobert Elliott 72cf514b2aSRobert Elliott Architecture: x86_64 using: 73cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 74cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 7528a936efSRobert Elliott 7628a936efSRobert Elliottconfig CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 77cf514b2aSRobert Elliott tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX2)" 7828a936efSRobert Elliott depends on X86 && 64BIT 7928a936efSRobert Elliott select CRYPTO_CAMELLIA_AESNI_AVX_X86_64 8028a936efSRobert Elliott help 81cf514b2aSRobert Elliott Length-preserving ciphers: Camellia with ECB and CBC modes 8228a936efSRobert Elliott 83cf514b2aSRobert Elliott Architecture: x86_64 using: 84cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 85cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 8628a936efSRobert Elliott 8728a936efSRobert Elliottconfig CRYPTO_CAST5_AVX_X86_64 88cf514b2aSRobert Elliott tristate "Ciphers: CAST5 with modes: ECB, CBC (AVX)" 8928a936efSRobert Elliott depends on X86 && 64BIT 9028a936efSRobert Elliott select CRYPTO_SKCIPHER 9128a936efSRobert Elliott select CRYPTO_CAST5 9228a936efSRobert Elliott select CRYPTO_CAST_COMMON 9328a936efSRobert Elliott select CRYPTO_SIMD 9428a936efSRobert Elliott imply CRYPTO_CTR 9528a936efSRobert Elliott help 96cf514b2aSRobert Elliott Length-preserving ciphers: CAST5 (CAST-128) cipher algorithm 97cf514b2aSRobert Elliott (RFC2144) with ECB and CBC modes 9828a936efSRobert Elliott 99cf514b2aSRobert Elliott Architecture: x86_64 using: 100cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 101cf514b2aSRobert Elliott 102cf514b2aSRobert Elliott Processes 16 blocks in parallel. 10328a936efSRobert Elliott 10428a936efSRobert Elliottconfig CRYPTO_CAST6_AVX_X86_64 105cf514b2aSRobert Elliott tristate "Ciphers: CAST6 with modes: ECB, CBC (AVX)" 10628a936efSRobert Elliott depends on X86 && 64BIT 10728a936efSRobert Elliott select CRYPTO_SKCIPHER 10828a936efSRobert Elliott select CRYPTO_CAST6 10928a936efSRobert Elliott select CRYPTO_CAST_COMMON 11028a936efSRobert Elliott select CRYPTO_SIMD 11128a936efSRobert Elliott imply CRYPTO_XTS 11228a936efSRobert Elliott imply CRYPTO_CTR 11328a936efSRobert Elliott help 114cf514b2aSRobert Elliott Length-preserving ciphers: CAST6 (CAST-256) cipher algorithm 115cf514b2aSRobert Elliott (RFC2612) with ECB and CBC modes 11628a936efSRobert Elliott 117cf514b2aSRobert Elliott Architecture: x86_64 using: 118cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 119cf514b2aSRobert Elliott 120cf514b2aSRobert Elliott Processes eight blocks in parallel. 12128a936efSRobert Elliott 12228a936efSRobert Elliottconfig CRYPTO_DES3_EDE_X86_64 123cf514b2aSRobert Elliott tristate "Ciphers: Triple DES EDE with modes: ECB, CBC" 12428a936efSRobert Elliott depends on X86 && 64BIT 12528a936efSRobert Elliott select CRYPTO_SKCIPHER 12628a936efSRobert Elliott select CRYPTO_LIB_DES 12728a936efSRobert Elliott imply CRYPTO_CTR 12828a936efSRobert Elliott help 129cf514b2aSRobert Elliott Block cipher: Triple DES EDE (FIPS 46-3) cipher algorithm 130cf514b2aSRobert Elliott Length-preserving ciphers: Triple DES EDE with ECB and CBC modes 13128a936efSRobert Elliott 132cf514b2aSRobert Elliott Architecture: x86_64 133cf514b2aSRobert Elliott 134cf514b2aSRobert Elliott Processes one or three blocks in parallel. 13528a936efSRobert Elliott 13628a936efSRobert Elliottconfig CRYPTO_SERPENT_SSE2_X86_64 137cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (SSE2)" 13828a936efSRobert Elliott depends on X86 && 64BIT 13928a936efSRobert Elliott select CRYPTO_SKCIPHER 14028a936efSRobert Elliott select CRYPTO_SERPENT 14128a936efSRobert Elliott select CRYPTO_SIMD 14228a936efSRobert Elliott imply CRYPTO_CTR 14328a936efSRobert Elliott help 144cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 145cf514b2aSRobert Elliott with ECB and CBC modes 14628a936efSRobert Elliott 147cf514b2aSRobert Elliott Architecture: x86_64 using: 148cf514b2aSRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 14928a936efSRobert Elliott 150cf514b2aSRobert Elliott Processes eight blocks in parallel. 15128a936efSRobert Elliott 15228a936efSRobert Elliottconfig CRYPTO_SERPENT_SSE2_586 153cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (32-bit with SSE2)" 15428a936efSRobert Elliott depends on X86 && !64BIT 15528a936efSRobert Elliott select CRYPTO_SKCIPHER 15628a936efSRobert Elliott select CRYPTO_SERPENT 15728a936efSRobert Elliott select CRYPTO_SIMD 15828a936efSRobert Elliott imply CRYPTO_CTR 15928a936efSRobert Elliott help 160cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 161cf514b2aSRobert Elliott with ECB and CBC modes 16228a936efSRobert Elliott 163cf514b2aSRobert Elliott Architecture: x86 (32-bit) using: 164cf514b2aSRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 16528a936efSRobert Elliott 166cf514b2aSRobert Elliott Processes four blocks in parallel. 16728a936efSRobert Elliott 16828a936efSRobert Elliottconfig CRYPTO_SERPENT_AVX_X86_64 169cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (AVX)" 17028a936efSRobert Elliott depends on X86 && 64BIT 17128a936efSRobert Elliott select CRYPTO_SKCIPHER 17228a936efSRobert Elliott select CRYPTO_SERPENT 17328a936efSRobert Elliott select CRYPTO_SIMD 17428a936efSRobert Elliott imply CRYPTO_XTS 17528a936efSRobert Elliott imply CRYPTO_CTR 17628a936efSRobert Elliott help 177cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 178cf514b2aSRobert Elliott with ECB and CBC modes 17928a936efSRobert Elliott 180cf514b2aSRobert Elliott Architecture: x86_64 using: 181cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 18228a936efSRobert Elliott 183cf514b2aSRobert Elliott Processes eight blocks in parallel. 18428a936efSRobert Elliott 18528a936efSRobert Elliottconfig CRYPTO_SERPENT_AVX2_X86_64 186cf514b2aSRobert Elliott tristate "Ciphers: Serpent with modes: ECB, CBC (AVX2)" 18728a936efSRobert Elliott depends on X86 && 64BIT 18828a936efSRobert Elliott select CRYPTO_SERPENT_AVX_X86_64 18928a936efSRobert Elliott help 190cf514b2aSRobert Elliott Length-preserving ciphers: Serpent cipher algorithm 191cf514b2aSRobert Elliott with ECB and CBC modes 19228a936efSRobert Elliott 193cf514b2aSRobert Elliott Architecture: x86_64 using: 194cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 19528a936efSRobert Elliott 196cf514b2aSRobert Elliott Processes 16 blocks in parallel. 19728a936efSRobert Elliott 19828a936efSRobert Elliottconfig CRYPTO_SM4_AESNI_AVX_X86_64 19905bd1e2aSHerbert Xu tristate "Ciphers: SM4 with modes: ECB, CBC, CTR (AES-NI/AVX)" 20028a936efSRobert Elliott depends on X86 && 64BIT 20128a936efSRobert Elliott select CRYPTO_SKCIPHER 20228a936efSRobert Elliott select CRYPTO_SIMD 20328a936efSRobert Elliott select CRYPTO_ALGAPI 20428a936efSRobert Elliott select CRYPTO_SM4 20528a936efSRobert Elliott help 206cf514b2aSRobert Elliott Length-preserving ciphers: SM4 cipher algorithms 20705bd1e2aSHerbert Xu (OSCCA GB/T 32907-2016) with ECB, CBC, and CTR modes 20828a936efSRobert Elliott 209cf514b2aSRobert Elliott Architecture: x86_64 using: 210cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 211cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 21228a936efSRobert Elliott 213cf514b2aSRobert Elliott Through two affine transforms, 21428a936efSRobert Elliott we can use the AES S-Box to simulate the SM4 S-Box to achieve the 21528a936efSRobert Elliott effect of instruction acceleration. 21628a936efSRobert Elliott 21728a936efSRobert Elliott If unsure, say N. 21828a936efSRobert Elliott 21928a936efSRobert Elliottconfig CRYPTO_SM4_AESNI_AVX2_X86_64 22005bd1e2aSHerbert Xu tristate "Ciphers: SM4 with modes: ECB, CBC, CTR (AES-NI/AVX2)" 22128a936efSRobert Elliott depends on X86 && 64BIT 22228a936efSRobert Elliott select CRYPTO_SKCIPHER 22328a936efSRobert Elliott select CRYPTO_SIMD 22428a936efSRobert Elliott select CRYPTO_ALGAPI 22528a936efSRobert Elliott select CRYPTO_SM4 22628a936efSRobert Elliott select CRYPTO_SM4_AESNI_AVX_X86_64 22728a936efSRobert Elliott help 228cf514b2aSRobert Elliott Length-preserving ciphers: SM4 cipher algorithms 22905bd1e2aSHerbert Xu (OSCCA GB/T 32907-2016) with ECB, CBC, and CTR modes 23028a936efSRobert Elliott 231cf514b2aSRobert Elliott Architecture: x86_64 using: 232cf514b2aSRobert Elliott - AES-NI (AES New Instructions) 233cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 23428a936efSRobert Elliott 235cf514b2aSRobert Elliott Through two affine transforms, 23628a936efSRobert Elliott we can use the AES S-Box to simulate the SM4 S-Box to achieve the 23728a936efSRobert Elliott effect of instruction acceleration. 23828a936efSRobert Elliott 23928a936efSRobert Elliott If unsure, say N. 24028a936efSRobert Elliott 24128a936efSRobert Elliottconfig CRYPTO_TWOFISH_586 242cf514b2aSRobert Elliott tristate "Ciphers: Twofish (32-bit)" 24328a936efSRobert Elliott depends on (X86 || UML_X86) && !64BIT 24428a936efSRobert Elliott select CRYPTO_ALGAPI 24528a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 24628a936efSRobert Elliott imply CRYPTO_CTR 24728a936efSRobert Elliott help 248cf514b2aSRobert Elliott Block cipher: Twofish cipher algorithm 24928a936efSRobert Elliott 250cf514b2aSRobert Elliott Architecture: x86 (32-bit) 25128a936efSRobert Elliott 25228a936efSRobert Elliottconfig CRYPTO_TWOFISH_X86_64 253cf514b2aSRobert Elliott tristate "Ciphers: Twofish" 25428a936efSRobert Elliott depends on (X86 || UML_X86) && 64BIT 25528a936efSRobert Elliott select CRYPTO_ALGAPI 25628a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 25728a936efSRobert Elliott imply CRYPTO_CTR 25828a936efSRobert Elliott help 259cf514b2aSRobert Elliott Block cipher: Twofish cipher algorithm 26028a936efSRobert Elliott 261cf514b2aSRobert Elliott Architecture: x86_64 26228a936efSRobert Elliott 26328a936efSRobert Elliottconfig CRYPTO_TWOFISH_X86_64_3WAY 264cf514b2aSRobert Elliott tristate "Ciphers: Twofish with modes: ECB, CBC (3-way parallel)" 26528a936efSRobert Elliott depends on X86 && 64BIT 26628a936efSRobert Elliott select CRYPTO_SKCIPHER 26728a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 26828a936efSRobert Elliott select CRYPTO_TWOFISH_X86_64 26928a936efSRobert Elliott help 270cf514b2aSRobert Elliott Length-preserving cipher: Twofish cipher algorithm 271cf514b2aSRobert Elliott with ECB and CBC modes 27228a936efSRobert Elliott 273cf514b2aSRobert Elliott Architecture: x86_64 27428a936efSRobert Elliott 275cf514b2aSRobert Elliott Processes three blocks in parallel, better utilizing resources of 276cf514b2aSRobert Elliott out-of-order CPUs. 27728a936efSRobert Elliott 27828a936efSRobert Elliottconfig CRYPTO_TWOFISH_AVX_X86_64 279cf514b2aSRobert Elliott tristate "Ciphers: Twofish with modes: ECB, CBC (AVX)" 28028a936efSRobert Elliott depends on X86 && 64BIT 28128a936efSRobert Elliott select CRYPTO_SKCIPHER 28228a936efSRobert Elliott select CRYPTO_SIMD 28328a936efSRobert Elliott select CRYPTO_TWOFISH_COMMON 28428a936efSRobert Elliott select CRYPTO_TWOFISH_X86_64 28528a936efSRobert Elliott select CRYPTO_TWOFISH_X86_64_3WAY 28628a936efSRobert Elliott imply CRYPTO_XTS 28728a936efSRobert Elliott help 288cf514b2aSRobert Elliott Length-preserving cipher: Twofish cipher algorithm 289cf514b2aSRobert Elliott with ECB and CBC modes 29028a936efSRobert Elliott 291cf514b2aSRobert Elliott Architecture: x86_64 using: 292cf514b2aSRobert Elliott - AVX (Advanced Vector Extensions) 29328a936efSRobert Elliott 294cf514b2aSRobert Elliott Processes eight blocks in parallel. 29528a936efSRobert Elliott 296ba3579e6STaehee Yooconfig CRYPTO_ARIA_AESNI_AVX_X86_64 297ba3579e6STaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX/GFNI)" 298ba3579e6STaehee Yoo depends on X86 && 64BIT 299ba3579e6STaehee Yoo select CRYPTO_SKCIPHER 300ba3579e6STaehee Yoo select CRYPTO_SIMD 301ba3579e6STaehee Yoo select CRYPTO_ALGAPI 302ba3579e6STaehee Yoo select CRYPTO_ARIA 303ba3579e6STaehee Yoo help 304ba3579e6STaehee Yoo Length-preserving cipher: ARIA cipher algorithms 305ba3579e6STaehee Yoo (RFC 5794) with ECB and CTR modes 306ba3579e6STaehee Yoo 307ba3579e6STaehee Yoo Architecture: x86_64 using: 308ba3579e6STaehee Yoo - AES-NI (AES New Instructions) 309ba3579e6STaehee Yoo - AVX (Advanced Vector Extensions) 310ba3579e6STaehee Yoo - GFNI (Galois Field New Instructions) 311ba3579e6STaehee Yoo 312ba3579e6STaehee Yoo Processes 16 blocks in parallel. 313ba3579e6STaehee Yoo 31437d8d3aeSTaehee Yooconfig CRYPTO_ARIA_AESNI_AVX2_X86_64 31537d8d3aeSTaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX2/GFNI)" 31637d8d3aeSTaehee Yoo depends on X86 && 64BIT 31737d8d3aeSTaehee Yoo select CRYPTO_SKCIPHER 31837d8d3aeSTaehee Yoo select CRYPTO_SIMD 31937d8d3aeSTaehee Yoo select CRYPTO_ALGAPI 32037d8d3aeSTaehee Yoo select CRYPTO_ARIA 32137d8d3aeSTaehee Yoo select CRYPTO_ARIA_AESNI_AVX_X86_64 32237d8d3aeSTaehee Yoo help 32337d8d3aeSTaehee Yoo Length-preserving cipher: ARIA cipher algorithms 32437d8d3aeSTaehee Yoo (RFC 5794) with ECB and CTR modes 32537d8d3aeSTaehee Yoo 32637d8d3aeSTaehee Yoo Architecture: x86_64 using: 32737d8d3aeSTaehee Yoo - AES-NI (AES New Instructions) 32837d8d3aeSTaehee Yoo - AVX2 (Advanced Vector Extensions) 32937d8d3aeSTaehee Yoo - GFNI (Galois Field New Instructions) 33037d8d3aeSTaehee Yoo 33137d8d3aeSTaehee Yoo Processes 32 blocks in parallel. 33237d8d3aeSTaehee Yoo 333c970d420STaehee Yooconfig CRYPTO_ARIA_GFNI_AVX512_X86_64 334c970d420STaehee Yoo tristate "Ciphers: ARIA with modes: ECB, CTR (AVX512/GFNI)" 335d6b7ec11STaehee Yoo depends on X86 && 64BIT && AS_AVX512 && AS_GFNI 336c970d420STaehee Yoo select CRYPTO_SKCIPHER 337c970d420STaehee Yoo select CRYPTO_SIMD 338c970d420STaehee Yoo select CRYPTO_ALGAPI 339c970d420STaehee Yoo select CRYPTO_ARIA 340c970d420STaehee Yoo select CRYPTO_ARIA_AESNI_AVX_X86_64 341c970d420STaehee Yoo select CRYPTO_ARIA_AESNI_AVX2_X86_64 342c970d420STaehee Yoo help 343c970d420STaehee Yoo Length-preserving cipher: ARIA cipher algorithms 344c970d420STaehee Yoo (RFC 5794) with ECB and CTR modes 345c970d420STaehee Yoo 346c970d420STaehee Yoo Architecture: x86_64 using: 347c970d420STaehee Yoo - AVX512 (Advanced Vector Extensions) 348c970d420STaehee Yoo - GFNI (Galois Field New Instructions) 349c970d420STaehee Yoo 350c970d420STaehee Yoo Processes 64 blocks in parallel. 351c970d420STaehee Yoo 35228a936efSRobert Elliottconfig CRYPTO_CHACHA20_X86_64 353*17ec3e71SHerbert Xu tristate 35428a936efSRobert Elliott depends on X86 && 64BIT 35528a936efSRobert Elliott select CRYPTO_SKCIPHER 35628a936efSRobert Elliott select CRYPTO_LIB_CHACHA_GENERIC 357*17ec3e71SHerbert Xu select CRYPTO_ARCH_HAVE_LIB_CHACHA 358*17ec3e71SHerbert Xu default CRYPTO_LIB_CHACHA_INTERNAL 35928a936efSRobert Elliott help 360cf514b2aSRobert Elliott Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 361cf514b2aSRobert Elliott stream cipher algorithms 362cf514b2aSRobert Elliott 363cf514b2aSRobert Elliott Architecture: x86_64 using: 364cf514b2aSRobert Elliott - SSSE3 (Supplemental SSE3) 365cf514b2aSRobert Elliott - AVX2 (Advanced Vector Extensions 2) 366cf514b2aSRobert Elliott - AVX-512VL (Advanced Vector Extensions-512VL) 36728a936efSRobert Elliott 36828a936efSRobert Elliottconfig CRYPTO_AEGIS128_AESNI_SSE2 369af2aff7cSEric Biggers tristate "AEAD ciphers: AEGIS-128 (AES-NI/SSE4.1)" 37028a936efSRobert Elliott depends on X86 && 64BIT 37128a936efSRobert Elliott select CRYPTO_AEAD 37228a936efSRobert Elliott select CRYPTO_SIMD 37328a936efSRobert Elliott help 374e3d2eaddSRobert Elliott AEGIS-128 AEAD algorithm 375e3d2eaddSRobert Elliott 376e3d2eaddSRobert Elliott Architecture: x86_64 using: 377e3d2eaddSRobert Elliott - AES-NI (AES New Instructions) 378af2aff7cSEric Biggers - SSE4.1 (Streaming SIMD Extensions 4.1) 37928a936efSRobert Elliott 38028a936efSRobert Elliottconfig CRYPTO_NHPOLY1305_SSE2 3813f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (SSE2)" 38228a936efSRobert Elliott depends on X86 && 64BIT 38328a936efSRobert Elliott select CRYPTO_NHPOLY1305 38428a936efSRobert Elliott help 3853f342a23SRobert Elliott NHPoly1305 hash function for Adiantum 3863f342a23SRobert Elliott 3873f342a23SRobert Elliott Architecture: x86_64 using: 3883f342a23SRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 38928a936efSRobert Elliott 39028a936efSRobert Elliottconfig CRYPTO_NHPOLY1305_AVX2 3913f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (AVX2)" 39228a936efSRobert Elliott depends on X86 && 64BIT 39328a936efSRobert Elliott select CRYPTO_NHPOLY1305 39428a936efSRobert Elliott help 3953f342a23SRobert Elliott NHPoly1305 hash function for Adiantum 3963f342a23SRobert Elliott 3973f342a23SRobert Elliott Architecture: x86_64 using: 3983f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 39928a936efSRobert Elliott 40028a936efSRobert Elliottconfig CRYPTO_BLAKE2S_X86 4013f342a23SRobert Elliott bool "Hash functions: BLAKE2s (SSSE3/AVX-512)" 40228a936efSRobert Elliott depends on X86 && 64BIT 40328a936efSRobert Elliott select CRYPTO_LIB_BLAKE2S_GENERIC 40428a936efSRobert Elliott select CRYPTO_ARCH_HAVE_LIB_BLAKE2S 4053f342a23SRobert Elliott help 4063f342a23SRobert Elliott BLAKE2s cryptographic hash function (RFC 7693) 4073f342a23SRobert Elliott 4083f342a23SRobert Elliott Architecture: x86_64 using: 4093f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4103f342a23SRobert Elliott - AVX-512 (Advanced Vector Extensions-512) 41128a936efSRobert Elliott 41228a936efSRobert Elliottconfig CRYPTO_POLYVAL_CLMUL_NI 4133f342a23SRobert Elliott tristate "Hash functions: POLYVAL (CLMUL-NI)" 41428a936efSRobert Elliott depends on X86 && 64BIT 41528a936efSRobert Elliott select CRYPTO_POLYVAL 41628a936efSRobert Elliott help 4173f342a23SRobert Elliott POLYVAL hash function for HCTR2 4183f342a23SRobert Elliott 4193f342a23SRobert Elliott Architecture: x86_64 using: 4203f342a23SRobert Elliott - CLMUL-NI (carry-less multiplication new instructions) 42128a936efSRobert Elliott 42228a936efSRobert Elliottconfig CRYPTO_POLY1305_X86_64 423*17ec3e71SHerbert Xu tristate 42428a936efSRobert Elliott depends on X86 && 64BIT 425*17ec3e71SHerbert Xu select CRYPTO_HASH 42628a936efSRobert Elliott select CRYPTO_LIB_POLY1305_GENERIC 427*17ec3e71SHerbert Xu select CRYPTO_ARCH_HAVE_LIB_POLY1305 428*17ec3e71SHerbert Xu default CRYPTO_LIB_POLY1305_INTERNAL 42928a936efSRobert Elliott help 4303f342a23SRobert Elliott Poly1305 authenticator algorithm (RFC7539) 43128a936efSRobert Elliott 4323f342a23SRobert Elliott Architecture: x86_64 using: 4333f342a23SRobert Elliott - SSE2 (Streaming SIMD Extensions 2) 4343f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 43528a936efSRobert Elliott 43628a936efSRobert Elliottconfig CRYPTO_SHA1_SSSE3 4373f342a23SRobert Elliott tristate "Hash functions: SHA-1 (SSSE3/AVX/AVX2/SHA-NI)" 43828a936efSRobert Elliott depends on X86 && 64BIT 43928a936efSRobert Elliott select CRYPTO_SHA1 44028a936efSRobert Elliott select CRYPTO_HASH 44128a936efSRobert Elliott help 4423f342a23SRobert Elliott SHA-1 secure hash algorithm (FIPS 180) 4433f342a23SRobert Elliott 4443f342a23SRobert Elliott Architecture: x86_64 using: 4453f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4463f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4473f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 4483f342a23SRobert Elliott - SHA-NI (SHA Extensions New Instructions) 44928a936efSRobert Elliott 45028a936efSRobert Elliottconfig CRYPTO_SHA256_SSSE3 4513f342a23SRobert Elliott tristate "Hash functions: SHA-224 and SHA-256 (SSSE3/AVX/AVX2/SHA-NI)" 45228a936efSRobert Elliott depends on X86 && 64BIT 45328a936efSRobert Elliott select CRYPTO_SHA256 45428a936efSRobert Elliott select CRYPTO_HASH 45528a936efSRobert Elliott help 4563f342a23SRobert Elliott SHA-224 and SHA-256 secure hash algorithms (FIPS 180) 4573f342a23SRobert Elliott 4583f342a23SRobert Elliott Architecture: x86_64 using: 4593f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4603f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4613f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 4623f342a23SRobert Elliott - SHA-NI (SHA Extensions New Instructions) 46328a936efSRobert Elliott 46428a936efSRobert Elliottconfig CRYPTO_SHA512_SSSE3 4653f342a23SRobert Elliott tristate "Hash functions: SHA-384 and SHA-512 (SSSE3/AVX/AVX2)" 46628a936efSRobert Elliott depends on X86 && 64BIT 46728a936efSRobert Elliott select CRYPTO_SHA512 46828a936efSRobert Elliott select CRYPTO_HASH 46928a936efSRobert Elliott help 4703f342a23SRobert Elliott SHA-384 and SHA-512 secure hash algorithms (FIPS 180) 4713f342a23SRobert Elliott 4723f342a23SRobert Elliott Architecture: x86_64 using: 4733f342a23SRobert Elliott - SSSE3 (Supplemental SSE3) 4743f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 4753f342a23SRobert Elliott - AVX2 (Advanced Vector Extensions 2) 47628a936efSRobert Elliott 47728a936efSRobert Elliottconfig CRYPTO_SM3_AVX_X86_64 4783f342a23SRobert Elliott tristate "Hash functions: SM3 (AVX)" 47928a936efSRobert Elliott depends on X86 && 64BIT 48028a936efSRobert Elliott select CRYPTO_HASH 48128a936efSRobert Elliott select CRYPTO_SM3 48228a936efSRobert Elliott help 4833f342a23SRobert Elliott SM3 secure hash function as defined by OSCCA GM/T 0004-2012 SM3 4843f342a23SRobert Elliott 4853f342a23SRobert Elliott Architecture: x86_64 using: 4863f342a23SRobert Elliott - AVX (Advanced Vector Extensions) 48728a936efSRobert Elliott 48828a936efSRobert Elliott If unsure, say N. 48928a936efSRobert Elliott 49028a936efSRobert Elliottconfig CRYPTO_GHASH_CLMUL_NI_INTEL 4913f342a23SRobert Elliott tristate "Hash functions: GHASH (CLMUL-NI)" 49228a936efSRobert Elliott depends on X86 && 64BIT 49328a936efSRobert Elliott select CRYPTO_CRYPTD 49428a936efSRobert Elliott help 4953f342a23SRobert Elliott GCM GHASH hash function (NIST SP800-38D) 4963f342a23SRobert Elliott 4973f342a23SRobert Elliott Architecture: x86_64 using: 4983f342a23SRobert Elliott - CLMUL-NI (carry-less multiplication new instructions) 49928a936efSRobert Elliott 50028a936efSRobert Elliottendmenu 501