162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci 362306a36Sopenharmony_cimenu "Accelerated Cryptographic Algorithms for CPU (x86)" 462306a36Sopenharmony_ci 562306a36Sopenharmony_ciconfig CRYPTO_CURVE25519_X86 662306a36Sopenharmony_ci tristate "Public key crypto: Curve25519 (ADX)" 762306a36Sopenharmony_ci depends on X86 && 64BIT 862306a36Sopenharmony_ci select CRYPTO_LIB_CURVE25519_GENERIC 962306a36Sopenharmony_ci select CRYPTO_ARCH_HAVE_LIB_CURVE25519 1062306a36Sopenharmony_ci help 1162306a36Sopenharmony_ci Curve25519 algorithm 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci Architecture: x86_64 using: 1462306a36Sopenharmony_ci - ADX (large integer arithmetic) 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciconfig CRYPTO_AES_NI_INTEL 1762306a36Sopenharmony_ci tristate "Ciphers: AES, modes: ECB, CBC, CTS, CTR, XTR, XTS, GCM (AES-NI)" 1862306a36Sopenharmony_ci depends on X86 1962306a36Sopenharmony_ci select CRYPTO_AEAD 2062306a36Sopenharmony_ci select CRYPTO_LIB_AES 2162306a36Sopenharmony_ci select CRYPTO_ALGAPI 2262306a36Sopenharmony_ci select CRYPTO_SKCIPHER 2362306a36Sopenharmony_ci select CRYPTO_SIMD 2462306a36Sopenharmony_ci help 2562306a36Sopenharmony_ci Block cipher: AES cipher algorithms 2662306a36Sopenharmony_ci AEAD cipher: AES with GCM 2762306a36Sopenharmony_ci Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XTR, XTS 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci Architecture: x86 (32-bit and 64-bit) using: 3062306a36Sopenharmony_ci - AES-NI (AES new instructions) 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciconfig CRYPTO_BLOWFISH_X86_64 3362306a36Sopenharmony_ci tristate "Ciphers: Blowfish, modes: ECB, CBC" 3462306a36Sopenharmony_ci depends on X86 && 64BIT 3562306a36Sopenharmony_ci select CRYPTO_SKCIPHER 3662306a36Sopenharmony_ci select CRYPTO_BLOWFISH_COMMON 3762306a36Sopenharmony_ci imply CRYPTO_CTR 3862306a36Sopenharmony_ci help 3962306a36Sopenharmony_ci Block cipher: Blowfish cipher algorithm 4062306a36Sopenharmony_ci Length-preserving ciphers: Blowfish with ECB and CBC modes 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci Architecture: x86_64 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ciconfig CRYPTO_CAMELLIA_X86_64 4562306a36Sopenharmony_ci tristate "Ciphers: Camellia with modes: ECB, CBC" 4662306a36Sopenharmony_ci depends on X86 && 64BIT 4762306a36Sopenharmony_ci select CRYPTO_SKCIPHER 4862306a36Sopenharmony_ci imply CRYPTO_CTR 4962306a36Sopenharmony_ci help 5062306a36Sopenharmony_ci Block cipher: Camellia cipher algorithms 5162306a36Sopenharmony_ci Length-preserving ciphers: Camellia with ECB and CBC modes 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci Architecture: x86_64 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ciconfig CRYPTO_CAMELLIA_AESNI_AVX_X86_64 5662306a36Sopenharmony_ci tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX)" 5762306a36Sopenharmony_ci depends on X86 && 64BIT 5862306a36Sopenharmony_ci select CRYPTO_SKCIPHER 5962306a36Sopenharmony_ci select CRYPTO_CAMELLIA_X86_64 6062306a36Sopenharmony_ci select CRYPTO_SIMD 6162306a36Sopenharmony_ci imply CRYPTO_XTS 6262306a36Sopenharmony_ci help 6362306a36Sopenharmony_ci Length-preserving ciphers: Camellia with ECB and CBC modes 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci Architecture: x86_64 using: 6662306a36Sopenharmony_ci - AES-NI (AES New Instructions) 6762306a36Sopenharmony_ci - AVX (Advanced Vector Extensions) 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ciconfig CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 7062306a36Sopenharmony_ci tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX2)" 7162306a36Sopenharmony_ci depends on X86 && 64BIT 7262306a36Sopenharmony_ci select CRYPTO_CAMELLIA_AESNI_AVX_X86_64 7362306a36Sopenharmony_ci help 7462306a36Sopenharmony_ci Length-preserving ciphers: Camellia with ECB and CBC modes 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci Architecture: x86_64 using: 7762306a36Sopenharmony_ci - AES-NI (AES New Instructions) 7862306a36Sopenharmony_ci - AVX2 (Advanced Vector Extensions 2) 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ciconfig CRYPTO_CAST5_AVX_X86_64 8162306a36Sopenharmony_ci tristate "Ciphers: CAST5 with modes: ECB, CBC (AVX)" 8262306a36Sopenharmony_ci depends on X86 && 64BIT 8362306a36Sopenharmony_ci select CRYPTO_SKCIPHER 8462306a36Sopenharmony_ci select CRYPTO_CAST5 8562306a36Sopenharmony_ci select CRYPTO_CAST_COMMON 8662306a36Sopenharmony_ci select CRYPTO_SIMD 8762306a36Sopenharmony_ci imply CRYPTO_CTR 8862306a36Sopenharmony_ci help 8962306a36Sopenharmony_ci Length-preserving ciphers: CAST5 (CAST-128) cipher algorithm 9062306a36Sopenharmony_ci (RFC2144) with ECB and CBC modes 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci Architecture: x86_64 using: 9362306a36Sopenharmony_ci - AVX (Advanced Vector Extensions) 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci Processes 16 blocks in parallel. 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ciconfig CRYPTO_CAST6_AVX_X86_64 9862306a36Sopenharmony_ci tristate "Ciphers: CAST6 with modes: ECB, CBC (AVX)" 9962306a36Sopenharmony_ci depends on X86 && 64BIT 10062306a36Sopenharmony_ci select CRYPTO_SKCIPHER 10162306a36Sopenharmony_ci select CRYPTO_CAST6 10262306a36Sopenharmony_ci select CRYPTO_CAST_COMMON 10362306a36Sopenharmony_ci select CRYPTO_SIMD 10462306a36Sopenharmony_ci imply CRYPTO_XTS 10562306a36Sopenharmony_ci imply CRYPTO_CTR 10662306a36Sopenharmony_ci help 10762306a36Sopenharmony_ci Length-preserving ciphers: CAST6 (CAST-256) cipher algorithm 10862306a36Sopenharmony_ci (RFC2612) with ECB and CBC modes 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci Architecture: x86_64 using: 11162306a36Sopenharmony_ci - AVX (Advanced Vector Extensions) 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci Processes eight blocks in parallel. 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ciconfig CRYPTO_DES3_EDE_X86_64 11662306a36Sopenharmony_ci tristate "Ciphers: Triple DES EDE with modes: ECB, CBC" 11762306a36Sopenharmony_ci depends on X86 && 64BIT 11862306a36Sopenharmony_ci select CRYPTO_SKCIPHER 11962306a36Sopenharmony_ci select CRYPTO_LIB_DES 12062306a36Sopenharmony_ci imply CRYPTO_CTR 12162306a36Sopenharmony_ci help 12262306a36Sopenharmony_ci Block cipher: Triple DES EDE (FIPS 46-3) cipher algorithm 12362306a36Sopenharmony_ci Length-preserving ciphers: Triple DES EDE with ECB and CBC modes 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci Architecture: x86_64 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci Processes one or three blocks in parallel. 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ciconfig CRYPTO_SERPENT_SSE2_X86_64 13062306a36Sopenharmony_ci tristate "Ciphers: Serpent with modes: ECB, CBC (SSE2)" 13162306a36Sopenharmony_ci depends on X86 && 64BIT 13262306a36Sopenharmony_ci select CRYPTO_SKCIPHER 13362306a36Sopenharmony_ci select CRYPTO_SERPENT 13462306a36Sopenharmony_ci select CRYPTO_SIMD 13562306a36Sopenharmony_ci imply CRYPTO_CTR 13662306a36Sopenharmony_ci help 13762306a36Sopenharmony_ci Length-preserving ciphers: Serpent cipher algorithm 13862306a36Sopenharmony_ci with ECB and CBC modes 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci Architecture: x86_64 using: 14162306a36Sopenharmony_ci - SSE2 (Streaming SIMD Extensions 2) 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci Processes eight blocks in parallel. 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ciconfig CRYPTO_SERPENT_SSE2_586 14662306a36Sopenharmony_ci tristate "Ciphers: Serpent with modes: ECB, CBC (32-bit with SSE2)" 14762306a36Sopenharmony_ci depends on X86 && !64BIT 14862306a36Sopenharmony_ci select CRYPTO_SKCIPHER 14962306a36Sopenharmony_ci select CRYPTO_SERPENT 15062306a36Sopenharmony_ci select CRYPTO_SIMD 15162306a36Sopenharmony_ci imply CRYPTO_CTR 15262306a36Sopenharmony_ci help 15362306a36Sopenharmony_ci Length-preserving ciphers: Serpent cipher algorithm 15462306a36Sopenharmony_ci with ECB and CBC modes 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci Architecture: x86 (32-bit) using: 15762306a36Sopenharmony_ci - SSE2 (Streaming SIMD Extensions 2) 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci Processes four blocks in parallel. 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ciconfig CRYPTO_SERPENT_AVX_X86_64 16262306a36Sopenharmony_ci tristate "Ciphers: Serpent with modes: ECB, CBC (AVX)" 16362306a36Sopenharmony_ci depends on X86 && 64BIT 16462306a36Sopenharmony_ci select CRYPTO_SKCIPHER 16562306a36Sopenharmony_ci select CRYPTO_SERPENT 16662306a36Sopenharmony_ci select CRYPTO_SIMD 16762306a36Sopenharmony_ci imply CRYPTO_XTS 16862306a36Sopenharmony_ci imply CRYPTO_CTR 16962306a36Sopenharmony_ci help 17062306a36Sopenharmony_ci Length-preserving ciphers: Serpent cipher algorithm 17162306a36Sopenharmony_ci with ECB and CBC modes 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci Architecture: x86_64 using: 17462306a36Sopenharmony_ci - AVX (Advanced Vector Extensions) 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci Processes eight blocks in parallel. 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ciconfig CRYPTO_SERPENT_AVX2_X86_64 17962306a36Sopenharmony_ci tristate "Ciphers: Serpent with modes: ECB, CBC (AVX2)" 18062306a36Sopenharmony_ci depends on X86 && 64BIT 18162306a36Sopenharmony_ci select CRYPTO_SERPENT_AVX_X86_64 18262306a36Sopenharmony_ci help 18362306a36Sopenharmony_ci Length-preserving ciphers: Serpent cipher algorithm 18462306a36Sopenharmony_ci with ECB and CBC modes 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci Architecture: x86_64 using: 18762306a36Sopenharmony_ci - AVX2 (Advanced Vector Extensions 2) 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci Processes 16 blocks in parallel. 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ciconfig CRYPTO_SM4_AESNI_AVX_X86_64 19262306a36Sopenharmony_ci tristate "Ciphers: SM4 with modes: ECB, CBC, CFB, CTR (AES-NI/AVX)" 19362306a36Sopenharmony_ci depends on X86 && 64BIT 19462306a36Sopenharmony_ci select CRYPTO_SKCIPHER 19562306a36Sopenharmony_ci select CRYPTO_SIMD 19662306a36Sopenharmony_ci select CRYPTO_ALGAPI 19762306a36Sopenharmony_ci select CRYPTO_SM4 19862306a36Sopenharmony_ci help 19962306a36Sopenharmony_ci Length-preserving ciphers: SM4 cipher algorithms 20062306a36Sopenharmony_ci (OSCCA GB/T 32907-2016) with ECB, CBC, CFB, and CTR modes 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ci Architecture: x86_64 using: 20362306a36Sopenharmony_ci - AES-NI (AES New Instructions) 20462306a36Sopenharmony_ci - AVX (Advanced Vector Extensions) 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci Through two affine transforms, 20762306a36Sopenharmony_ci we can use the AES S-Box to simulate the SM4 S-Box to achieve the 20862306a36Sopenharmony_ci effect of instruction acceleration. 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci If unsure, say N. 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ciconfig CRYPTO_SM4_AESNI_AVX2_X86_64 21362306a36Sopenharmony_ci tristate "Ciphers: SM4 with modes: ECB, CBC, CFB, CTR (AES-NI/AVX2)" 21462306a36Sopenharmony_ci depends on X86 && 64BIT 21562306a36Sopenharmony_ci select CRYPTO_SKCIPHER 21662306a36Sopenharmony_ci select CRYPTO_SIMD 21762306a36Sopenharmony_ci select CRYPTO_ALGAPI 21862306a36Sopenharmony_ci select CRYPTO_SM4 21962306a36Sopenharmony_ci select CRYPTO_SM4_AESNI_AVX_X86_64 22062306a36Sopenharmony_ci help 22162306a36Sopenharmony_ci Length-preserving ciphers: SM4 cipher algorithms 22262306a36Sopenharmony_ci (OSCCA GB/T 32907-2016) with ECB, CBC, CFB, and CTR modes 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci Architecture: x86_64 using: 22562306a36Sopenharmony_ci - AES-NI (AES New Instructions) 22662306a36Sopenharmony_ci - AVX2 (Advanced Vector Extensions 2) 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci Through two affine transforms, 22962306a36Sopenharmony_ci we can use the AES S-Box to simulate the SM4 S-Box to achieve the 23062306a36Sopenharmony_ci effect of instruction acceleration. 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci If unsure, say N. 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ciconfig CRYPTO_TWOFISH_586 23562306a36Sopenharmony_ci tristate "Ciphers: Twofish (32-bit)" 23662306a36Sopenharmony_ci depends on (X86 || UML_X86) && !64BIT 23762306a36Sopenharmony_ci select CRYPTO_ALGAPI 23862306a36Sopenharmony_ci select CRYPTO_TWOFISH_COMMON 23962306a36Sopenharmony_ci imply CRYPTO_CTR 24062306a36Sopenharmony_ci help 24162306a36Sopenharmony_ci Block cipher: Twofish cipher algorithm 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci Architecture: x86 (32-bit) 24462306a36Sopenharmony_ci 24562306a36Sopenharmony_ciconfig CRYPTO_TWOFISH_X86_64 24662306a36Sopenharmony_ci tristate "Ciphers: Twofish" 24762306a36Sopenharmony_ci depends on (X86 || UML_X86) && 64BIT 24862306a36Sopenharmony_ci select CRYPTO_ALGAPI 24962306a36Sopenharmony_ci select CRYPTO_TWOFISH_COMMON 25062306a36Sopenharmony_ci imply CRYPTO_CTR 25162306a36Sopenharmony_ci help 25262306a36Sopenharmony_ci Block cipher: Twofish cipher algorithm 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci Architecture: x86_64 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ciconfig CRYPTO_TWOFISH_X86_64_3WAY 25762306a36Sopenharmony_ci tristate "Ciphers: Twofish with modes: ECB, CBC (3-way parallel)" 25862306a36Sopenharmony_ci depends on X86 && 64BIT 25962306a36Sopenharmony_ci select CRYPTO_SKCIPHER 26062306a36Sopenharmony_ci select CRYPTO_TWOFISH_COMMON 26162306a36Sopenharmony_ci select CRYPTO_TWOFISH_X86_64 26262306a36Sopenharmony_ci help 26362306a36Sopenharmony_ci Length-preserving cipher: Twofish cipher algorithm 26462306a36Sopenharmony_ci with ECB and CBC modes 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ci Architecture: x86_64 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ci Processes three blocks in parallel, better utilizing resources of 26962306a36Sopenharmony_ci out-of-order CPUs. 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ciconfig CRYPTO_TWOFISH_AVX_X86_64 27262306a36Sopenharmony_ci tristate "Ciphers: Twofish with modes: ECB, CBC (AVX)" 27362306a36Sopenharmony_ci depends on X86 && 64BIT 27462306a36Sopenharmony_ci select CRYPTO_SKCIPHER 27562306a36Sopenharmony_ci select CRYPTO_SIMD 27662306a36Sopenharmony_ci select CRYPTO_TWOFISH_COMMON 27762306a36Sopenharmony_ci select CRYPTO_TWOFISH_X86_64 27862306a36Sopenharmony_ci select CRYPTO_TWOFISH_X86_64_3WAY 27962306a36Sopenharmony_ci imply CRYPTO_XTS 28062306a36Sopenharmony_ci help 28162306a36Sopenharmony_ci Length-preserving cipher: Twofish cipher algorithm 28262306a36Sopenharmony_ci with ECB and CBC modes 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci Architecture: x86_64 using: 28562306a36Sopenharmony_ci - AVX (Advanced Vector Extensions) 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ci Processes eight blocks in parallel. 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ciconfig CRYPTO_ARIA_AESNI_AVX_X86_64 29062306a36Sopenharmony_ci tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX/GFNI)" 29162306a36Sopenharmony_ci depends on X86 && 64BIT 29262306a36Sopenharmony_ci select CRYPTO_SKCIPHER 29362306a36Sopenharmony_ci select CRYPTO_SIMD 29462306a36Sopenharmony_ci select CRYPTO_ALGAPI 29562306a36Sopenharmony_ci select CRYPTO_ARIA 29662306a36Sopenharmony_ci help 29762306a36Sopenharmony_ci Length-preserving cipher: ARIA cipher algorithms 29862306a36Sopenharmony_ci (RFC 5794) with ECB and CTR modes 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_ci Architecture: x86_64 using: 30162306a36Sopenharmony_ci - AES-NI (AES New Instructions) 30262306a36Sopenharmony_ci - AVX (Advanced Vector Extensions) 30362306a36Sopenharmony_ci - GFNI (Galois Field New Instructions) 30462306a36Sopenharmony_ci 30562306a36Sopenharmony_ci Processes 16 blocks in parallel. 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ciconfig CRYPTO_ARIA_AESNI_AVX2_X86_64 30862306a36Sopenharmony_ci tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX2/GFNI)" 30962306a36Sopenharmony_ci depends on X86 && 64BIT 31062306a36Sopenharmony_ci select CRYPTO_SKCIPHER 31162306a36Sopenharmony_ci select CRYPTO_SIMD 31262306a36Sopenharmony_ci select CRYPTO_ALGAPI 31362306a36Sopenharmony_ci select CRYPTO_ARIA 31462306a36Sopenharmony_ci select CRYPTO_ARIA_AESNI_AVX_X86_64 31562306a36Sopenharmony_ci help 31662306a36Sopenharmony_ci Length-preserving cipher: ARIA cipher algorithms 31762306a36Sopenharmony_ci (RFC 5794) with ECB and CTR modes 31862306a36Sopenharmony_ci 31962306a36Sopenharmony_ci Architecture: x86_64 using: 32062306a36Sopenharmony_ci - AES-NI (AES New Instructions) 32162306a36Sopenharmony_ci - AVX2 (Advanced Vector Extensions) 32262306a36Sopenharmony_ci - GFNI (Galois Field New Instructions) 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_ci Processes 32 blocks in parallel. 32562306a36Sopenharmony_ci 32662306a36Sopenharmony_ciconfig CRYPTO_ARIA_GFNI_AVX512_X86_64 32762306a36Sopenharmony_ci tristate "Ciphers: ARIA with modes: ECB, CTR (AVX512/GFNI)" 32862306a36Sopenharmony_ci depends on X86 && 64BIT && AS_AVX512 && AS_GFNI 32962306a36Sopenharmony_ci select CRYPTO_SKCIPHER 33062306a36Sopenharmony_ci select CRYPTO_SIMD 33162306a36Sopenharmony_ci select CRYPTO_ALGAPI 33262306a36Sopenharmony_ci select CRYPTO_ARIA 33362306a36Sopenharmony_ci select CRYPTO_ARIA_AESNI_AVX_X86_64 33462306a36Sopenharmony_ci select CRYPTO_ARIA_AESNI_AVX2_X86_64 33562306a36Sopenharmony_ci help 33662306a36Sopenharmony_ci Length-preserving cipher: ARIA cipher algorithms 33762306a36Sopenharmony_ci (RFC 5794) with ECB and CTR modes 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_ci Architecture: x86_64 using: 34062306a36Sopenharmony_ci - AVX512 (Advanced Vector Extensions) 34162306a36Sopenharmony_ci - GFNI (Galois Field New Instructions) 34262306a36Sopenharmony_ci 34362306a36Sopenharmony_ci Processes 64 blocks in parallel. 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ciconfig CRYPTO_CHACHA20_X86_64 34662306a36Sopenharmony_ci tristate "Ciphers: ChaCha20, XChaCha20, XChaCha12 (SSSE3/AVX2/AVX-512VL)" 34762306a36Sopenharmony_ci depends on X86 && 64BIT 34862306a36Sopenharmony_ci select CRYPTO_SKCIPHER 34962306a36Sopenharmony_ci select CRYPTO_LIB_CHACHA_GENERIC 35062306a36Sopenharmony_ci select CRYPTO_ARCH_HAVE_LIB_CHACHA 35162306a36Sopenharmony_ci help 35262306a36Sopenharmony_ci Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 35362306a36Sopenharmony_ci stream cipher algorithms 35462306a36Sopenharmony_ci 35562306a36Sopenharmony_ci Architecture: x86_64 using: 35662306a36Sopenharmony_ci - SSSE3 (Supplemental SSE3) 35762306a36Sopenharmony_ci - AVX2 (Advanced Vector Extensions 2) 35862306a36Sopenharmony_ci - AVX-512VL (Advanced Vector Extensions-512VL) 35962306a36Sopenharmony_ci 36062306a36Sopenharmony_ciconfig CRYPTO_AEGIS128_AESNI_SSE2 36162306a36Sopenharmony_ci tristate "AEAD ciphers: AEGIS-128 (AES-NI/SSE2)" 36262306a36Sopenharmony_ci depends on X86 && 64BIT 36362306a36Sopenharmony_ci select CRYPTO_AEAD 36462306a36Sopenharmony_ci select CRYPTO_SIMD 36562306a36Sopenharmony_ci help 36662306a36Sopenharmony_ci AEGIS-128 AEAD algorithm 36762306a36Sopenharmony_ci 36862306a36Sopenharmony_ci Architecture: x86_64 using: 36962306a36Sopenharmony_ci - AES-NI (AES New Instructions) 37062306a36Sopenharmony_ci - SSE2 (Streaming SIMD Extensions 2) 37162306a36Sopenharmony_ci 37262306a36Sopenharmony_ciconfig CRYPTO_NHPOLY1305_SSE2 37362306a36Sopenharmony_ci tristate "Hash functions: NHPoly1305 (SSE2)" 37462306a36Sopenharmony_ci depends on X86 && 64BIT 37562306a36Sopenharmony_ci select CRYPTO_NHPOLY1305 37662306a36Sopenharmony_ci help 37762306a36Sopenharmony_ci NHPoly1305 hash function for Adiantum 37862306a36Sopenharmony_ci 37962306a36Sopenharmony_ci Architecture: x86_64 using: 38062306a36Sopenharmony_ci - SSE2 (Streaming SIMD Extensions 2) 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ciconfig CRYPTO_NHPOLY1305_AVX2 38362306a36Sopenharmony_ci tristate "Hash functions: NHPoly1305 (AVX2)" 38462306a36Sopenharmony_ci depends on X86 && 64BIT 38562306a36Sopenharmony_ci select CRYPTO_NHPOLY1305 38662306a36Sopenharmony_ci help 38762306a36Sopenharmony_ci NHPoly1305 hash function for Adiantum 38862306a36Sopenharmony_ci 38962306a36Sopenharmony_ci Architecture: x86_64 using: 39062306a36Sopenharmony_ci - AVX2 (Advanced Vector Extensions 2) 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ciconfig CRYPTO_BLAKE2S_X86 39362306a36Sopenharmony_ci bool "Hash functions: BLAKE2s (SSSE3/AVX-512)" 39462306a36Sopenharmony_ci depends on X86 && 64BIT 39562306a36Sopenharmony_ci select CRYPTO_LIB_BLAKE2S_GENERIC 39662306a36Sopenharmony_ci select CRYPTO_ARCH_HAVE_LIB_BLAKE2S 39762306a36Sopenharmony_ci help 39862306a36Sopenharmony_ci BLAKE2s cryptographic hash function (RFC 7693) 39962306a36Sopenharmony_ci 40062306a36Sopenharmony_ci Architecture: x86_64 using: 40162306a36Sopenharmony_ci - SSSE3 (Supplemental SSE3) 40262306a36Sopenharmony_ci - AVX-512 (Advanced Vector Extensions-512) 40362306a36Sopenharmony_ci 40462306a36Sopenharmony_ciconfig CRYPTO_POLYVAL_CLMUL_NI 40562306a36Sopenharmony_ci tristate "Hash functions: POLYVAL (CLMUL-NI)" 40662306a36Sopenharmony_ci depends on X86 && 64BIT 40762306a36Sopenharmony_ci select CRYPTO_POLYVAL 40862306a36Sopenharmony_ci help 40962306a36Sopenharmony_ci POLYVAL hash function for HCTR2 41062306a36Sopenharmony_ci 41162306a36Sopenharmony_ci Architecture: x86_64 using: 41262306a36Sopenharmony_ci - CLMUL-NI (carry-less multiplication new instructions) 41362306a36Sopenharmony_ci 41462306a36Sopenharmony_ciconfig CRYPTO_POLY1305_X86_64 41562306a36Sopenharmony_ci tristate "Hash functions: Poly1305 (SSE2/AVX2)" 41662306a36Sopenharmony_ci depends on X86 && 64BIT 41762306a36Sopenharmony_ci select CRYPTO_LIB_POLY1305_GENERIC 41862306a36Sopenharmony_ci select CRYPTO_ARCH_HAVE_LIB_POLY1305 41962306a36Sopenharmony_ci help 42062306a36Sopenharmony_ci Poly1305 authenticator algorithm (RFC7539) 42162306a36Sopenharmony_ci 42262306a36Sopenharmony_ci Architecture: x86_64 using: 42362306a36Sopenharmony_ci - SSE2 (Streaming SIMD Extensions 2) 42462306a36Sopenharmony_ci - AVX2 (Advanced Vector Extensions 2) 42562306a36Sopenharmony_ci 42662306a36Sopenharmony_ciconfig CRYPTO_SHA1_SSSE3 42762306a36Sopenharmony_ci tristate "Hash functions: SHA-1 (SSSE3/AVX/AVX2/SHA-NI)" 42862306a36Sopenharmony_ci depends on X86 && 64BIT 42962306a36Sopenharmony_ci select CRYPTO_SHA1 43062306a36Sopenharmony_ci select CRYPTO_HASH 43162306a36Sopenharmony_ci help 43262306a36Sopenharmony_ci SHA-1 secure hash algorithm (FIPS 180) 43362306a36Sopenharmony_ci 43462306a36Sopenharmony_ci Architecture: x86_64 using: 43562306a36Sopenharmony_ci - SSSE3 (Supplemental SSE3) 43662306a36Sopenharmony_ci - AVX (Advanced Vector Extensions) 43762306a36Sopenharmony_ci - AVX2 (Advanced Vector Extensions 2) 43862306a36Sopenharmony_ci - SHA-NI (SHA Extensions New Instructions) 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_ciconfig CRYPTO_SHA256_SSSE3 44162306a36Sopenharmony_ci tristate "Hash functions: SHA-224 and SHA-256 (SSSE3/AVX/AVX2/SHA-NI)" 44262306a36Sopenharmony_ci depends on X86 && 64BIT 44362306a36Sopenharmony_ci select CRYPTO_SHA256 44462306a36Sopenharmony_ci select CRYPTO_HASH 44562306a36Sopenharmony_ci help 44662306a36Sopenharmony_ci SHA-224 and SHA-256 secure hash algorithms (FIPS 180) 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_ci Architecture: x86_64 using: 44962306a36Sopenharmony_ci - SSSE3 (Supplemental SSE3) 45062306a36Sopenharmony_ci - AVX (Advanced Vector Extensions) 45162306a36Sopenharmony_ci - AVX2 (Advanced Vector Extensions 2) 45262306a36Sopenharmony_ci - SHA-NI (SHA Extensions New Instructions) 45362306a36Sopenharmony_ci 45462306a36Sopenharmony_ciconfig CRYPTO_SHA512_SSSE3 45562306a36Sopenharmony_ci tristate "Hash functions: SHA-384 and SHA-512 (SSSE3/AVX/AVX2)" 45662306a36Sopenharmony_ci depends on X86 && 64BIT 45762306a36Sopenharmony_ci select CRYPTO_SHA512 45862306a36Sopenharmony_ci select CRYPTO_HASH 45962306a36Sopenharmony_ci help 46062306a36Sopenharmony_ci SHA-384 and SHA-512 secure hash algorithms (FIPS 180) 46162306a36Sopenharmony_ci 46262306a36Sopenharmony_ci Architecture: x86_64 using: 46362306a36Sopenharmony_ci - SSSE3 (Supplemental SSE3) 46462306a36Sopenharmony_ci - AVX (Advanced Vector Extensions) 46562306a36Sopenharmony_ci - AVX2 (Advanced Vector Extensions 2) 46662306a36Sopenharmony_ci 46762306a36Sopenharmony_ciconfig CRYPTO_SM3_AVX_X86_64 46862306a36Sopenharmony_ci tristate "Hash functions: SM3 (AVX)" 46962306a36Sopenharmony_ci depends on X86 && 64BIT 47062306a36Sopenharmony_ci select CRYPTO_HASH 47162306a36Sopenharmony_ci select CRYPTO_SM3 47262306a36Sopenharmony_ci help 47362306a36Sopenharmony_ci SM3 secure hash function as defined by OSCCA GM/T 0004-2012 SM3 47462306a36Sopenharmony_ci 47562306a36Sopenharmony_ci Architecture: x86_64 using: 47662306a36Sopenharmony_ci - AVX (Advanced Vector Extensions) 47762306a36Sopenharmony_ci 47862306a36Sopenharmony_ci If unsure, say N. 47962306a36Sopenharmony_ci 48062306a36Sopenharmony_ciconfig CRYPTO_GHASH_CLMUL_NI_INTEL 48162306a36Sopenharmony_ci tristate "Hash functions: GHASH (CLMUL-NI)" 48262306a36Sopenharmony_ci depends on X86 && 64BIT 48362306a36Sopenharmony_ci select CRYPTO_CRYPTD 48462306a36Sopenharmony_ci help 48562306a36Sopenharmony_ci GCM GHASH hash function (NIST SP800-38D) 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ci Architecture: x86_64 using: 48862306a36Sopenharmony_ci - CLMUL-NI (carry-less multiplication new instructions) 48962306a36Sopenharmony_ci 49062306a36Sopenharmony_ciconfig CRYPTO_CRC32C_INTEL 49162306a36Sopenharmony_ci tristate "CRC32c (SSE4.2/PCLMULQDQ)" 49262306a36Sopenharmony_ci depends on X86 49362306a36Sopenharmony_ci select CRYPTO_HASH 49462306a36Sopenharmony_ci help 49562306a36Sopenharmony_ci CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720) 49662306a36Sopenharmony_ci 49762306a36Sopenharmony_ci Architecture: x86 (32-bit and 64-bit) using: 49862306a36Sopenharmony_ci - SSE4.2 (Streaming SIMD Extensions 4.2) CRC32 instruction 49962306a36Sopenharmony_ci - PCLMULQDQ (carry-less multiplication) 50062306a36Sopenharmony_ci 50162306a36Sopenharmony_ciconfig CRYPTO_CRC32_PCLMUL 50262306a36Sopenharmony_ci tristate "CRC32 (PCLMULQDQ)" 50362306a36Sopenharmony_ci depends on X86 50462306a36Sopenharmony_ci select CRYPTO_HASH 50562306a36Sopenharmony_ci select CRC32 50662306a36Sopenharmony_ci help 50762306a36Sopenharmony_ci CRC32 CRC algorithm (IEEE 802.3) 50862306a36Sopenharmony_ci 50962306a36Sopenharmony_ci Architecture: x86 (32-bit and 64-bit) using: 51062306a36Sopenharmony_ci - PCLMULQDQ (carry-less multiplication) 51162306a36Sopenharmony_ci 51262306a36Sopenharmony_ciconfig CRYPTO_CRCT10DIF_PCLMUL 51362306a36Sopenharmony_ci tristate "CRCT10DIF (PCLMULQDQ)" 51462306a36Sopenharmony_ci depends on X86 && 64BIT && CRC_T10DIF 51562306a36Sopenharmony_ci select CRYPTO_HASH 51662306a36Sopenharmony_ci help 51762306a36Sopenharmony_ci CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF) 51862306a36Sopenharmony_ci 51962306a36Sopenharmony_ci Architecture: x86_64 using: 52062306a36Sopenharmony_ci - PCLMULQDQ (carry-less multiplication) 52162306a36Sopenharmony_ci 52262306a36Sopenharmony_ciendmenu 523