18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Generic algorithms support 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ciconfig XOR_BLOCKS 68c2ecf20Sopenharmony_ci tristate 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci# 98c2ecf20Sopenharmony_ci# async_tx api: hardware offloaded memory transfer/transform support 108c2ecf20Sopenharmony_ci# 118c2ecf20Sopenharmony_cisource "crypto/async_tx/Kconfig" 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci# 148c2ecf20Sopenharmony_ci# Cryptographic API Configuration 158c2ecf20Sopenharmony_ci# 168c2ecf20Sopenharmony_cimenuconfig CRYPTO 178c2ecf20Sopenharmony_ci tristate "Cryptographic API" 188c2ecf20Sopenharmony_ci select LIB_MEMNEQ 198c2ecf20Sopenharmony_ci help 208c2ecf20Sopenharmony_ci This option provides the core Cryptographic API. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciif CRYPTO 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_cicomment "Crypto core or helper" 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciconfig CRYPTO_FIPS 278c2ecf20Sopenharmony_ci bool "FIPS 200 compliance" 288c2ecf20Sopenharmony_ci depends on (CRYPTO_ANSI_CPRNG || CRYPTO_DRBG) && !CRYPTO_MANAGER_DISABLE_TESTS 298c2ecf20Sopenharmony_ci depends on (MODULE_SIG || !MODULES) 308c2ecf20Sopenharmony_ci help 318c2ecf20Sopenharmony_ci This option enables the fips boot option which is 328c2ecf20Sopenharmony_ci required if you want the system to operate in a FIPS 200 338c2ecf20Sopenharmony_ci certification. You should say no unless you know what 348c2ecf20Sopenharmony_ci this is. 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ciconfig CRYPTO_ALGAPI 378c2ecf20Sopenharmony_ci tristate 388c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI2 398c2ecf20Sopenharmony_ci help 408c2ecf20Sopenharmony_ci This option provides the API for cryptographic algorithms. 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ciconfig CRYPTO_ALGAPI2 438c2ecf20Sopenharmony_ci tristate 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ciconfig CRYPTO_AEAD 468c2ecf20Sopenharmony_ci tristate 478c2ecf20Sopenharmony_ci select CRYPTO_AEAD2 488c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciconfig CRYPTO_AEAD2 518c2ecf20Sopenharmony_ci tristate 528c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI2 538c2ecf20Sopenharmony_ci select CRYPTO_NULL2 548c2ecf20Sopenharmony_ci select CRYPTO_RNG2 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ciconfig CRYPTO_SKCIPHER 578c2ecf20Sopenharmony_ci tristate 588c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER2 598c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ciconfig CRYPTO_SKCIPHER2 628c2ecf20Sopenharmony_ci tristate 638c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI2 648c2ecf20Sopenharmony_ci select CRYPTO_RNG2 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciconfig CRYPTO_HASH 678c2ecf20Sopenharmony_ci tristate 688c2ecf20Sopenharmony_ci select CRYPTO_HASH2 698c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ciconfig CRYPTO_HASH2 728c2ecf20Sopenharmony_ci tristate 738c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI2 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ciconfig CRYPTO_RNG 768c2ecf20Sopenharmony_ci tristate 778c2ecf20Sopenharmony_ci select CRYPTO_RNG2 788c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ciconfig CRYPTO_RNG2 818c2ecf20Sopenharmony_ci tristate 828c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI2 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ciconfig CRYPTO_RNG_DEFAULT 858c2ecf20Sopenharmony_ci tristate 868c2ecf20Sopenharmony_ci select CRYPTO_DRBG_MENU 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ciconfig CRYPTO_AKCIPHER2 898c2ecf20Sopenharmony_ci tristate 908c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI2 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ciconfig CRYPTO_AKCIPHER 938c2ecf20Sopenharmony_ci tristate 948c2ecf20Sopenharmony_ci select CRYPTO_AKCIPHER2 958c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ciconfig CRYPTO_KPP2 988c2ecf20Sopenharmony_ci tristate 998c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI2 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ciconfig CRYPTO_KPP 1028c2ecf20Sopenharmony_ci tristate 1038c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 1048c2ecf20Sopenharmony_ci select CRYPTO_KPP2 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ciconfig CRYPTO_ACOMP2 1078c2ecf20Sopenharmony_ci tristate 1088c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI2 1098c2ecf20Sopenharmony_ci select SGL_ALLOC 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ciconfig CRYPTO_ACOMP 1128c2ecf20Sopenharmony_ci tristate 1138c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 1148c2ecf20Sopenharmony_ci select CRYPTO_ACOMP2 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ciconfig CRYPTO_MANAGER 1178c2ecf20Sopenharmony_ci tristate "Cryptographic algorithm manager" 1188c2ecf20Sopenharmony_ci select CRYPTO_MANAGER2 1198c2ecf20Sopenharmony_ci help 1208c2ecf20Sopenharmony_ci Create default cryptographic template instantiations such as 1218c2ecf20Sopenharmony_ci cbc(aes). 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ciconfig CRYPTO_MANAGER2 1248c2ecf20Sopenharmony_ci def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y) 1258c2ecf20Sopenharmony_ci select CRYPTO_AEAD2 1268c2ecf20Sopenharmony_ci select CRYPTO_HASH2 1278c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER2 1288c2ecf20Sopenharmony_ci select CRYPTO_AKCIPHER2 1298c2ecf20Sopenharmony_ci select CRYPTO_KPP2 1308c2ecf20Sopenharmony_ci select CRYPTO_ACOMP2 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ciconfig CRYPTO_USER 1338c2ecf20Sopenharmony_ci tristate "Userspace cryptographic algorithm configuration" 1348c2ecf20Sopenharmony_ci depends on NET 1358c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 1368c2ecf20Sopenharmony_ci help 1378c2ecf20Sopenharmony_ci Userspace configuration for cryptographic instantiations such as 1388c2ecf20Sopenharmony_ci cbc(aes). 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ciconfig CRYPTO_MANAGER_DISABLE_TESTS 1418c2ecf20Sopenharmony_ci bool "Disable run-time self tests" 1428c2ecf20Sopenharmony_ci default y 1438c2ecf20Sopenharmony_ci help 1448c2ecf20Sopenharmony_ci Disable run-time self tests that normally take place at 1458c2ecf20Sopenharmony_ci algorithm registration. 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ciconfig CRYPTO_MANAGER_EXTRA_TESTS 1488c2ecf20Sopenharmony_ci bool "Enable extra run-time crypto self tests" 1498c2ecf20Sopenharmony_ci depends on DEBUG_KERNEL && !CRYPTO_MANAGER_DISABLE_TESTS && CRYPTO_MANAGER 1508c2ecf20Sopenharmony_ci help 1518c2ecf20Sopenharmony_ci Enable extra run-time self tests of registered crypto algorithms, 1528c2ecf20Sopenharmony_ci including randomized fuzz tests. 1538c2ecf20Sopenharmony_ci 1548c2ecf20Sopenharmony_ci This is intended for developer use only, as these tests take much 1558c2ecf20Sopenharmony_ci longer to run than the normal self tests. 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ciconfig CRYPTO_GF128MUL 1588c2ecf20Sopenharmony_ci tristate 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ciconfig CRYPTO_NULL 1618c2ecf20Sopenharmony_ci tristate "Null algorithms" 1628c2ecf20Sopenharmony_ci select CRYPTO_NULL2 1638c2ecf20Sopenharmony_ci help 1648c2ecf20Sopenharmony_ci These are 'Null' algorithms, used by IPsec, which do nothing. 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ciconfig CRYPTO_NULL2 1678c2ecf20Sopenharmony_ci tristate 1688c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI2 1698c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER2 1708c2ecf20Sopenharmony_ci select CRYPTO_HASH2 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ciconfig CRYPTO_PCRYPT 1738c2ecf20Sopenharmony_ci tristate "Parallel crypto engine" 1748c2ecf20Sopenharmony_ci depends on SMP 1758c2ecf20Sopenharmony_ci select PADATA 1768c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 1778c2ecf20Sopenharmony_ci select CRYPTO_AEAD 1788c2ecf20Sopenharmony_ci help 1798c2ecf20Sopenharmony_ci This converts an arbitrary crypto algorithm into a parallel 1808c2ecf20Sopenharmony_ci algorithm that executes in kernel threads. 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ciconfig CRYPTO_CRYPTD 1838c2ecf20Sopenharmony_ci tristate "Software async crypto daemon" 1848c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 1858c2ecf20Sopenharmony_ci select CRYPTO_HASH 1868c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 1878c2ecf20Sopenharmony_ci help 1888c2ecf20Sopenharmony_ci This is a generic software asynchronous crypto daemon that 1898c2ecf20Sopenharmony_ci converts an arbitrary synchronous software crypto algorithm 1908c2ecf20Sopenharmony_ci into an asynchronous algorithm that executes in a kernel thread. 1918c2ecf20Sopenharmony_ci 1928c2ecf20Sopenharmony_ciconfig CRYPTO_AUTHENC 1938c2ecf20Sopenharmony_ci tristate "Authenc support" 1948c2ecf20Sopenharmony_ci select CRYPTO_AEAD 1958c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 1968c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 1978c2ecf20Sopenharmony_ci select CRYPTO_HASH 1988c2ecf20Sopenharmony_ci select CRYPTO_NULL 1998c2ecf20Sopenharmony_ci help 2008c2ecf20Sopenharmony_ci Authenc: Combined mode wrapper for IPsec. 2018c2ecf20Sopenharmony_ci This is required for IPSec. 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_ciconfig CRYPTO_TEST 2048c2ecf20Sopenharmony_ci tristate "Testing module" 2058c2ecf20Sopenharmony_ci depends on m 2068c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 2078c2ecf20Sopenharmony_ci help 2088c2ecf20Sopenharmony_ci Quick & dirty crypto test module. 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ciconfig CRYPTO_SIMD 2118c2ecf20Sopenharmony_ci tristate 2128c2ecf20Sopenharmony_ci select CRYPTO_CRYPTD 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_ciconfig CRYPTO_GLUE_HELPER_X86 2158c2ecf20Sopenharmony_ci tristate 2168c2ecf20Sopenharmony_ci depends on X86 2178c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ciconfig CRYPTO_ENGINE 2208c2ecf20Sopenharmony_ci tristate 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_cicomment "Public-key cryptography" 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ciconfig CRYPTO_RSA 2258c2ecf20Sopenharmony_ci tristate "RSA algorithm" 2268c2ecf20Sopenharmony_ci select CRYPTO_AKCIPHER 2278c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 2288c2ecf20Sopenharmony_ci select MPILIB 2298c2ecf20Sopenharmony_ci select ASN1 2308c2ecf20Sopenharmony_ci help 2318c2ecf20Sopenharmony_ci Generic implementation of the RSA public key algorithm. 2328c2ecf20Sopenharmony_ci 2338c2ecf20Sopenharmony_ciconfig CRYPTO_DH 2348c2ecf20Sopenharmony_ci tristate "Diffie-Hellman algorithm" 2358c2ecf20Sopenharmony_ci select CRYPTO_KPP 2368c2ecf20Sopenharmony_ci select MPILIB 2378c2ecf20Sopenharmony_ci help 2388c2ecf20Sopenharmony_ci Generic implementation of the Diffie-Hellman algorithm. 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ciconfig CRYPTO_ECC 2418c2ecf20Sopenharmony_ci tristate 2428c2ecf20Sopenharmony_ci select CRYPTO_RNG_DEFAULT 2438c2ecf20Sopenharmony_ci 2448c2ecf20Sopenharmony_ciconfig CRYPTO_ECDH 2458c2ecf20Sopenharmony_ci tristate "ECDH algorithm" 2468c2ecf20Sopenharmony_ci select CRYPTO_ECC 2478c2ecf20Sopenharmony_ci select CRYPTO_KPP 2488c2ecf20Sopenharmony_ci help 2498c2ecf20Sopenharmony_ci Generic implementation of the ECDH algorithm 2508c2ecf20Sopenharmony_ci 2518c2ecf20Sopenharmony_ciconfig CRYPTO_ECDSA 2528c2ecf20Sopenharmony_ci tristate "ECDSA (NIST P192, P256 etc.) algorithm" 2538c2ecf20Sopenharmony_ci select CRYPTO_ECC 2548c2ecf20Sopenharmony_ci select CRYPTO_AKCIPHER 2558c2ecf20Sopenharmony_ci select ASN1 2568c2ecf20Sopenharmony_ci help 2578c2ecf20Sopenharmony_ci Elliptic Curve Digital Signature Algorithm (NIST P192, P256 etc.) 2588c2ecf20Sopenharmony_ci is A NIST cryptographic standard algorithm. Only signature verification 2598c2ecf20Sopenharmony_ci is implemented. 2608c2ecf20Sopenharmony_ci 2618c2ecf20Sopenharmony_ciconfig CRYPTO_ECRDSA 2628c2ecf20Sopenharmony_ci tristate "EC-RDSA (GOST 34.10) algorithm" 2638c2ecf20Sopenharmony_ci select CRYPTO_ECC 2648c2ecf20Sopenharmony_ci select CRYPTO_AKCIPHER 2658c2ecf20Sopenharmony_ci select CRYPTO_STREEBOG 2668c2ecf20Sopenharmony_ci select OID_REGISTRY 2678c2ecf20Sopenharmony_ci select ASN1 2688c2ecf20Sopenharmony_ci help 2698c2ecf20Sopenharmony_ci Elliptic Curve Russian Digital Signature Algorithm (GOST R 34.10-2012, 2708c2ecf20Sopenharmony_ci RFC 7091, ISO/IEC 14888-3:2018) is one of the Russian cryptographic 2718c2ecf20Sopenharmony_ci standard algorithms (called GOST algorithms). Only signature verification 2728c2ecf20Sopenharmony_ci is implemented. 2738c2ecf20Sopenharmony_ci 2748c2ecf20Sopenharmony_ciconfig CRYPTO_SM2 2758c2ecf20Sopenharmony_ci tristate "SM2 algorithm" 2768c2ecf20Sopenharmony_ci select CRYPTO_SM3 2778c2ecf20Sopenharmony_ci select CRYPTO_AKCIPHER 2788c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 2798c2ecf20Sopenharmony_ci select MPILIB 2808c2ecf20Sopenharmony_ci select ASN1 2818c2ecf20Sopenharmony_ci help 2828c2ecf20Sopenharmony_ci Generic implementation of the SM2 public key algorithm. It was 2838c2ecf20Sopenharmony_ci published by State Encryption Management Bureau, China. 2848c2ecf20Sopenharmony_ci as specified by OSCCA GM/T 0003.1-2012 -- 0003.5-2012. 2858c2ecf20Sopenharmony_ci 2868c2ecf20Sopenharmony_ci References: 2878c2ecf20Sopenharmony_ci https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02 2888c2ecf20Sopenharmony_ci http://www.oscca.gov.cn/sca/xxgk/2010-12/17/content_1002386.shtml 2898c2ecf20Sopenharmony_ci http://www.gmbz.org.cn/main/bzlb.html 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ciconfig CRYPTO_CURVE25519 2928c2ecf20Sopenharmony_ci tristate "Curve25519 algorithm" 2938c2ecf20Sopenharmony_ci select CRYPTO_KPP 2948c2ecf20Sopenharmony_ci select CRYPTO_LIB_CURVE25519_GENERIC 2958c2ecf20Sopenharmony_ci 2968c2ecf20Sopenharmony_ciconfig CRYPTO_CURVE25519_X86 2978c2ecf20Sopenharmony_ci tristate "x86_64 accelerated Curve25519 scalar multiplication library" 2988c2ecf20Sopenharmony_ci depends on X86 && 64BIT 2998c2ecf20Sopenharmony_ci select CRYPTO_LIB_CURVE25519_GENERIC 3008c2ecf20Sopenharmony_ci select CRYPTO_ARCH_HAVE_LIB_CURVE25519 3018c2ecf20Sopenharmony_ci 3028c2ecf20Sopenharmony_cicomment "Authenticated Encryption with Associated Data" 3038c2ecf20Sopenharmony_ci 3048c2ecf20Sopenharmony_ciconfig CRYPTO_CCM 3058c2ecf20Sopenharmony_ci tristate "CCM support" 3068c2ecf20Sopenharmony_ci select CRYPTO_CTR 3078c2ecf20Sopenharmony_ci select CRYPTO_HASH 3088c2ecf20Sopenharmony_ci select CRYPTO_AEAD 3098c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 3108c2ecf20Sopenharmony_ci help 3118c2ecf20Sopenharmony_ci Support for Counter with CBC MAC. Required for IPsec. 3128c2ecf20Sopenharmony_ci 3138c2ecf20Sopenharmony_ciconfig CRYPTO_GCM 3148c2ecf20Sopenharmony_ci tristate "GCM/GMAC support" 3158c2ecf20Sopenharmony_ci select CRYPTO_CTR 3168c2ecf20Sopenharmony_ci select CRYPTO_AEAD 3178c2ecf20Sopenharmony_ci select CRYPTO_GHASH 3188c2ecf20Sopenharmony_ci select CRYPTO_NULL 3198c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 3208c2ecf20Sopenharmony_ci help 3218c2ecf20Sopenharmony_ci Support for Galois/Counter Mode (GCM) and Galois Message 3228c2ecf20Sopenharmony_ci Authentication Code (GMAC). Required for IPSec. 3238c2ecf20Sopenharmony_ci 3248c2ecf20Sopenharmony_ciconfig CRYPTO_CHACHA20POLY1305 3258c2ecf20Sopenharmony_ci tristate "ChaCha20-Poly1305 AEAD support" 3268c2ecf20Sopenharmony_ci select CRYPTO_CHACHA20 3278c2ecf20Sopenharmony_ci select CRYPTO_POLY1305 3288c2ecf20Sopenharmony_ci select CRYPTO_AEAD 3298c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 3308c2ecf20Sopenharmony_ci help 3318c2ecf20Sopenharmony_ci ChaCha20-Poly1305 AEAD support, RFC7539. 3328c2ecf20Sopenharmony_ci 3338c2ecf20Sopenharmony_ci Support for the AEAD wrapper using the ChaCha20 stream cipher combined 3348c2ecf20Sopenharmony_ci with the Poly1305 authenticator. It is defined in RFC7539 for use in 3358c2ecf20Sopenharmony_ci IETF protocols. 3368c2ecf20Sopenharmony_ci 3378c2ecf20Sopenharmony_ciconfig CRYPTO_AEGIS128 3388c2ecf20Sopenharmony_ci tristate "AEGIS-128 AEAD algorithm" 3398c2ecf20Sopenharmony_ci select CRYPTO_AEAD 3408c2ecf20Sopenharmony_ci select CRYPTO_AES # for AES S-box tables 3418c2ecf20Sopenharmony_ci help 3428c2ecf20Sopenharmony_ci Support for the AEGIS-128 dedicated AEAD algorithm. 3438c2ecf20Sopenharmony_ci 3448c2ecf20Sopenharmony_ciconfig CRYPTO_AEGIS128_SIMD 3458c2ecf20Sopenharmony_ci bool "Support SIMD acceleration for AEGIS-128" 3468c2ecf20Sopenharmony_ci depends on CRYPTO_AEGIS128 && ((ARM || ARM64) && KERNEL_MODE_NEON) 3478c2ecf20Sopenharmony_ci default y 3488c2ecf20Sopenharmony_ci 3498c2ecf20Sopenharmony_ciconfig CRYPTO_AEGIS128_AESNI_SSE2 3508c2ecf20Sopenharmony_ci tristate "AEGIS-128 AEAD algorithm (x86_64 AESNI+SSE2 implementation)" 3518c2ecf20Sopenharmony_ci depends on X86 && 64BIT 3528c2ecf20Sopenharmony_ci select CRYPTO_AEAD 3538c2ecf20Sopenharmony_ci select CRYPTO_SIMD 3548c2ecf20Sopenharmony_ci help 3558c2ecf20Sopenharmony_ci AESNI+SSE2 implementation of the AEGIS-128 dedicated AEAD algorithm. 3568c2ecf20Sopenharmony_ci 3578c2ecf20Sopenharmony_ciconfig CRYPTO_SEQIV 3588c2ecf20Sopenharmony_ci tristate "Sequence Number IV Generator" 3598c2ecf20Sopenharmony_ci select CRYPTO_AEAD 3608c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 3618c2ecf20Sopenharmony_ci select CRYPTO_NULL 3628c2ecf20Sopenharmony_ci select CRYPTO_RNG_DEFAULT 3638c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 3648c2ecf20Sopenharmony_ci help 3658c2ecf20Sopenharmony_ci This IV generator generates an IV based on a sequence number by 3668c2ecf20Sopenharmony_ci xoring it with a salt. This algorithm is mainly useful for CTR 3678c2ecf20Sopenharmony_ci 3688c2ecf20Sopenharmony_ciconfig CRYPTO_ECHAINIV 3698c2ecf20Sopenharmony_ci tristate "Encrypted Chain IV Generator" 3708c2ecf20Sopenharmony_ci select CRYPTO_AEAD 3718c2ecf20Sopenharmony_ci select CRYPTO_NULL 3728c2ecf20Sopenharmony_ci select CRYPTO_RNG_DEFAULT 3738c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 3748c2ecf20Sopenharmony_ci help 3758c2ecf20Sopenharmony_ci This IV generator generates an IV based on the encryption of 3768c2ecf20Sopenharmony_ci a sequence number xored with a salt. This is the default 3778c2ecf20Sopenharmony_ci algorithm for CBC. 3788c2ecf20Sopenharmony_ci 3798c2ecf20Sopenharmony_cicomment "Block modes" 3808c2ecf20Sopenharmony_ci 3818c2ecf20Sopenharmony_ciconfig CRYPTO_CBC 3828c2ecf20Sopenharmony_ci tristate "CBC support" 3838c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 3848c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 3858c2ecf20Sopenharmony_ci help 3868c2ecf20Sopenharmony_ci CBC: Cipher Block Chaining mode 3878c2ecf20Sopenharmony_ci This block cipher algorithm is required for IPSec. 3888c2ecf20Sopenharmony_ci 3898c2ecf20Sopenharmony_ciconfig CRYPTO_CFB 3908c2ecf20Sopenharmony_ci tristate "CFB support" 3918c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 3928c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 3938c2ecf20Sopenharmony_ci help 3948c2ecf20Sopenharmony_ci CFB: Cipher FeedBack mode 3958c2ecf20Sopenharmony_ci This block cipher algorithm is required for TPM2 Cryptography. 3968c2ecf20Sopenharmony_ci 3978c2ecf20Sopenharmony_ciconfig CRYPTO_CTR 3988c2ecf20Sopenharmony_ci tristate "CTR support" 3998c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 4008c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 4018c2ecf20Sopenharmony_ci help 4028c2ecf20Sopenharmony_ci CTR: Counter mode 4038c2ecf20Sopenharmony_ci This block cipher algorithm is required for IPSec. 4048c2ecf20Sopenharmony_ci 4058c2ecf20Sopenharmony_ciconfig CRYPTO_CTS 4068c2ecf20Sopenharmony_ci tristate "CTS support" 4078c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 4088c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 4098c2ecf20Sopenharmony_ci help 4108c2ecf20Sopenharmony_ci CTS: Cipher Text Stealing 4118c2ecf20Sopenharmony_ci This is the Cipher Text Stealing mode as described by 4128c2ecf20Sopenharmony_ci Section 8 of rfc2040 and referenced by rfc3962 4138c2ecf20Sopenharmony_ci (rfc3962 includes errata information in its Appendix A) or 4148c2ecf20Sopenharmony_ci CBC-CS3 as defined by NIST in Sp800-38A addendum from Oct 2010. 4158c2ecf20Sopenharmony_ci This mode is required for Kerberos gss mechanism support 4168c2ecf20Sopenharmony_ci for AES encryption. 4178c2ecf20Sopenharmony_ci 4188c2ecf20Sopenharmony_ci See: https://csrc.nist.gov/publications/detail/sp/800-38a/addendum/final 4198c2ecf20Sopenharmony_ci 4208c2ecf20Sopenharmony_ciconfig CRYPTO_ECB 4218c2ecf20Sopenharmony_ci tristate "ECB support" 4228c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 4238c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 4248c2ecf20Sopenharmony_ci help 4258c2ecf20Sopenharmony_ci ECB: Electronic CodeBook mode 4268c2ecf20Sopenharmony_ci This is the simplest block cipher algorithm. It simply encrypts 4278c2ecf20Sopenharmony_ci the input block by block. 4288c2ecf20Sopenharmony_ci 4298c2ecf20Sopenharmony_ciconfig CRYPTO_LRW 4308c2ecf20Sopenharmony_ci tristate "LRW support" 4318c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 4328c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 4338c2ecf20Sopenharmony_ci select CRYPTO_GF128MUL 4348c2ecf20Sopenharmony_ci help 4358c2ecf20Sopenharmony_ci LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable 4368c2ecf20Sopenharmony_ci narrow block cipher mode for dm-crypt. Use it with cipher 4378c2ecf20Sopenharmony_ci specification string aes-lrw-benbi, the key must be 256, 320 or 384. 4388c2ecf20Sopenharmony_ci The first 128, 192 or 256 bits in the key are used for AES and the 4398c2ecf20Sopenharmony_ci rest is used to tie each cipher block to its logical position. 4408c2ecf20Sopenharmony_ci 4418c2ecf20Sopenharmony_ciconfig CRYPTO_OFB 4428c2ecf20Sopenharmony_ci tristate "OFB support" 4438c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 4448c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 4458c2ecf20Sopenharmony_ci help 4468c2ecf20Sopenharmony_ci OFB: the Output Feedback mode makes a block cipher into a synchronous 4478c2ecf20Sopenharmony_ci stream cipher. It generates keystream blocks, which are then XORed 4488c2ecf20Sopenharmony_ci with the plaintext blocks to get the ciphertext. Flipping a bit in the 4498c2ecf20Sopenharmony_ci ciphertext produces a flipped bit in the plaintext at the same 4508c2ecf20Sopenharmony_ci location. This property allows many error correcting codes to function 4518c2ecf20Sopenharmony_ci normally even when applied before encryption. 4528c2ecf20Sopenharmony_ci 4538c2ecf20Sopenharmony_ciconfig CRYPTO_PCBC 4548c2ecf20Sopenharmony_ci tristate "PCBC support" 4558c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 4568c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 4578c2ecf20Sopenharmony_ci help 4588c2ecf20Sopenharmony_ci PCBC: Propagating Cipher Block Chaining mode 4598c2ecf20Sopenharmony_ci This block cipher algorithm is required for RxRPC. 4608c2ecf20Sopenharmony_ci 4618c2ecf20Sopenharmony_ciconfig CRYPTO_XTS 4628c2ecf20Sopenharmony_ci tristate "XTS support" 4638c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 4648c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 4658c2ecf20Sopenharmony_ci select CRYPTO_ECB 4668c2ecf20Sopenharmony_ci help 4678c2ecf20Sopenharmony_ci XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain, 4688c2ecf20Sopenharmony_ci key size 256, 384 or 512 bits. This implementation currently 4698c2ecf20Sopenharmony_ci can't handle a sectorsize which is not a multiple of 16 bytes. 4708c2ecf20Sopenharmony_ci 4718c2ecf20Sopenharmony_ciconfig CRYPTO_KEYWRAP 4728c2ecf20Sopenharmony_ci tristate "Key wrapping support" 4738c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 4748c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 4758c2ecf20Sopenharmony_ci help 4768c2ecf20Sopenharmony_ci Support for key wrapping (NIST SP800-38F / RFC3394) without 4778c2ecf20Sopenharmony_ci padding. 4788c2ecf20Sopenharmony_ci 4798c2ecf20Sopenharmony_ciconfig CRYPTO_NHPOLY1305 4808c2ecf20Sopenharmony_ci tristate 4818c2ecf20Sopenharmony_ci select CRYPTO_HASH 4828c2ecf20Sopenharmony_ci select CRYPTO_LIB_POLY1305_GENERIC 4838c2ecf20Sopenharmony_ci 4848c2ecf20Sopenharmony_ciconfig CRYPTO_NHPOLY1305_SSE2 4858c2ecf20Sopenharmony_ci tristate "NHPoly1305 hash function (x86_64 SSE2 implementation)" 4868c2ecf20Sopenharmony_ci depends on X86 && 64BIT 4878c2ecf20Sopenharmony_ci select CRYPTO_NHPOLY1305 4888c2ecf20Sopenharmony_ci help 4898c2ecf20Sopenharmony_ci SSE2 optimized implementation of the hash function used by the 4908c2ecf20Sopenharmony_ci Adiantum encryption mode. 4918c2ecf20Sopenharmony_ci 4928c2ecf20Sopenharmony_ciconfig CRYPTO_NHPOLY1305_AVX2 4938c2ecf20Sopenharmony_ci tristate "NHPoly1305 hash function (x86_64 AVX2 implementation)" 4948c2ecf20Sopenharmony_ci depends on X86 && 64BIT 4958c2ecf20Sopenharmony_ci select CRYPTO_NHPOLY1305 4968c2ecf20Sopenharmony_ci help 4978c2ecf20Sopenharmony_ci AVX2 optimized implementation of the hash function used by the 4988c2ecf20Sopenharmony_ci Adiantum encryption mode. 4998c2ecf20Sopenharmony_ci 5008c2ecf20Sopenharmony_ciconfig CRYPTO_ADIANTUM 5018c2ecf20Sopenharmony_ci tristate "Adiantum support" 5028c2ecf20Sopenharmony_ci select CRYPTO_CHACHA20 5038c2ecf20Sopenharmony_ci select CRYPTO_LIB_POLY1305_GENERIC 5048c2ecf20Sopenharmony_ci select CRYPTO_NHPOLY1305 5058c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 5068c2ecf20Sopenharmony_ci help 5078c2ecf20Sopenharmony_ci Adiantum is a tweakable, length-preserving encryption mode 5088c2ecf20Sopenharmony_ci designed for fast and secure disk encryption, especially on 5098c2ecf20Sopenharmony_ci CPUs without dedicated crypto instructions. It encrypts 5108c2ecf20Sopenharmony_ci each sector using the XChaCha12 stream cipher, two passes of 5118c2ecf20Sopenharmony_ci an ε-almost-∆-universal hash function, and an invocation of 5128c2ecf20Sopenharmony_ci the AES-256 block cipher on a single 16-byte block. On CPUs 5138c2ecf20Sopenharmony_ci without AES instructions, Adiantum is much faster than 5148c2ecf20Sopenharmony_ci AES-XTS. 5158c2ecf20Sopenharmony_ci 5168c2ecf20Sopenharmony_ci Adiantum's security is provably reducible to that of its 5178c2ecf20Sopenharmony_ci underlying stream and block ciphers, subject to a security 5188c2ecf20Sopenharmony_ci bound. Unlike XTS, Adiantum is a true wide-block encryption 5198c2ecf20Sopenharmony_ci mode, so it actually provides an even stronger notion of 5208c2ecf20Sopenharmony_ci security than XTS, subject to the security bound. 5218c2ecf20Sopenharmony_ci 5228c2ecf20Sopenharmony_ci If unsure, say N. 5238c2ecf20Sopenharmony_ci 5248c2ecf20Sopenharmony_ciconfig CRYPTO_ESSIV 5258c2ecf20Sopenharmony_ci tristate "ESSIV support for block encryption" 5268c2ecf20Sopenharmony_ci select CRYPTO_AUTHENC 5278c2ecf20Sopenharmony_ci help 5288c2ecf20Sopenharmony_ci Encrypted salt-sector initialization vector (ESSIV) is an IV 5298c2ecf20Sopenharmony_ci generation method that is used in some cases by fscrypt and/or 5308c2ecf20Sopenharmony_ci dm-crypt. It uses the hash of the block encryption key as the 5318c2ecf20Sopenharmony_ci symmetric key for a block encryption pass applied to the input 5328c2ecf20Sopenharmony_ci IV, making low entropy IV sources more suitable for block 5338c2ecf20Sopenharmony_ci encryption. 5348c2ecf20Sopenharmony_ci 5358c2ecf20Sopenharmony_ci This driver implements a crypto API template that can be 5368c2ecf20Sopenharmony_ci instantiated either as an skcipher or as an AEAD (depending on the 5378c2ecf20Sopenharmony_ci type of the first template argument), and which defers encryption 5388c2ecf20Sopenharmony_ci and decryption requests to the encapsulated cipher after applying 5398c2ecf20Sopenharmony_ci ESSIV to the input IV. Note that in the AEAD case, it is assumed 5408c2ecf20Sopenharmony_ci that the keys are presented in the same format used by the authenc 5418c2ecf20Sopenharmony_ci template, and that the IV appears at the end of the authenticated 5428c2ecf20Sopenharmony_ci associated data (AAD) region (which is how dm-crypt uses it.) 5438c2ecf20Sopenharmony_ci 5448c2ecf20Sopenharmony_ci Note that the use of ESSIV is not recommended for new deployments, 5458c2ecf20Sopenharmony_ci and so this only needs to be enabled when interoperability with 5468c2ecf20Sopenharmony_ci existing encrypted volumes of filesystems is required, or when 5478c2ecf20Sopenharmony_ci building for a particular system that requires it (e.g., when 5488c2ecf20Sopenharmony_ci the SoC in question has accelerated CBC but not XTS, making CBC 5498c2ecf20Sopenharmony_ci combined with ESSIV the only feasible mode for h/w accelerated 5508c2ecf20Sopenharmony_ci block encryption) 5518c2ecf20Sopenharmony_ci 5528c2ecf20Sopenharmony_cicomment "Hash modes" 5538c2ecf20Sopenharmony_ci 5548c2ecf20Sopenharmony_ciconfig CRYPTO_CMAC 5558c2ecf20Sopenharmony_ci tristate "CMAC support" 5568c2ecf20Sopenharmony_ci select CRYPTO_HASH 5578c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 5588c2ecf20Sopenharmony_ci help 5598c2ecf20Sopenharmony_ci Cipher-based Message Authentication Code (CMAC) specified by 5608c2ecf20Sopenharmony_ci The National Institute of Standards and Technology (NIST). 5618c2ecf20Sopenharmony_ci 5628c2ecf20Sopenharmony_ci https://tools.ietf.org/html/rfc4493 5638c2ecf20Sopenharmony_ci http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf 5648c2ecf20Sopenharmony_ci 5658c2ecf20Sopenharmony_ciconfig CRYPTO_HMAC 5668c2ecf20Sopenharmony_ci tristate "HMAC support" 5678c2ecf20Sopenharmony_ci select CRYPTO_HASH 5688c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 5698c2ecf20Sopenharmony_ci help 5708c2ecf20Sopenharmony_ci HMAC: Keyed-Hashing for Message Authentication (RFC2104). 5718c2ecf20Sopenharmony_ci This is required for IPSec. 5728c2ecf20Sopenharmony_ci 5738c2ecf20Sopenharmony_ciconfig CRYPTO_XCBC 5748c2ecf20Sopenharmony_ci tristate "XCBC support" 5758c2ecf20Sopenharmony_ci select CRYPTO_HASH 5768c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 5778c2ecf20Sopenharmony_ci help 5788c2ecf20Sopenharmony_ci XCBC: Keyed-Hashing with encryption algorithm 5798c2ecf20Sopenharmony_ci https://www.ietf.org/rfc/rfc3566.txt 5808c2ecf20Sopenharmony_ci http://csrc.nist.gov/encryption/modes/proposedmodes/ 5818c2ecf20Sopenharmony_ci xcbc-mac/xcbc-mac-spec.pdf 5828c2ecf20Sopenharmony_ci 5838c2ecf20Sopenharmony_ciconfig CRYPTO_VMAC 5848c2ecf20Sopenharmony_ci tristate "VMAC support" 5858c2ecf20Sopenharmony_ci select CRYPTO_HASH 5868c2ecf20Sopenharmony_ci select CRYPTO_MANAGER 5878c2ecf20Sopenharmony_ci help 5888c2ecf20Sopenharmony_ci VMAC is a message authentication algorithm designed for 5898c2ecf20Sopenharmony_ci very high speed on 64-bit architectures. 5908c2ecf20Sopenharmony_ci 5918c2ecf20Sopenharmony_ci See also: 5928c2ecf20Sopenharmony_ci <https://fastcrypto.org/vmac> 5938c2ecf20Sopenharmony_ci 5948c2ecf20Sopenharmony_cicomment "Digest" 5958c2ecf20Sopenharmony_ci 5968c2ecf20Sopenharmony_ciconfig CRYPTO_CRC32C 5978c2ecf20Sopenharmony_ci tristate "CRC32c CRC algorithm" 5988c2ecf20Sopenharmony_ci select CRYPTO_HASH 5998c2ecf20Sopenharmony_ci select CRC32 6008c2ecf20Sopenharmony_ci help 6018c2ecf20Sopenharmony_ci Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used 6028c2ecf20Sopenharmony_ci by iSCSI for header and data digests and by others. 6038c2ecf20Sopenharmony_ci See Castagnoli93. Module will be crc32c. 6048c2ecf20Sopenharmony_ci 6058c2ecf20Sopenharmony_ciconfig CRYPTO_CRC32C_INTEL 6068c2ecf20Sopenharmony_ci tristate "CRC32c INTEL hardware acceleration" 6078c2ecf20Sopenharmony_ci depends on X86 6088c2ecf20Sopenharmony_ci select CRYPTO_HASH 6098c2ecf20Sopenharmony_ci help 6108c2ecf20Sopenharmony_ci In Intel processor with SSE4.2 supported, the processor will 6118c2ecf20Sopenharmony_ci support CRC32C implementation using hardware accelerated CRC32 6128c2ecf20Sopenharmony_ci instruction. This option will create 'crc32c-intel' module, 6138c2ecf20Sopenharmony_ci which will enable any routine to use the CRC32 instruction to 6148c2ecf20Sopenharmony_ci gain performance compared with software implementation. 6158c2ecf20Sopenharmony_ci Module will be crc32c-intel. 6168c2ecf20Sopenharmony_ci 6178c2ecf20Sopenharmony_ciconfig CRYPTO_CRC32C_VPMSUM 6188c2ecf20Sopenharmony_ci tristate "CRC32c CRC algorithm (powerpc64)" 6198c2ecf20Sopenharmony_ci depends on PPC64 && ALTIVEC 6208c2ecf20Sopenharmony_ci select CRYPTO_HASH 6218c2ecf20Sopenharmony_ci select CRC32 6228c2ecf20Sopenharmony_ci help 6238c2ecf20Sopenharmony_ci CRC32c algorithm implemented using vector polynomial multiply-sum 6248c2ecf20Sopenharmony_ci (vpmsum) instructions, introduced in POWER8. Enable on POWER8 6258c2ecf20Sopenharmony_ci and newer processors for improved performance. 6268c2ecf20Sopenharmony_ci 6278c2ecf20Sopenharmony_ci 6288c2ecf20Sopenharmony_ciconfig CRYPTO_CRC32C_SPARC64 6298c2ecf20Sopenharmony_ci tristate "CRC32c CRC algorithm (SPARC64)" 6308c2ecf20Sopenharmony_ci depends on SPARC64 6318c2ecf20Sopenharmony_ci select CRYPTO_HASH 6328c2ecf20Sopenharmony_ci select CRC32 6338c2ecf20Sopenharmony_ci help 6348c2ecf20Sopenharmony_ci CRC32c CRC algorithm implemented using sparc64 crypto instructions, 6358c2ecf20Sopenharmony_ci when available. 6368c2ecf20Sopenharmony_ci 6378c2ecf20Sopenharmony_ciconfig CRYPTO_CRC32 6388c2ecf20Sopenharmony_ci tristate "CRC32 CRC algorithm" 6398c2ecf20Sopenharmony_ci select CRYPTO_HASH 6408c2ecf20Sopenharmony_ci select CRC32 6418c2ecf20Sopenharmony_ci help 6428c2ecf20Sopenharmony_ci CRC-32-IEEE 802.3 cyclic redundancy-check algorithm. 6438c2ecf20Sopenharmony_ci Shash crypto api wrappers to crc32_le function. 6448c2ecf20Sopenharmony_ci 6458c2ecf20Sopenharmony_ciconfig CRYPTO_CRC32_PCLMUL 6468c2ecf20Sopenharmony_ci tristate "CRC32 PCLMULQDQ hardware acceleration" 6478c2ecf20Sopenharmony_ci depends on X86 6488c2ecf20Sopenharmony_ci select CRYPTO_HASH 6498c2ecf20Sopenharmony_ci select CRC32 6508c2ecf20Sopenharmony_ci help 6518c2ecf20Sopenharmony_ci From Intel Westmere and AMD Bulldozer processor with SSE4.2 6528c2ecf20Sopenharmony_ci and PCLMULQDQ supported, the processor will support 6538c2ecf20Sopenharmony_ci CRC32 PCLMULQDQ implementation using hardware accelerated PCLMULQDQ 6548c2ecf20Sopenharmony_ci instruction. This option will create 'crc32-pclmul' module, 6558c2ecf20Sopenharmony_ci which will enable any routine to use the CRC-32-IEEE 802.3 checksum 6568c2ecf20Sopenharmony_ci and gain better performance as compared with the table implementation. 6578c2ecf20Sopenharmony_ci 6588c2ecf20Sopenharmony_ciconfig CRYPTO_CRC32_MIPS 6598c2ecf20Sopenharmony_ci tristate "CRC32c and CRC32 CRC algorithm (MIPS)" 6608c2ecf20Sopenharmony_ci depends on MIPS_CRC_SUPPORT 6618c2ecf20Sopenharmony_ci select CRYPTO_HASH 6628c2ecf20Sopenharmony_ci help 6638c2ecf20Sopenharmony_ci CRC32c and CRC32 CRC algorithms implemented using mips crypto 6648c2ecf20Sopenharmony_ci instructions, when available. 6658c2ecf20Sopenharmony_ci 6668c2ecf20Sopenharmony_ciconfig CRYPTO_CRC32_LOONGARCH 6678c2ecf20Sopenharmony_ci tristate "CRC32c and CRC32 CRC algorithm (LoongArch)" 6688c2ecf20Sopenharmony_ci depends on LOONGARCH 6698c2ecf20Sopenharmony_ci select CRC32 6708c2ecf20Sopenharmony_ci select CRYPTO_HASH 6718c2ecf20Sopenharmony_ci help 6728c2ecf20Sopenharmony_ci CRC32c and CRC32 CRC algorithms implemented using LoongArch 6738c2ecf20Sopenharmony_ci CRC32 instructions, when available. 6748c2ecf20Sopenharmony_ci 6758c2ecf20Sopenharmony_ciconfig CRYPTO_XXHASH 6768c2ecf20Sopenharmony_ci tristate "xxHash hash algorithm" 6778c2ecf20Sopenharmony_ci select CRYPTO_HASH 6788c2ecf20Sopenharmony_ci select XXHASH 6798c2ecf20Sopenharmony_ci help 6808c2ecf20Sopenharmony_ci xxHash non-cryptographic hash algorithm. Extremely fast, working at 6818c2ecf20Sopenharmony_ci speeds close to RAM limits. 6828c2ecf20Sopenharmony_ci 6838c2ecf20Sopenharmony_ciconfig CRYPTO_BLAKE2B 6848c2ecf20Sopenharmony_ci tristate "BLAKE2b digest algorithm" 6858c2ecf20Sopenharmony_ci select CRYPTO_HASH 6868c2ecf20Sopenharmony_ci help 6878c2ecf20Sopenharmony_ci Implementation of cryptographic hash function BLAKE2b (or just BLAKE2), 6888c2ecf20Sopenharmony_ci optimized for 64bit platforms and can produce digests of any size 6898c2ecf20Sopenharmony_ci between 1 to 64. The keyed hash is also implemented. 6908c2ecf20Sopenharmony_ci 6918c2ecf20Sopenharmony_ci This module provides the following algorithms: 6928c2ecf20Sopenharmony_ci 6938c2ecf20Sopenharmony_ci - blake2b-160 6948c2ecf20Sopenharmony_ci - blake2b-256 6958c2ecf20Sopenharmony_ci - blake2b-384 6968c2ecf20Sopenharmony_ci - blake2b-512 6978c2ecf20Sopenharmony_ci 6988c2ecf20Sopenharmony_ci See https://blake2.net for further information. 6998c2ecf20Sopenharmony_ci 7008c2ecf20Sopenharmony_ciconfig CRYPTO_BLAKE2S 7018c2ecf20Sopenharmony_ci tristate "BLAKE2s digest algorithm" 7028c2ecf20Sopenharmony_ci select CRYPTO_LIB_BLAKE2S_GENERIC 7038c2ecf20Sopenharmony_ci select CRYPTO_HASH 7048c2ecf20Sopenharmony_ci help 7058c2ecf20Sopenharmony_ci Implementation of cryptographic hash function BLAKE2s 7068c2ecf20Sopenharmony_ci optimized for 8-32bit platforms and can produce digests of any size 7078c2ecf20Sopenharmony_ci between 1 to 32. The keyed hash is also implemented. 7088c2ecf20Sopenharmony_ci 7098c2ecf20Sopenharmony_ci This module provides the following algorithms: 7108c2ecf20Sopenharmony_ci 7118c2ecf20Sopenharmony_ci - blake2s-128 7128c2ecf20Sopenharmony_ci - blake2s-160 7138c2ecf20Sopenharmony_ci - blake2s-224 7148c2ecf20Sopenharmony_ci - blake2s-256 7158c2ecf20Sopenharmony_ci 7168c2ecf20Sopenharmony_ci See https://blake2.net for further information. 7178c2ecf20Sopenharmony_ci 7188c2ecf20Sopenharmony_ciconfig CRYPTO_BLAKE2S_X86 7198c2ecf20Sopenharmony_ci tristate "BLAKE2s digest algorithm (x86 accelerated version)" 7208c2ecf20Sopenharmony_ci depends on X86 && 64BIT 7218c2ecf20Sopenharmony_ci select CRYPTO_LIB_BLAKE2S_GENERIC 7228c2ecf20Sopenharmony_ci select CRYPTO_ARCH_HAVE_LIB_BLAKE2S 7238c2ecf20Sopenharmony_ci 7248c2ecf20Sopenharmony_ciconfig CRYPTO_CRCT10DIF 7258c2ecf20Sopenharmony_ci tristate "CRCT10DIF algorithm" 7268c2ecf20Sopenharmony_ci select CRYPTO_HASH 7278c2ecf20Sopenharmony_ci help 7288c2ecf20Sopenharmony_ci CRC T10 Data Integrity Field computation is being cast as 7298c2ecf20Sopenharmony_ci a crypto transform. This allows for faster crc t10 diff 7308c2ecf20Sopenharmony_ci transforms to be used if they are available. 7318c2ecf20Sopenharmony_ci 7328c2ecf20Sopenharmony_ciconfig CRYPTO_CRCT10DIF_PCLMUL 7338c2ecf20Sopenharmony_ci tristate "CRCT10DIF PCLMULQDQ hardware acceleration" 7348c2ecf20Sopenharmony_ci depends on X86 && 64BIT && CRC_T10DIF 7358c2ecf20Sopenharmony_ci select CRYPTO_HASH 7368c2ecf20Sopenharmony_ci help 7378c2ecf20Sopenharmony_ci For x86_64 processors with SSE4.2 and PCLMULQDQ supported, 7388c2ecf20Sopenharmony_ci CRC T10 DIF PCLMULQDQ computation can be hardware 7398c2ecf20Sopenharmony_ci accelerated PCLMULQDQ instruction. This option will create 7408c2ecf20Sopenharmony_ci 'crct10dif-pclmul' module, which is faster when computing the 7418c2ecf20Sopenharmony_ci crct10dif checksum as compared with the generic table implementation. 7428c2ecf20Sopenharmony_ci 7438c2ecf20Sopenharmony_ciconfig CRYPTO_CRCT10DIF_VPMSUM 7448c2ecf20Sopenharmony_ci tristate "CRC32T10DIF powerpc64 hardware acceleration" 7458c2ecf20Sopenharmony_ci depends on PPC64 && ALTIVEC && CRC_T10DIF 7468c2ecf20Sopenharmony_ci select CRYPTO_HASH 7478c2ecf20Sopenharmony_ci help 7488c2ecf20Sopenharmony_ci CRC10T10DIF algorithm implemented using vector polynomial 7498c2ecf20Sopenharmony_ci multiply-sum (vpmsum) instructions, introduced in POWER8. Enable on 7508c2ecf20Sopenharmony_ci POWER8 and newer processors for improved performance. 7518c2ecf20Sopenharmony_ci 7528c2ecf20Sopenharmony_ciconfig CRYPTO_VPMSUM_TESTER 7538c2ecf20Sopenharmony_ci tristate "Powerpc64 vpmsum hardware acceleration tester" 7548c2ecf20Sopenharmony_ci depends on CRYPTO_CRCT10DIF_VPMSUM && CRYPTO_CRC32C_VPMSUM 7558c2ecf20Sopenharmony_ci help 7568c2ecf20Sopenharmony_ci Stress test for CRC32c and CRC-T10DIF algorithms implemented with 7578c2ecf20Sopenharmony_ci POWER8 vpmsum instructions. 7588c2ecf20Sopenharmony_ci Unless you are testing these algorithms, you don't need this. 7598c2ecf20Sopenharmony_ci 7608c2ecf20Sopenharmony_ciconfig CRYPTO_GHASH 7618c2ecf20Sopenharmony_ci tristate "GHASH hash function" 7628c2ecf20Sopenharmony_ci select CRYPTO_GF128MUL 7638c2ecf20Sopenharmony_ci select CRYPTO_HASH 7648c2ecf20Sopenharmony_ci help 7658c2ecf20Sopenharmony_ci GHASH is the hash function used in GCM (Galois/Counter Mode). 7668c2ecf20Sopenharmony_ci It is not a general-purpose cryptographic hash function. 7678c2ecf20Sopenharmony_ci 7688c2ecf20Sopenharmony_ciconfig CRYPTO_POLY1305 7698c2ecf20Sopenharmony_ci tristate "Poly1305 authenticator algorithm" 7708c2ecf20Sopenharmony_ci select CRYPTO_HASH 7718c2ecf20Sopenharmony_ci select CRYPTO_LIB_POLY1305_GENERIC 7728c2ecf20Sopenharmony_ci help 7738c2ecf20Sopenharmony_ci Poly1305 authenticator algorithm, RFC7539. 7748c2ecf20Sopenharmony_ci 7758c2ecf20Sopenharmony_ci Poly1305 is an authenticator algorithm designed by Daniel J. Bernstein. 7768c2ecf20Sopenharmony_ci It is used for the ChaCha20-Poly1305 AEAD, specified in RFC7539 for use 7778c2ecf20Sopenharmony_ci in IETF protocols. This is the portable C implementation of Poly1305. 7788c2ecf20Sopenharmony_ci 7798c2ecf20Sopenharmony_ciconfig CRYPTO_POLY1305_X86_64 7808c2ecf20Sopenharmony_ci tristate "Poly1305 authenticator algorithm (x86_64/SSE2/AVX2)" 7818c2ecf20Sopenharmony_ci depends on X86 && 64BIT 7828c2ecf20Sopenharmony_ci select CRYPTO_LIB_POLY1305_GENERIC 7838c2ecf20Sopenharmony_ci select CRYPTO_ARCH_HAVE_LIB_POLY1305 7848c2ecf20Sopenharmony_ci help 7858c2ecf20Sopenharmony_ci Poly1305 authenticator algorithm, RFC7539. 7868c2ecf20Sopenharmony_ci 7878c2ecf20Sopenharmony_ci Poly1305 is an authenticator algorithm designed by Daniel J. Bernstein. 7888c2ecf20Sopenharmony_ci It is used for the ChaCha20-Poly1305 AEAD, specified in RFC7539 for use 7898c2ecf20Sopenharmony_ci in IETF protocols. This is the x86_64 assembler implementation using SIMD 7908c2ecf20Sopenharmony_ci instructions. 7918c2ecf20Sopenharmony_ci 7928c2ecf20Sopenharmony_ciconfig CRYPTO_POLY1305_MIPS 7938c2ecf20Sopenharmony_ci tristate "Poly1305 authenticator algorithm (MIPS optimized)" 7948c2ecf20Sopenharmony_ci depends on MIPS 7958c2ecf20Sopenharmony_ci select CRYPTO_ARCH_HAVE_LIB_POLY1305 7968c2ecf20Sopenharmony_ci 7978c2ecf20Sopenharmony_ciconfig CRYPTO_MD4 7988c2ecf20Sopenharmony_ci tristate "MD4 digest algorithm" 7998c2ecf20Sopenharmony_ci select CRYPTO_HASH 8008c2ecf20Sopenharmony_ci help 8018c2ecf20Sopenharmony_ci MD4 message digest algorithm (RFC1320). 8028c2ecf20Sopenharmony_ci 8038c2ecf20Sopenharmony_ciconfig CRYPTO_MD5 8048c2ecf20Sopenharmony_ci tristate "MD5 digest algorithm" 8058c2ecf20Sopenharmony_ci select CRYPTO_HASH 8068c2ecf20Sopenharmony_ci help 8078c2ecf20Sopenharmony_ci MD5 message digest algorithm (RFC1321). 8088c2ecf20Sopenharmony_ci 8098c2ecf20Sopenharmony_ciconfig CRYPTO_MD5_OCTEON 8108c2ecf20Sopenharmony_ci tristate "MD5 digest algorithm (OCTEON)" 8118c2ecf20Sopenharmony_ci depends on CPU_CAVIUM_OCTEON 8128c2ecf20Sopenharmony_ci select CRYPTO_MD5 8138c2ecf20Sopenharmony_ci select CRYPTO_HASH 8148c2ecf20Sopenharmony_ci help 8158c2ecf20Sopenharmony_ci MD5 message digest algorithm (RFC1321) implemented 8168c2ecf20Sopenharmony_ci using OCTEON crypto instructions, when available. 8178c2ecf20Sopenharmony_ci 8188c2ecf20Sopenharmony_ciconfig CRYPTO_MD5_PPC 8198c2ecf20Sopenharmony_ci tristate "MD5 digest algorithm (PPC)" 8208c2ecf20Sopenharmony_ci depends on PPC 8218c2ecf20Sopenharmony_ci select CRYPTO_HASH 8228c2ecf20Sopenharmony_ci help 8238c2ecf20Sopenharmony_ci MD5 message digest algorithm (RFC1321) implemented 8248c2ecf20Sopenharmony_ci in PPC assembler. 8258c2ecf20Sopenharmony_ci 8268c2ecf20Sopenharmony_ciconfig CRYPTO_MD5_SPARC64 8278c2ecf20Sopenharmony_ci tristate "MD5 digest algorithm (SPARC64)" 8288c2ecf20Sopenharmony_ci depends on SPARC64 8298c2ecf20Sopenharmony_ci select CRYPTO_MD5 8308c2ecf20Sopenharmony_ci select CRYPTO_HASH 8318c2ecf20Sopenharmony_ci help 8328c2ecf20Sopenharmony_ci MD5 message digest algorithm (RFC1321) implemented 8338c2ecf20Sopenharmony_ci using sparc64 crypto instructions, when available. 8348c2ecf20Sopenharmony_ci 8358c2ecf20Sopenharmony_ciconfig CRYPTO_MICHAEL_MIC 8368c2ecf20Sopenharmony_ci tristate "Michael MIC keyed digest algorithm" 8378c2ecf20Sopenharmony_ci select CRYPTO_HASH 8388c2ecf20Sopenharmony_ci help 8398c2ecf20Sopenharmony_ci Michael MIC is used for message integrity protection in TKIP 8408c2ecf20Sopenharmony_ci (IEEE 802.11i). This algorithm is required for TKIP, but it 8418c2ecf20Sopenharmony_ci should not be used for other purposes because of the weakness 8428c2ecf20Sopenharmony_ci of the algorithm. 8438c2ecf20Sopenharmony_ci 8448c2ecf20Sopenharmony_ciconfig CRYPTO_RMD128 8458c2ecf20Sopenharmony_ci tristate "RIPEMD-128 digest algorithm" 8468c2ecf20Sopenharmony_ci select CRYPTO_HASH 8478c2ecf20Sopenharmony_ci help 8488c2ecf20Sopenharmony_ci RIPEMD-128 (ISO/IEC 10118-3:2004). 8498c2ecf20Sopenharmony_ci 8508c2ecf20Sopenharmony_ci RIPEMD-128 is a 128-bit cryptographic hash function. It should only 8518c2ecf20Sopenharmony_ci be used as a secure replacement for RIPEMD. For other use cases, 8528c2ecf20Sopenharmony_ci RIPEMD-160 should be used. 8538c2ecf20Sopenharmony_ci 8548c2ecf20Sopenharmony_ci Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. 8558c2ecf20Sopenharmony_ci See <https://homes.esat.kuleuven.be/~bosselae/ripemd160.html> 8568c2ecf20Sopenharmony_ci 8578c2ecf20Sopenharmony_ciconfig CRYPTO_RMD160 8588c2ecf20Sopenharmony_ci tristate "RIPEMD-160 digest algorithm" 8598c2ecf20Sopenharmony_ci select CRYPTO_HASH 8608c2ecf20Sopenharmony_ci help 8618c2ecf20Sopenharmony_ci RIPEMD-160 (ISO/IEC 10118-3:2004). 8628c2ecf20Sopenharmony_ci 8638c2ecf20Sopenharmony_ci RIPEMD-160 is a 160-bit cryptographic hash function. It is intended 8648c2ecf20Sopenharmony_ci to be used as a secure replacement for the 128-bit hash functions 8658c2ecf20Sopenharmony_ci MD4, MD5 and it's predecessor RIPEMD 8668c2ecf20Sopenharmony_ci (not to be confused with RIPEMD-128). 8678c2ecf20Sopenharmony_ci 8688c2ecf20Sopenharmony_ci It's speed is comparable to SHA1 and there are no known attacks 8698c2ecf20Sopenharmony_ci against RIPEMD-160. 8708c2ecf20Sopenharmony_ci 8718c2ecf20Sopenharmony_ci Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. 8728c2ecf20Sopenharmony_ci See <https://homes.esat.kuleuven.be/~bosselae/ripemd160.html> 8738c2ecf20Sopenharmony_ci 8748c2ecf20Sopenharmony_ciconfig CRYPTO_RMD256 8758c2ecf20Sopenharmony_ci tristate "RIPEMD-256 digest algorithm" 8768c2ecf20Sopenharmony_ci select CRYPTO_HASH 8778c2ecf20Sopenharmony_ci help 8788c2ecf20Sopenharmony_ci RIPEMD-256 is an optional extension of RIPEMD-128 with a 8798c2ecf20Sopenharmony_ci 256 bit hash. It is intended for applications that require 8808c2ecf20Sopenharmony_ci longer hash-results, without needing a larger security level 8818c2ecf20Sopenharmony_ci (than RIPEMD-128). 8828c2ecf20Sopenharmony_ci 8838c2ecf20Sopenharmony_ci Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. 8848c2ecf20Sopenharmony_ci See <https://homes.esat.kuleuven.be/~bosselae/ripemd160.html> 8858c2ecf20Sopenharmony_ci 8868c2ecf20Sopenharmony_ciconfig CRYPTO_RMD320 8878c2ecf20Sopenharmony_ci tristate "RIPEMD-320 digest algorithm" 8888c2ecf20Sopenharmony_ci select CRYPTO_HASH 8898c2ecf20Sopenharmony_ci help 8908c2ecf20Sopenharmony_ci RIPEMD-320 is an optional extension of RIPEMD-160 with a 8918c2ecf20Sopenharmony_ci 320 bit hash. It is intended for applications that require 8928c2ecf20Sopenharmony_ci longer hash-results, without needing a larger security level 8938c2ecf20Sopenharmony_ci (than RIPEMD-160). 8948c2ecf20Sopenharmony_ci 8958c2ecf20Sopenharmony_ci Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. 8968c2ecf20Sopenharmony_ci See <https://homes.esat.kuleuven.be/~bosselae/ripemd160.html> 8978c2ecf20Sopenharmony_ci 8988c2ecf20Sopenharmony_ciconfig CRYPTO_SHA1 8998c2ecf20Sopenharmony_ci tristate "SHA1 digest algorithm" 9008c2ecf20Sopenharmony_ci select CRYPTO_HASH 9018c2ecf20Sopenharmony_ci help 9028c2ecf20Sopenharmony_ci SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 9038c2ecf20Sopenharmony_ci 9048c2ecf20Sopenharmony_ciconfig CRYPTO_SHA1_SSSE3 9058c2ecf20Sopenharmony_ci tristate "SHA1 digest algorithm (SSSE3/AVX/AVX2/SHA-NI)" 9068c2ecf20Sopenharmony_ci depends on X86 && 64BIT 9078c2ecf20Sopenharmony_ci select CRYPTO_SHA1 9088c2ecf20Sopenharmony_ci select CRYPTO_HASH 9098c2ecf20Sopenharmony_ci help 9108c2ecf20Sopenharmony_ci SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented 9118c2ecf20Sopenharmony_ci using Supplemental SSE3 (SSSE3) instructions or Advanced Vector 9128c2ecf20Sopenharmony_ci Extensions (AVX/AVX2) or SHA-NI(SHA Extensions New Instructions), 9138c2ecf20Sopenharmony_ci when available. 9148c2ecf20Sopenharmony_ci 9158c2ecf20Sopenharmony_ciconfig CRYPTO_SHA256_SSSE3 9168c2ecf20Sopenharmony_ci tristate "SHA256 digest algorithm (SSSE3/AVX/AVX2/SHA-NI)" 9178c2ecf20Sopenharmony_ci depends on X86 && 64BIT 9188c2ecf20Sopenharmony_ci select CRYPTO_SHA256 9198c2ecf20Sopenharmony_ci select CRYPTO_HASH 9208c2ecf20Sopenharmony_ci help 9218c2ecf20Sopenharmony_ci SHA-256 secure hash standard (DFIPS 180-2) implemented 9228c2ecf20Sopenharmony_ci using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector 9238c2ecf20Sopenharmony_ci Extensions version 1 (AVX1), or Advanced Vector Extensions 9248c2ecf20Sopenharmony_ci version 2 (AVX2) instructions, or SHA-NI (SHA Extensions New 9258c2ecf20Sopenharmony_ci Instructions) when available. 9268c2ecf20Sopenharmony_ci 9278c2ecf20Sopenharmony_ciconfig CRYPTO_SHA512_SSSE3 9288c2ecf20Sopenharmony_ci tristate "SHA512 digest algorithm (SSSE3/AVX/AVX2)" 9298c2ecf20Sopenharmony_ci depends on X86 && 64BIT 9308c2ecf20Sopenharmony_ci select CRYPTO_SHA512 9318c2ecf20Sopenharmony_ci select CRYPTO_HASH 9328c2ecf20Sopenharmony_ci help 9338c2ecf20Sopenharmony_ci SHA-512 secure hash standard (DFIPS 180-2) implemented 9348c2ecf20Sopenharmony_ci using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector 9358c2ecf20Sopenharmony_ci Extensions version 1 (AVX1), or Advanced Vector Extensions 9368c2ecf20Sopenharmony_ci version 2 (AVX2) instructions, when available. 9378c2ecf20Sopenharmony_ci 9388c2ecf20Sopenharmony_ciconfig CRYPTO_SHA1_OCTEON 9398c2ecf20Sopenharmony_ci tristate "SHA1 digest algorithm (OCTEON)" 9408c2ecf20Sopenharmony_ci depends on CPU_CAVIUM_OCTEON 9418c2ecf20Sopenharmony_ci select CRYPTO_SHA1 9428c2ecf20Sopenharmony_ci select CRYPTO_HASH 9438c2ecf20Sopenharmony_ci help 9448c2ecf20Sopenharmony_ci SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented 9458c2ecf20Sopenharmony_ci using OCTEON crypto instructions, when available. 9468c2ecf20Sopenharmony_ci 9478c2ecf20Sopenharmony_ciconfig CRYPTO_SHA1_SPARC64 9488c2ecf20Sopenharmony_ci tristate "SHA1 digest algorithm (SPARC64)" 9498c2ecf20Sopenharmony_ci depends on SPARC64 9508c2ecf20Sopenharmony_ci select CRYPTO_SHA1 9518c2ecf20Sopenharmony_ci select CRYPTO_HASH 9528c2ecf20Sopenharmony_ci help 9538c2ecf20Sopenharmony_ci SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented 9548c2ecf20Sopenharmony_ci using sparc64 crypto instructions, when available. 9558c2ecf20Sopenharmony_ci 9568c2ecf20Sopenharmony_ciconfig CRYPTO_SHA1_PPC 9578c2ecf20Sopenharmony_ci tristate "SHA1 digest algorithm (powerpc)" 9588c2ecf20Sopenharmony_ci depends on PPC 9598c2ecf20Sopenharmony_ci help 9608c2ecf20Sopenharmony_ci This is the powerpc hardware accelerated implementation of the 9618c2ecf20Sopenharmony_ci SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 9628c2ecf20Sopenharmony_ci 9638c2ecf20Sopenharmony_ciconfig CRYPTO_SHA1_PPC_SPE 9648c2ecf20Sopenharmony_ci tristate "SHA1 digest algorithm (PPC SPE)" 9658c2ecf20Sopenharmony_ci depends on PPC && SPE 9668c2ecf20Sopenharmony_ci help 9678c2ecf20Sopenharmony_ci SHA-1 secure hash standard (DFIPS 180-4) implemented 9688c2ecf20Sopenharmony_ci using powerpc SPE SIMD instruction set. 9698c2ecf20Sopenharmony_ci 9708c2ecf20Sopenharmony_ciconfig CRYPTO_SHA256 9718c2ecf20Sopenharmony_ci tristate "SHA224 and SHA256 digest algorithm" 9728c2ecf20Sopenharmony_ci select CRYPTO_HASH 9738c2ecf20Sopenharmony_ci select CRYPTO_LIB_SHA256 9748c2ecf20Sopenharmony_ci help 9758c2ecf20Sopenharmony_ci SHA256 secure hash standard (DFIPS 180-2). 9768c2ecf20Sopenharmony_ci 9778c2ecf20Sopenharmony_ci This version of SHA implements a 256 bit hash with 128 bits of 9788c2ecf20Sopenharmony_ci security against collision attacks. 9798c2ecf20Sopenharmony_ci 9808c2ecf20Sopenharmony_ci This code also includes SHA-224, a 224 bit hash with 112 bits 9818c2ecf20Sopenharmony_ci of security against collision attacks. 9828c2ecf20Sopenharmony_ci 9838c2ecf20Sopenharmony_ciconfig CRYPTO_SHA256_PPC_SPE 9848c2ecf20Sopenharmony_ci tristate "SHA224 and SHA256 digest algorithm (PPC SPE)" 9858c2ecf20Sopenharmony_ci depends on PPC && SPE 9868c2ecf20Sopenharmony_ci select CRYPTO_SHA256 9878c2ecf20Sopenharmony_ci select CRYPTO_HASH 9888c2ecf20Sopenharmony_ci help 9898c2ecf20Sopenharmony_ci SHA224 and SHA256 secure hash standard (DFIPS 180-2) 9908c2ecf20Sopenharmony_ci implemented using powerpc SPE SIMD instruction set. 9918c2ecf20Sopenharmony_ci 9928c2ecf20Sopenharmony_ciconfig CRYPTO_SHA256_OCTEON 9938c2ecf20Sopenharmony_ci tristate "SHA224 and SHA256 digest algorithm (OCTEON)" 9948c2ecf20Sopenharmony_ci depends on CPU_CAVIUM_OCTEON 9958c2ecf20Sopenharmony_ci select CRYPTO_SHA256 9968c2ecf20Sopenharmony_ci select CRYPTO_HASH 9978c2ecf20Sopenharmony_ci help 9988c2ecf20Sopenharmony_ci SHA-256 secure hash standard (DFIPS 180-2) implemented 9998c2ecf20Sopenharmony_ci using OCTEON crypto instructions, when available. 10008c2ecf20Sopenharmony_ci 10018c2ecf20Sopenharmony_ciconfig CRYPTO_SHA256_SPARC64 10028c2ecf20Sopenharmony_ci tristate "SHA224 and SHA256 digest algorithm (SPARC64)" 10038c2ecf20Sopenharmony_ci depends on SPARC64 10048c2ecf20Sopenharmony_ci select CRYPTO_SHA256 10058c2ecf20Sopenharmony_ci select CRYPTO_HASH 10068c2ecf20Sopenharmony_ci help 10078c2ecf20Sopenharmony_ci SHA-256 secure hash standard (DFIPS 180-2) implemented 10088c2ecf20Sopenharmony_ci using sparc64 crypto instructions, when available. 10098c2ecf20Sopenharmony_ci 10108c2ecf20Sopenharmony_ciconfig CRYPTO_SHA512 10118c2ecf20Sopenharmony_ci tristate "SHA384 and SHA512 digest algorithms" 10128c2ecf20Sopenharmony_ci select CRYPTO_HASH 10138c2ecf20Sopenharmony_ci help 10148c2ecf20Sopenharmony_ci SHA512 secure hash standard (DFIPS 180-2). 10158c2ecf20Sopenharmony_ci 10168c2ecf20Sopenharmony_ci This version of SHA implements a 512 bit hash with 256 bits of 10178c2ecf20Sopenharmony_ci security against collision attacks. 10188c2ecf20Sopenharmony_ci 10198c2ecf20Sopenharmony_ci This code also includes SHA-384, a 384 bit hash with 192 bits 10208c2ecf20Sopenharmony_ci of security against collision attacks. 10218c2ecf20Sopenharmony_ci 10228c2ecf20Sopenharmony_ciconfig CRYPTO_SHA512_OCTEON 10238c2ecf20Sopenharmony_ci tristate "SHA384 and SHA512 digest algorithms (OCTEON)" 10248c2ecf20Sopenharmony_ci depends on CPU_CAVIUM_OCTEON 10258c2ecf20Sopenharmony_ci select CRYPTO_SHA512 10268c2ecf20Sopenharmony_ci select CRYPTO_HASH 10278c2ecf20Sopenharmony_ci help 10288c2ecf20Sopenharmony_ci SHA-512 secure hash standard (DFIPS 180-2) implemented 10298c2ecf20Sopenharmony_ci using OCTEON crypto instructions, when available. 10308c2ecf20Sopenharmony_ci 10318c2ecf20Sopenharmony_ciconfig CRYPTO_SHA512_SPARC64 10328c2ecf20Sopenharmony_ci tristate "SHA384 and SHA512 digest algorithm (SPARC64)" 10338c2ecf20Sopenharmony_ci depends on SPARC64 10348c2ecf20Sopenharmony_ci select CRYPTO_SHA512 10358c2ecf20Sopenharmony_ci select CRYPTO_HASH 10368c2ecf20Sopenharmony_ci help 10378c2ecf20Sopenharmony_ci SHA-512 secure hash standard (DFIPS 180-2) implemented 10388c2ecf20Sopenharmony_ci using sparc64 crypto instructions, when available. 10398c2ecf20Sopenharmony_ci 10408c2ecf20Sopenharmony_ciconfig CRYPTO_SHA3 10418c2ecf20Sopenharmony_ci tristate "SHA3 digest algorithm" 10428c2ecf20Sopenharmony_ci select CRYPTO_HASH 10438c2ecf20Sopenharmony_ci help 10448c2ecf20Sopenharmony_ci SHA-3 secure hash standard (DFIPS 202). It's based on 10458c2ecf20Sopenharmony_ci cryptographic sponge function family called Keccak. 10468c2ecf20Sopenharmony_ci 10478c2ecf20Sopenharmony_ci References: 10488c2ecf20Sopenharmony_ci http://keccak.noekeon.org/ 10498c2ecf20Sopenharmony_ci 10508c2ecf20Sopenharmony_ciconfig CRYPTO_SM3 10518c2ecf20Sopenharmony_ci tristate "SM3 digest algorithm" 10528c2ecf20Sopenharmony_ci select CRYPTO_HASH 10538c2ecf20Sopenharmony_ci help 10548c2ecf20Sopenharmony_ci SM3 secure hash function as defined by OSCCA GM/T 0004-2012 SM3). 10558c2ecf20Sopenharmony_ci It is part of the Chinese Commercial Cryptography suite. 10568c2ecf20Sopenharmony_ci 10578c2ecf20Sopenharmony_ci References: 10588c2ecf20Sopenharmony_ci http://www.oscca.gov.cn/UpFile/20101222141857786.pdf 10598c2ecf20Sopenharmony_ci https://datatracker.ietf.org/doc/html/draft-shen-sm3-hash 10608c2ecf20Sopenharmony_ci 10618c2ecf20Sopenharmony_ciconfig CRYPTO_STREEBOG 10628c2ecf20Sopenharmony_ci tristate "Streebog Hash Function" 10638c2ecf20Sopenharmony_ci select CRYPTO_HASH 10648c2ecf20Sopenharmony_ci help 10658c2ecf20Sopenharmony_ci Streebog Hash Function (GOST R 34.11-2012, RFC 6986) is one of the Russian 10668c2ecf20Sopenharmony_ci cryptographic standard algorithms (called GOST algorithms). 10678c2ecf20Sopenharmony_ci This setting enables two hash algorithms with 256 and 512 bits output. 10688c2ecf20Sopenharmony_ci 10698c2ecf20Sopenharmony_ci References: 10708c2ecf20Sopenharmony_ci https://tc26.ru/upload/iblock/fed/feddbb4d26b685903faa2ba11aea43f6.pdf 10718c2ecf20Sopenharmony_ci https://tools.ietf.org/html/rfc6986 10728c2ecf20Sopenharmony_ci 10738c2ecf20Sopenharmony_ciconfig CRYPTO_TGR192 10748c2ecf20Sopenharmony_ci tristate "Tiger digest algorithms" 10758c2ecf20Sopenharmony_ci select CRYPTO_HASH 10768c2ecf20Sopenharmony_ci help 10778c2ecf20Sopenharmony_ci Tiger hash algorithm 192, 160 and 128-bit hashes 10788c2ecf20Sopenharmony_ci 10798c2ecf20Sopenharmony_ci Tiger is a hash function optimized for 64-bit processors while 10808c2ecf20Sopenharmony_ci still having decent performance on 32-bit processors. 10818c2ecf20Sopenharmony_ci Tiger was developed by Ross Anderson and Eli Biham. 10828c2ecf20Sopenharmony_ci 10838c2ecf20Sopenharmony_ci See also: 10848c2ecf20Sopenharmony_ci <https://www.cs.technion.ac.il/~biham/Reports/Tiger/>. 10858c2ecf20Sopenharmony_ci 10868c2ecf20Sopenharmony_ciconfig CRYPTO_WP512 10878c2ecf20Sopenharmony_ci tristate "Whirlpool digest algorithms" 10888c2ecf20Sopenharmony_ci select CRYPTO_HASH 10898c2ecf20Sopenharmony_ci help 10908c2ecf20Sopenharmony_ci Whirlpool hash algorithm 512, 384 and 256-bit hashes 10918c2ecf20Sopenharmony_ci 10928c2ecf20Sopenharmony_ci Whirlpool-512 is part of the NESSIE cryptographic primitives. 10938c2ecf20Sopenharmony_ci Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard 10948c2ecf20Sopenharmony_ci 10958c2ecf20Sopenharmony_ci See also: 10968c2ecf20Sopenharmony_ci <http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html> 10978c2ecf20Sopenharmony_ci 10988c2ecf20Sopenharmony_ciconfig CRYPTO_GHASH_CLMUL_NI_INTEL 10998c2ecf20Sopenharmony_ci tristate "GHASH hash function (CLMUL-NI accelerated)" 11008c2ecf20Sopenharmony_ci depends on X86 && 64BIT 11018c2ecf20Sopenharmony_ci select CRYPTO_CRYPTD 11028c2ecf20Sopenharmony_ci help 11038c2ecf20Sopenharmony_ci This is the x86_64 CLMUL-NI accelerated implementation of 11048c2ecf20Sopenharmony_ci GHASH, the hash function used in GCM (Galois/Counter mode). 11058c2ecf20Sopenharmony_ci 11068c2ecf20Sopenharmony_cicomment "Ciphers" 11078c2ecf20Sopenharmony_ci 11088c2ecf20Sopenharmony_ciconfig CRYPTO_AES 11098c2ecf20Sopenharmony_ci tristate "AES cipher algorithms" 11108c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 11118c2ecf20Sopenharmony_ci select CRYPTO_LIB_AES 11128c2ecf20Sopenharmony_ci help 11138c2ecf20Sopenharmony_ci AES cipher algorithms (FIPS-197). AES uses the Rijndael 11148c2ecf20Sopenharmony_ci algorithm. 11158c2ecf20Sopenharmony_ci 11168c2ecf20Sopenharmony_ci Rijndael appears to be consistently a very good performer in 11178c2ecf20Sopenharmony_ci both hardware and software across a wide range of computing 11188c2ecf20Sopenharmony_ci environments regardless of its use in feedback or non-feedback 11198c2ecf20Sopenharmony_ci modes. Its key setup time is excellent, and its key agility is 11208c2ecf20Sopenharmony_ci good. Rijndael's very low memory requirements make it very well 11218c2ecf20Sopenharmony_ci suited for restricted-space environments, in which it also 11228c2ecf20Sopenharmony_ci demonstrates excellent performance. Rijndael's operations are 11238c2ecf20Sopenharmony_ci among the easiest to defend against power and timing attacks. 11248c2ecf20Sopenharmony_ci 11258c2ecf20Sopenharmony_ci The AES specifies three key sizes: 128, 192 and 256 bits 11268c2ecf20Sopenharmony_ci 11278c2ecf20Sopenharmony_ci See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information. 11288c2ecf20Sopenharmony_ci 11298c2ecf20Sopenharmony_ciconfig CRYPTO_AES_TI 11308c2ecf20Sopenharmony_ci tristate "Fixed time AES cipher" 11318c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 11328c2ecf20Sopenharmony_ci select CRYPTO_LIB_AES 11338c2ecf20Sopenharmony_ci help 11348c2ecf20Sopenharmony_ci This is a generic implementation of AES that attempts to eliminate 11358c2ecf20Sopenharmony_ci data dependent latencies as much as possible without affecting 11368c2ecf20Sopenharmony_ci performance too much. It is intended for use by the generic CCM 11378c2ecf20Sopenharmony_ci and GCM drivers, and other CTR or CMAC/XCBC based modes that rely 11388c2ecf20Sopenharmony_ci solely on encryption (although decryption is supported as well, but 11398c2ecf20Sopenharmony_ci with a more dramatic performance hit) 11408c2ecf20Sopenharmony_ci 11418c2ecf20Sopenharmony_ci Instead of using 16 lookup tables of 1 KB each, (8 for encryption and 11428c2ecf20Sopenharmony_ci 8 for decryption), this implementation only uses just two S-boxes of 11438c2ecf20Sopenharmony_ci 256 bytes each, and attempts to eliminate data dependent latencies by 11448c2ecf20Sopenharmony_ci prefetching the entire table into the cache at the start of each 11458c2ecf20Sopenharmony_ci block. Interrupts are also disabled to avoid races where cachelines 11468c2ecf20Sopenharmony_ci are evicted when the CPU is interrupted to do something else. 11478c2ecf20Sopenharmony_ci 11488c2ecf20Sopenharmony_ciconfig CRYPTO_AES_NI_INTEL 11498c2ecf20Sopenharmony_ci tristate "AES cipher algorithms (AES-NI)" 11508c2ecf20Sopenharmony_ci depends on X86 11518c2ecf20Sopenharmony_ci select CRYPTO_AEAD 11528c2ecf20Sopenharmony_ci select CRYPTO_LIB_AES 11538c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 11548c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 11558c2ecf20Sopenharmony_ci select CRYPTO_GLUE_HELPER_X86 if 64BIT 11568c2ecf20Sopenharmony_ci select CRYPTO_SIMD 11578c2ecf20Sopenharmony_ci help 11588c2ecf20Sopenharmony_ci Use Intel AES-NI instructions for AES algorithm. 11598c2ecf20Sopenharmony_ci 11608c2ecf20Sopenharmony_ci AES cipher algorithms (FIPS-197). AES uses the Rijndael 11618c2ecf20Sopenharmony_ci algorithm. 11628c2ecf20Sopenharmony_ci 11638c2ecf20Sopenharmony_ci Rijndael appears to be consistently a very good performer in 11648c2ecf20Sopenharmony_ci both hardware and software across a wide range of computing 11658c2ecf20Sopenharmony_ci environments regardless of its use in feedback or non-feedback 11668c2ecf20Sopenharmony_ci modes. Its key setup time is excellent, and its key agility is 11678c2ecf20Sopenharmony_ci good. Rijndael's very low memory requirements make it very well 11688c2ecf20Sopenharmony_ci suited for restricted-space environments, in which it also 11698c2ecf20Sopenharmony_ci demonstrates excellent performance. Rijndael's operations are 11708c2ecf20Sopenharmony_ci among the easiest to defend against power and timing attacks. 11718c2ecf20Sopenharmony_ci 11728c2ecf20Sopenharmony_ci The AES specifies three key sizes: 128, 192 and 256 bits 11738c2ecf20Sopenharmony_ci 11748c2ecf20Sopenharmony_ci See <http://csrc.nist.gov/encryption/aes/> for more information. 11758c2ecf20Sopenharmony_ci 11768c2ecf20Sopenharmony_ci In addition to AES cipher algorithm support, the acceleration 11778c2ecf20Sopenharmony_ci for some popular block cipher mode is supported too, including 11788c2ecf20Sopenharmony_ci ECB, CBC, LRW, XTS. The 64 bit version has additional 11798c2ecf20Sopenharmony_ci acceleration for CTR. 11808c2ecf20Sopenharmony_ci 11818c2ecf20Sopenharmony_ciconfig CRYPTO_AES_SPARC64 11828c2ecf20Sopenharmony_ci tristate "AES cipher algorithms (SPARC64)" 11838c2ecf20Sopenharmony_ci depends on SPARC64 11848c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 11858c2ecf20Sopenharmony_ci help 11868c2ecf20Sopenharmony_ci Use SPARC64 crypto opcodes for AES algorithm. 11878c2ecf20Sopenharmony_ci 11888c2ecf20Sopenharmony_ci AES cipher algorithms (FIPS-197). AES uses the Rijndael 11898c2ecf20Sopenharmony_ci algorithm. 11908c2ecf20Sopenharmony_ci 11918c2ecf20Sopenharmony_ci Rijndael appears to be consistently a very good performer in 11928c2ecf20Sopenharmony_ci both hardware and software across a wide range of computing 11938c2ecf20Sopenharmony_ci environments regardless of its use in feedback or non-feedback 11948c2ecf20Sopenharmony_ci modes. Its key setup time is excellent, and its key agility is 11958c2ecf20Sopenharmony_ci good. Rijndael's very low memory requirements make it very well 11968c2ecf20Sopenharmony_ci suited for restricted-space environments, in which it also 11978c2ecf20Sopenharmony_ci demonstrates excellent performance. Rijndael's operations are 11988c2ecf20Sopenharmony_ci among the easiest to defend against power and timing attacks. 11998c2ecf20Sopenharmony_ci 12008c2ecf20Sopenharmony_ci The AES specifies three key sizes: 128, 192 and 256 bits 12018c2ecf20Sopenharmony_ci 12028c2ecf20Sopenharmony_ci See <http://csrc.nist.gov/encryption/aes/> for more information. 12038c2ecf20Sopenharmony_ci 12048c2ecf20Sopenharmony_ci In addition to AES cipher algorithm support, the acceleration 12058c2ecf20Sopenharmony_ci for some popular block cipher mode is supported too, including 12068c2ecf20Sopenharmony_ci ECB and CBC. 12078c2ecf20Sopenharmony_ci 12088c2ecf20Sopenharmony_ciconfig CRYPTO_AES_PPC_SPE 12098c2ecf20Sopenharmony_ci tristate "AES cipher algorithms (PPC SPE)" 12108c2ecf20Sopenharmony_ci depends on PPC && SPE 12118c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 12128c2ecf20Sopenharmony_ci help 12138c2ecf20Sopenharmony_ci AES cipher algorithms (FIPS-197). Additionally the acceleration 12148c2ecf20Sopenharmony_ci for popular block cipher modes ECB, CBC, CTR and XTS is supported. 12158c2ecf20Sopenharmony_ci This module should only be used for low power (router) devices 12168c2ecf20Sopenharmony_ci without hardware AES acceleration (e.g. caam crypto). It reduces the 12178c2ecf20Sopenharmony_ci size of the AES tables from 16KB to 8KB + 256 bytes and mitigates 12188c2ecf20Sopenharmony_ci timining attacks. Nevertheless it might be not as secure as other 12198c2ecf20Sopenharmony_ci architecture specific assembler implementations that work on 1KB 12208c2ecf20Sopenharmony_ci tables or 256 bytes S-boxes. 12218c2ecf20Sopenharmony_ci 12228c2ecf20Sopenharmony_ciconfig CRYPTO_ANUBIS 12238c2ecf20Sopenharmony_ci tristate "Anubis cipher algorithm" 12248c2ecf20Sopenharmony_ci depends on CRYPTO_USER_API_ENABLE_OBSOLETE 12258c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 12268c2ecf20Sopenharmony_ci help 12278c2ecf20Sopenharmony_ci Anubis cipher algorithm. 12288c2ecf20Sopenharmony_ci 12298c2ecf20Sopenharmony_ci Anubis is a variable key length cipher which can use keys from 12308c2ecf20Sopenharmony_ci 128 bits to 320 bits in length. It was evaluated as a entrant 12318c2ecf20Sopenharmony_ci in the NESSIE competition. 12328c2ecf20Sopenharmony_ci 12338c2ecf20Sopenharmony_ci See also: 12348c2ecf20Sopenharmony_ci <https://www.cosic.esat.kuleuven.be/nessie/reports/> 12358c2ecf20Sopenharmony_ci <http://www.larc.usp.br/~pbarreto/AnubisPage.html> 12368c2ecf20Sopenharmony_ci 12378c2ecf20Sopenharmony_ciconfig CRYPTO_ARC4 12388c2ecf20Sopenharmony_ci tristate "ARC4 cipher algorithm" 12398c2ecf20Sopenharmony_ci depends on CRYPTO_USER_API_ENABLE_OBSOLETE 12408c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 12418c2ecf20Sopenharmony_ci select CRYPTO_LIB_ARC4 12428c2ecf20Sopenharmony_ci help 12438c2ecf20Sopenharmony_ci ARC4 cipher algorithm. 12448c2ecf20Sopenharmony_ci 12458c2ecf20Sopenharmony_ci ARC4 is a stream cipher using keys ranging from 8 bits to 2048 12468c2ecf20Sopenharmony_ci bits in length. This algorithm is required for driver-based 12478c2ecf20Sopenharmony_ci WEP, but it should not be for other purposes because of the 12488c2ecf20Sopenharmony_ci weakness of the algorithm. 12498c2ecf20Sopenharmony_ci 12508c2ecf20Sopenharmony_ciconfig CRYPTO_BLOWFISH 12518c2ecf20Sopenharmony_ci tristate "Blowfish cipher algorithm" 12528c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 12538c2ecf20Sopenharmony_ci select CRYPTO_BLOWFISH_COMMON 12548c2ecf20Sopenharmony_ci help 12558c2ecf20Sopenharmony_ci Blowfish cipher algorithm, by Bruce Schneier. 12568c2ecf20Sopenharmony_ci 12578c2ecf20Sopenharmony_ci This is a variable key length cipher which can use keys from 32 12588c2ecf20Sopenharmony_ci bits to 448 bits in length. It's fast, simple and specifically 12598c2ecf20Sopenharmony_ci designed for use on "large microprocessors". 12608c2ecf20Sopenharmony_ci 12618c2ecf20Sopenharmony_ci See also: 12628c2ecf20Sopenharmony_ci <https://www.schneier.com/blowfish.html> 12638c2ecf20Sopenharmony_ci 12648c2ecf20Sopenharmony_ciconfig CRYPTO_BLOWFISH_COMMON 12658c2ecf20Sopenharmony_ci tristate 12668c2ecf20Sopenharmony_ci help 12678c2ecf20Sopenharmony_ci Common parts of the Blowfish cipher algorithm shared by the 12688c2ecf20Sopenharmony_ci generic c and the assembler implementations. 12698c2ecf20Sopenharmony_ci 12708c2ecf20Sopenharmony_ci See also: 12718c2ecf20Sopenharmony_ci <https://www.schneier.com/blowfish.html> 12728c2ecf20Sopenharmony_ci 12738c2ecf20Sopenharmony_ciconfig CRYPTO_BLOWFISH_X86_64 12748c2ecf20Sopenharmony_ci tristate "Blowfish cipher algorithm (x86_64)" 12758c2ecf20Sopenharmony_ci depends on X86 && 64BIT 12768c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 12778c2ecf20Sopenharmony_ci select CRYPTO_BLOWFISH_COMMON 12788c2ecf20Sopenharmony_ci help 12798c2ecf20Sopenharmony_ci Blowfish cipher algorithm (x86_64), by Bruce Schneier. 12808c2ecf20Sopenharmony_ci 12818c2ecf20Sopenharmony_ci This is a variable key length cipher which can use keys from 32 12828c2ecf20Sopenharmony_ci bits to 448 bits in length. It's fast, simple and specifically 12838c2ecf20Sopenharmony_ci designed for use on "large microprocessors". 12848c2ecf20Sopenharmony_ci 12858c2ecf20Sopenharmony_ci See also: 12868c2ecf20Sopenharmony_ci <https://www.schneier.com/blowfish.html> 12878c2ecf20Sopenharmony_ci 12888c2ecf20Sopenharmony_ciconfig CRYPTO_CAMELLIA 12898c2ecf20Sopenharmony_ci tristate "Camellia cipher algorithms" 12908c2ecf20Sopenharmony_ci depends on CRYPTO 12918c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 12928c2ecf20Sopenharmony_ci help 12938c2ecf20Sopenharmony_ci Camellia cipher algorithms module. 12948c2ecf20Sopenharmony_ci 12958c2ecf20Sopenharmony_ci Camellia is a symmetric key block cipher developed jointly 12968c2ecf20Sopenharmony_ci at NTT and Mitsubishi Electric Corporation. 12978c2ecf20Sopenharmony_ci 12988c2ecf20Sopenharmony_ci The Camellia specifies three key sizes: 128, 192 and 256 bits. 12998c2ecf20Sopenharmony_ci 13008c2ecf20Sopenharmony_ci See also: 13018c2ecf20Sopenharmony_ci <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 13028c2ecf20Sopenharmony_ci 13038c2ecf20Sopenharmony_ciconfig CRYPTO_CAMELLIA_X86_64 13048c2ecf20Sopenharmony_ci tristate "Camellia cipher algorithm (x86_64)" 13058c2ecf20Sopenharmony_ci depends on X86 && 64BIT 13068c2ecf20Sopenharmony_ci depends on CRYPTO 13078c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 13088c2ecf20Sopenharmony_ci select CRYPTO_GLUE_HELPER_X86 13098c2ecf20Sopenharmony_ci help 13108c2ecf20Sopenharmony_ci Camellia cipher algorithm module (x86_64). 13118c2ecf20Sopenharmony_ci 13128c2ecf20Sopenharmony_ci Camellia is a symmetric key block cipher developed jointly 13138c2ecf20Sopenharmony_ci at NTT and Mitsubishi Electric Corporation. 13148c2ecf20Sopenharmony_ci 13158c2ecf20Sopenharmony_ci The Camellia specifies three key sizes: 128, 192 and 256 bits. 13168c2ecf20Sopenharmony_ci 13178c2ecf20Sopenharmony_ci See also: 13188c2ecf20Sopenharmony_ci <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 13198c2ecf20Sopenharmony_ci 13208c2ecf20Sopenharmony_ciconfig CRYPTO_CAMELLIA_AESNI_AVX_X86_64 13218c2ecf20Sopenharmony_ci tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX)" 13228c2ecf20Sopenharmony_ci depends on X86 && 64BIT 13238c2ecf20Sopenharmony_ci depends on CRYPTO 13248c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 13258c2ecf20Sopenharmony_ci select CRYPTO_CAMELLIA_X86_64 13268c2ecf20Sopenharmony_ci select CRYPTO_GLUE_HELPER_X86 13278c2ecf20Sopenharmony_ci select CRYPTO_SIMD 13288c2ecf20Sopenharmony_ci select CRYPTO_XTS 13298c2ecf20Sopenharmony_ci help 13308c2ecf20Sopenharmony_ci Camellia cipher algorithm module (x86_64/AES-NI/AVX). 13318c2ecf20Sopenharmony_ci 13328c2ecf20Sopenharmony_ci Camellia is a symmetric key block cipher developed jointly 13338c2ecf20Sopenharmony_ci at NTT and Mitsubishi Electric Corporation. 13348c2ecf20Sopenharmony_ci 13358c2ecf20Sopenharmony_ci The Camellia specifies three key sizes: 128, 192 and 256 bits. 13368c2ecf20Sopenharmony_ci 13378c2ecf20Sopenharmony_ci See also: 13388c2ecf20Sopenharmony_ci <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 13398c2ecf20Sopenharmony_ci 13408c2ecf20Sopenharmony_ciconfig CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 13418c2ecf20Sopenharmony_ci tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX2)" 13428c2ecf20Sopenharmony_ci depends on X86 && 64BIT 13438c2ecf20Sopenharmony_ci depends on CRYPTO 13448c2ecf20Sopenharmony_ci select CRYPTO_CAMELLIA_AESNI_AVX_X86_64 13458c2ecf20Sopenharmony_ci help 13468c2ecf20Sopenharmony_ci Camellia cipher algorithm module (x86_64/AES-NI/AVX2). 13478c2ecf20Sopenharmony_ci 13488c2ecf20Sopenharmony_ci Camellia is a symmetric key block cipher developed jointly 13498c2ecf20Sopenharmony_ci at NTT and Mitsubishi Electric Corporation. 13508c2ecf20Sopenharmony_ci 13518c2ecf20Sopenharmony_ci The Camellia specifies three key sizes: 128, 192 and 256 bits. 13528c2ecf20Sopenharmony_ci 13538c2ecf20Sopenharmony_ci See also: 13548c2ecf20Sopenharmony_ci <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 13558c2ecf20Sopenharmony_ci 13568c2ecf20Sopenharmony_ciconfig CRYPTO_CAMELLIA_SPARC64 13578c2ecf20Sopenharmony_ci tristate "Camellia cipher algorithm (SPARC64)" 13588c2ecf20Sopenharmony_ci depends on SPARC64 13598c2ecf20Sopenharmony_ci depends on CRYPTO 13608c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 13618c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 13628c2ecf20Sopenharmony_ci help 13638c2ecf20Sopenharmony_ci Camellia cipher algorithm module (SPARC64). 13648c2ecf20Sopenharmony_ci 13658c2ecf20Sopenharmony_ci Camellia is a symmetric key block cipher developed jointly 13668c2ecf20Sopenharmony_ci at NTT and Mitsubishi Electric Corporation. 13678c2ecf20Sopenharmony_ci 13688c2ecf20Sopenharmony_ci The Camellia specifies three key sizes: 128, 192 and 256 bits. 13698c2ecf20Sopenharmony_ci 13708c2ecf20Sopenharmony_ci See also: 13718c2ecf20Sopenharmony_ci <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 13728c2ecf20Sopenharmony_ci 13738c2ecf20Sopenharmony_ciconfig CRYPTO_CAST_COMMON 13748c2ecf20Sopenharmony_ci tristate 13758c2ecf20Sopenharmony_ci help 13768c2ecf20Sopenharmony_ci Common parts of the CAST cipher algorithms shared by the 13778c2ecf20Sopenharmony_ci generic c and the assembler implementations. 13788c2ecf20Sopenharmony_ci 13798c2ecf20Sopenharmony_ciconfig CRYPTO_CAST5 13808c2ecf20Sopenharmony_ci tristate "CAST5 (CAST-128) cipher algorithm" 13818c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 13828c2ecf20Sopenharmony_ci select CRYPTO_CAST_COMMON 13838c2ecf20Sopenharmony_ci help 13848c2ecf20Sopenharmony_ci The CAST5 encryption algorithm (synonymous with CAST-128) is 13858c2ecf20Sopenharmony_ci described in RFC2144. 13868c2ecf20Sopenharmony_ci 13878c2ecf20Sopenharmony_ciconfig CRYPTO_CAST5_AVX_X86_64 13888c2ecf20Sopenharmony_ci tristate "CAST5 (CAST-128) cipher algorithm (x86_64/AVX)" 13898c2ecf20Sopenharmony_ci depends on X86 && 64BIT 13908c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 13918c2ecf20Sopenharmony_ci select CRYPTO_CAST5 13928c2ecf20Sopenharmony_ci select CRYPTO_CAST_COMMON 13938c2ecf20Sopenharmony_ci select CRYPTO_SIMD 13948c2ecf20Sopenharmony_ci help 13958c2ecf20Sopenharmony_ci The CAST5 encryption algorithm (synonymous with CAST-128) is 13968c2ecf20Sopenharmony_ci described in RFC2144. 13978c2ecf20Sopenharmony_ci 13988c2ecf20Sopenharmony_ci This module provides the Cast5 cipher algorithm that processes 13998c2ecf20Sopenharmony_ci sixteen blocks parallel using the AVX instruction set. 14008c2ecf20Sopenharmony_ci 14018c2ecf20Sopenharmony_ciconfig CRYPTO_CAST6 14028c2ecf20Sopenharmony_ci tristate "CAST6 (CAST-256) cipher algorithm" 14038c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 14048c2ecf20Sopenharmony_ci select CRYPTO_CAST_COMMON 14058c2ecf20Sopenharmony_ci help 14068c2ecf20Sopenharmony_ci The CAST6 encryption algorithm (synonymous with CAST-256) is 14078c2ecf20Sopenharmony_ci described in RFC2612. 14088c2ecf20Sopenharmony_ci 14098c2ecf20Sopenharmony_ciconfig CRYPTO_CAST6_AVX_X86_64 14108c2ecf20Sopenharmony_ci tristate "CAST6 (CAST-256) cipher algorithm (x86_64/AVX)" 14118c2ecf20Sopenharmony_ci depends on X86 && 64BIT 14128c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 14138c2ecf20Sopenharmony_ci select CRYPTO_CAST6 14148c2ecf20Sopenharmony_ci select CRYPTO_CAST_COMMON 14158c2ecf20Sopenharmony_ci select CRYPTO_GLUE_HELPER_X86 14168c2ecf20Sopenharmony_ci select CRYPTO_SIMD 14178c2ecf20Sopenharmony_ci select CRYPTO_XTS 14188c2ecf20Sopenharmony_ci help 14198c2ecf20Sopenharmony_ci The CAST6 encryption algorithm (synonymous with CAST-256) is 14208c2ecf20Sopenharmony_ci described in RFC2612. 14218c2ecf20Sopenharmony_ci 14228c2ecf20Sopenharmony_ci This module provides the Cast6 cipher algorithm that processes 14238c2ecf20Sopenharmony_ci eight blocks parallel using the AVX instruction set. 14248c2ecf20Sopenharmony_ci 14258c2ecf20Sopenharmony_ciconfig CRYPTO_DES 14268c2ecf20Sopenharmony_ci tristate "DES and Triple DES EDE cipher algorithms" 14278c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 14288c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 14298c2ecf20Sopenharmony_ci help 14308c2ecf20Sopenharmony_ci DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 14318c2ecf20Sopenharmony_ci 14328c2ecf20Sopenharmony_ciconfig CRYPTO_DES_SPARC64 14338c2ecf20Sopenharmony_ci tristate "DES and Triple DES EDE cipher algorithms (SPARC64)" 14348c2ecf20Sopenharmony_ci depends on SPARC64 14358c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 14368c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 14378c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 14388c2ecf20Sopenharmony_ci help 14398c2ecf20Sopenharmony_ci DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3), 14408c2ecf20Sopenharmony_ci optimized using SPARC64 crypto opcodes. 14418c2ecf20Sopenharmony_ci 14428c2ecf20Sopenharmony_ciconfig CRYPTO_DES3_EDE_X86_64 14438c2ecf20Sopenharmony_ci tristate "Triple DES EDE cipher algorithm (x86-64)" 14448c2ecf20Sopenharmony_ci depends on X86 && 64BIT 14458c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 14468c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 14478c2ecf20Sopenharmony_ci help 14488c2ecf20Sopenharmony_ci Triple DES EDE (FIPS 46-3) algorithm. 14498c2ecf20Sopenharmony_ci 14508c2ecf20Sopenharmony_ci This module provides implementation of the Triple DES EDE cipher 14518c2ecf20Sopenharmony_ci algorithm that is optimized for x86-64 processors. Two versions of 14528c2ecf20Sopenharmony_ci algorithm are provided; regular processing one input block and 14538c2ecf20Sopenharmony_ci one that processes three blocks parallel. 14548c2ecf20Sopenharmony_ci 14558c2ecf20Sopenharmony_ciconfig CRYPTO_FCRYPT 14568c2ecf20Sopenharmony_ci tristate "FCrypt cipher algorithm" 14578c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 14588c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 14598c2ecf20Sopenharmony_ci help 14608c2ecf20Sopenharmony_ci FCrypt algorithm used by RxRPC. 14618c2ecf20Sopenharmony_ci 14628c2ecf20Sopenharmony_ciconfig CRYPTO_KHAZAD 14638c2ecf20Sopenharmony_ci tristate "Khazad cipher algorithm" 14648c2ecf20Sopenharmony_ci depends on CRYPTO_USER_API_ENABLE_OBSOLETE 14658c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 14668c2ecf20Sopenharmony_ci help 14678c2ecf20Sopenharmony_ci Khazad cipher algorithm. 14688c2ecf20Sopenharmony_ci 14698c2ecf20Sopenharmony_ci Khazad was a finalist in the initial NESSIE competition. It is 14708c2ecf20Sopenharmony_ci an algorithm optimized for 64-bit processors with good performance 14718c2ecf20Sopenharmony_ci on 32-bit processors. Khazad uses an 128 bit key size. 14728c2ecf20Sopenharmony_ci 14738c2ecf20Sopenharmony_ci See also: 14748c2ecf20Sopenharmony_ci <http://www.larc.usp.br/~pbarreto/KhazadPage.html> 14758c2ecf20Sopenharmony_ci 14768c2ecf20Sopenharmony_ciconfig CRYPTO_SALSA20 14778c2ecf20Sopenharmony_ci tristate "Salsa20 stream cipher algorithm" 14788c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 14798c2ecf20Sopenharmony_ci help 14808c2ecf20Sopenharmony_ci Salsa20 stream cipher algorithm. 14818c2ecf20Sopenharmony_ci 14828c2ecf20Sopenharmony_ci Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT 14838c2ecf20Sopenharmony_ci Stream Cipher Project. See <https://www.ecrypt.eu.org/stream/> 14848c2ecf20Sopenharmony_ci 14858c2ecf20Sopenharmony_ci The Salsa20 stream cipher algorithm is designed by Daniel J. 14868c2ecf20Sopenharmony_ci Bernstein <djb@cr.yp.to>. See <https://cr.yp.to/snuffle.html> 14878c2ecf20Sopenharmony_ci 14888c2ecf20Sopenharmony_ciconfig CRYPTO_CHACHA20 14898c2ecf20Sopenharmony_ci tristate "ChaCha stream cipher algorithms" 14908c2ecf20Sopenharmony_ci select CRYPTO_LIB_CHACHA_GENERIC 14918c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 14928c2ecf20Sopenharmony_ci help 14938c2ecf20Sopenharmony_ci The ChaCha20, XChaCha20, and XChaCha12 stream cipher algorithms. 14948c2ecf20Sopenharmony_ci 14958c2ecf20Sopenharmony_ci ChaCha20 is a 256-bit high-speed stream cipher designed by Daniel J. 14968c2ecf20Sopenharmony_ci Bernstein and further specified in RFC7539 for use in IETF protocols. 14978c2ecf20Sopenharmony_ci This is the portable C implementation of ChaCha20. See also: 14988c2ecf20Sopenharmony_ci <https://cr.yp.to/chacha/chacha-20080128.pdf> 14998c2ecf20Sopenharmony_ci 15008c2ecf20Sopenharmony_ci XChaCha20 is the application of the XSalsa20 construction to ChaCha20 15018c2ecf20Sopenharmony_ci rather than to Salsa20. XChaCha20 extends ChaCha20's nonce length 15028c2ecf20Sopenharmony_ci from 64 bits (or 96 bits using the RFC7539 convention) to 192 bits, 15038c2ecf20Sopenharmony_ci while provably retaining ChaCha20's security. See also: 15048c2ecf20Sopenharmony_ci <https://cr.yp.to/snuffle/xsalsa-20081128.pdf> 15058c2ecf20Sopenharmony_ci 15068c2ecf20Sopenharmony_ci XChaCha12 is XChaCha20 reduced to 12 rounds, with correspondingly 15078c2ecf20Sopenharmony_ci reduced security margin but increased performance. It can be needed 15088c2ecf20Sopenharmony_ci in some performance-sensitive scenarios. 15098c2ecf20Sopenharmony_ci 15108c2ecf20Sopenharmony_ciconfig CRYPTO_CHACHA20_X86_64 15118c2ecf20Sopenharmony_ci tristate "ChaCha stream cipher algorithms (x86_64/SSSE3/AVX2/AVX-512VL)" 15128c2ecf20Sopenharmony_ci depends on X86 && 64BIT 15138c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 15148c2ecf20Sopenharmony_ci select CRYPTO_LIB_CHACHA_GENERIC 15158c2ecf20Sopenharmony_ci select CRYPTO_ARCH_HAVE_LIB_CHACHA 15168c2ecf20Sopenharmony_ci help 15178c2ecf20Sopenharmony_ci SSSE3, AVX2, and AVX-512VL optimized implementations of the ChaCha20, 15188c2ecf20Sopenharmony_ci XChaCha20, and XChaCha12 stream ciphers. 15198c2ecf20Sopenharmony_ci 15208c2ecf20Sopenharmony_ciconfig CRYPTO_CHACHA_MIPS 15218c2ecf20Sopenharmony_ci tristate "ChaCha stream cipher algorithms (MIPS 32r2 optimized)" 15228c2ecf20Sopenharmony_ci depends on CPU_MIPS32_R2 15238c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 15248c2ecf20Sopenharmony_ci select CRYPTO_ARCH_HAVE_LIB_CHACHA 15258c2ecf20Sopenharmony_ci 15268c2ecf20Sopenharmony_ciconfig CRYPTO_SEED 15278c2ecf20Sopenharmony_ci tristate "SEED cipher algorithm" 15288c2ecf20Sopenharmony_ci depends on CRYPTO_USER_API_ENABLE_OBSOLETE 15298c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 15308c2ecf20Sopenharmony_ci help 15318c2ecf20Sopenharmony_ci SEED cipher algorithm (RFC4269). 15328c2ecf20Sopenharmony_ci 15338c2ecf20Sopenharmony_ci SEED is a 128-bit symmetric key block cipher that has been 15348c2ecf20Sopenharmony_ci developed by KISA (Korea Information Security Agency) as a 15358c2ecf20Sopenharmony_ci national standard encryption algorithm of the Republic of Korea. 15368c2ecf20Sopenharmony_ci It is a 16 round block cipher with the key size of 128 bit. 15378c2ecf20Sopenharmony_ci 15388c2ecf20Sopenharmony_ci See also: 15398c2ecf20Sopenharmony_ci <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp> 15408c2ecf20Sopenharmony_ci 15418c2ecf20Sopenharmony_ciconfig CRYPTO_SERPENT 15428c2ecf20Sopenharmony_ci tristate "Serpent cipher algorithm" 15438c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 15448c2ecf20Sopenharmony_ci help 15458c2ecf20Sopenharmony_ci Serpent cipher algorithm, by Anderson, Biham & Knudsen. 15468c2ecf20Sopenharmony_ci 15478c2ecf20Sopenharmony_ci Keys are allowed to be from 0 to 256 bits in length, in steps 15488c2ecf20Sopenharmony_ci of 8 bits. Also includes the 'Tnepres' algorithm, a reversed 15498c2ecf20Sopenharmony_ci variant of Serpent for compatibility with old kerneli.org code. 15508c2ecf20Sopenharmony_ci 15518c2ecf20Sopenharmony_ci See also: 15528c2ecf20Sopenharmony_ci <https://www.cl.cam.ac.uk/~rja14/serpent.html> 15538c2ecf20Sopenharmony_ci 15548c2ecf20Sopenharmony_ciconfig CRYPTO_SERPENT_SSE2_X86_64 15558c2ecf20Sopenharmony_ci tristate "Serpent cipher algorithm (x86_64/SSE2)" 15568c2ecf20Sopenharmony_ci depends on X86 && 64BIT 15578c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 15588c2ecf20Sopenharmony_ci select CRYPTO_GLUE_HELPER_X86 15598c2ecf20Sopenharmony_ci select CRYPTO_SERPENT 15608c2ecf20Sopenharmony_ci select CRYPTO_SIMD 15618c2ecf20Sopenharmony_ci help 15628c2ecf20Sopenharmony_ci Serpent cipher algorithm, by Anderson, Biham & Knudsen. 15638c2ecf20Sopenharmony_ci 15648c2ecf20Sopenharmony_ci Keys are allowed to be from 0 to 256 bits in length, in steps 15658c2ecf20Sopenharmony_ci of 8 bits. 15668c2ecf20Sopenharmony_ci 15678c2ecf20Sopenharmony_ci This module provides Serpent cipher algorithm that processes eight 15688c2ecf20Sopenharmony_ci blocks parallel using SSE2 instruction set. 15698c2ecf20Sopenharmony_ci 15708c2ecf20Sopenharmony_ci See also: 15718c2ecf20Sopenharmony_ci <https://www.cl.cam.ac.uk/~rja14/serpent.html> 15728c2ecf20Sopenharmony_ci 15738c2ecf20Sopenharmony_ciconfig CRYPTO_SERPENT_SSE2_586 15748c2ecf20Sopenharmony_ci tristate "Serpent cipher algorithm (i586/SSE2)" 15758c2ecf20Sopenharmony_ci depends on X86 && !64BIT 15768c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 15778c2ecf20Sopenharmony_ci select CRYPTO_GLUE_HELPER_X86 15788c2ecf20Sopenharmony_ci select CRYPTO_SERPENT 15798c2ecf20Sopenharmony_ci select CRYPTO_SIMD 15808c2ecf20Sopenharmony_ci help 15818c2ecf20Sopenharmony_ci Serpent cipher algorithm, by Anderson, Biham & Knudsen. 15828c2ecf20Sopenharmony_ci 15838c2ecf20Sopenharmony_ci Keys are allowed to be from 0 to 256 bits in length, in steps 15848c2ecf20Sopenharmony_ci of 8 bits. 15858c2ecf20Sopenharmony_ci 15868c2ecf20Sopenharmony_ci This module provides Serpent cipher algorithm that processes four 15878c2ecf20Sopenharmony_ci blocks parallel using SSE2 instruction set. 15888c2ecf20Sopenharmony_ci 15898c2ecf20Sopenharmony_ci See also: 15908c2ecf20Sopenharmony_ci <https://www.cl.cam.ac.uk/~rja14/serpent.html> 15918c2ecf20Sopenharmony_ci 15928c2ecf20Sopenharmony_ciconfig CRYPTO_SERPENT_AVX_X86_64 15938c2ecf20Sopenharmony_ci tristate "Serpent cipher algorithm (x86_64/AVX)" 15948c2ecf20Sopenharmony_ci depends on X86 && 64BIT 15958c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 15968c2ecf20Sopenharmony_ci select CRYPTO_GLUE_HELPER_X86 15978c2ecf20Sopenharmony_ci select CRYPTO_SERPENT 15988c2ecf20Sopenharmony_ci select CRYPTO_SIMD 15998c2ecf20Sopenharmony_ci select CRYPTO_XTS 16008c2ecf20Sopenharmony_ci help 16018c2ecf20Sopenharmony_ci Serpent cipher algorithm, by Anderson, Biham & Knudsen. 16028c2ecf20Sopenharmony_ci 16038c2ecf20Sopenharmony_ci Keys are allowed to be from 0 to 256 bits in length, in steps 16048c2ecf20Sopenharmony_ci of 8 bits. 16058c2ecf20Sopenharmony_ci 16068c2ecf20Sopenharmony_ci This module provides the Serpent cipher algorithm that processes 16078c2ecf20Sopenharmony_ci eight blocks parallel using the AVX instruction set. 16088c2ecf20Sopenharmony_ci 16098c2ecf20Sopenharmony_ci See also: 16108c2ecf20Sopenharmony_ci <https://www.cl.cam.ac.uk/~rja14/serpent.html> 16118c2ecf20Sopenharmony_ci 16128c2ecf20Sopenharmony_ciconfig CRYPTO_SERPENT_AVX2_X86_64 16138c2ecf20Sopenharmony_ci tristate "Serpent cipher algorithm (x86_64/AVX2)" 16148c2ecf20Sopenharmony_ci depends on X86 && 64BIT 16158c2ecf20Sopenharmony_ci select CRYPTO_SERPENT_AVX_X86_64 16168c2ecf20Sopenharmony_ci help 16178c2ecf20Sopenharmony_ci Serpent cipher algorithm, by Anderson, Biham & Knudsen. 16188c2ecf20Sopenharmony_ci 16198c2ecf20Sopenharmony_ci Keys are allowed to be from 0 to 256 bits in length, in steps 16208c2ecf20Sopenharmony_ci of 8 bits. 16218c2ecf20Sopenharmony_ci 16228c2ecf20Sopenharmony_ci This module provides Serpent cipher algorithm that processes 16 16238c2ecf20Sopenharmony_ci blocks parallel using AVX2 instruction set. 16248c2ecf20Sopenharmony_ci 16258c2ecf20Sopenharmony_ci See also: 16268c2ecf20Sopenharmony_ci <https://www.cl.cam.ac.uk/~rja14/serpent.html> 16278c2ecf20Sopenharmony_ci 16288c2ecf20Sopenharmony_ciconfig CRYPTO_SM4 16298c2ecf20Sopenharmony_ci tristate "SM4 cipher algorithm" 16308c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 16318c2ecf20Sopenharmony_ci help 16328c2ecf20Sopenharmony_ci SM4 cipher algorithms (OSCCA GB/T 32907-2016). 16338c2ecf20Sopenharmony_ci 16348c2ecf20Sopenharmony_ci SM4 (GBT.32907-2016) is a cryptographic standard issued by the 16358c2ecf20Sopenharmony_ci Organization of State Commercial Administration of China (OSCCA) 16368c2ecf20Sopenharmony_ci as an authorized cryptographic algorithms for the use within China. 16378c2ecf20Sopenharmony_ci 16388c2ecf20Sopenharmony_ci SMS4 was originally created for use in protecting wireless 16398c2ecf20Sopenharmony_ci networks, and is mandated in the Chinese National Standard for 16408c2ecf20Sopenharmony_ci Wireless LAN WAPI (Wired Authentication and Privacy Infrastructure) 16418c2ecf20Sopenharmony_ci (GB.15629.11-2003). 16428c2ecf20Sopenharmony_ci 16438c2ecf20Sopenharmony_ci The latest SM4 standard (GBT.32907-2016) was proposed by OSCCA and 16448c2ecf20Sopenharmony_ci standardized through TC 260 of the Standardization Administration 16458c2ecf20Sopenharmony_ci of the People's Republic of China (SAC). 16468c2ecf20Sopenharmony_ci 16478c2ecf20Sopenharmony_ci The input, output, and key of SMS4 are each 128 bits. 16488c2ecf20Sopenharmony_ci 16498c2ecf20Sopenharmony_ci See also: <https://eprint.iacr.org/2008/329.pdf> 16508c2ecf20Sopenharmony_ci 16518c2ecf20Sopenharmony_ci If unsure, say N. 16528c2ecf20Sopenharmony_ci 16538c2ecf20Sopenharmony_ciconfig CRYPTO_TEA 16548c2ecf20Sopenharmony_ci tristate "TEA, XTEA and XETA cipher algorithms" 16558c2ecf20Sopenharmony_ci depends on CRYPTO_USER_API_ENABLE_OBSOLETE 16568c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 16578c2ecf20Sopenharmony_ci help 16588c2ecf20Sopenharmony_ci TEA cipher algorithm. 16598c2ecf20Sopenharmony_ci 16608c2ecf20Sopenharmony_ci Tiny Encryption Algorithm is a simple cipher that uses 16618c2ecf20Sopenharmony_ci many rounds for security. It is very fast and uses 16628c2ecf20Sopenharmony_ci little memory. 16638c2ecf20Sopenharmony_ci 16648c2ecf20Sopenharmony_ci Xtendend Tiny Encryption Algorithm is a modification to 16658c2ecf20Sopenharmony_ci the TEA algorithm to address a potential key weakness 16668c2ecf20Sopenharmony_ci in the TEA algorithm. 16678c2ecf20Sopenharmony_ci 16688c2ecf20Sopenharmony_ci Xtendend Encryption Tiny Algorithm is a mis-implementation 16698c2ecf20Sopenharmony_ci of the XTEA algorithm for compatibility purposes. 16708c2ecf20Sopenharmony_ci 16718c2ecf20Sopenharmony_ciconfig CRYPTO_TWOFISH 16728c2ecf20Sopenharmony_ci tristate "Twofish cipher algorithm" 16738c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 16748c2ecf20Sopenharmony_ci select CRYPTO_TWOFISH_COMMON 16758c2ecf20Sopenharmony_ci help 16768c2ecf20Sopenharmony_ci Twofish cipher algorithm. 16778c2ecf20Sopenharmony_ci 16788c2ecf20Sopenharmony_ci Twofish was submitted as an AES (Advanced Encryption Standard) 16798c2ecf20Sopenharmony_ci candidate cipher by researchers at CounterPane Systems. It is a 16808c2ecf20Sopenharmony_ci 16 round block cipher supporting key sizes of 128, 192, and 256 16818c2ecf20Sopenharmony_ci bits. 16828c2ecf20Sopenharmony_ci 16838c2ecf20Sopenharmony_ci See also: 16848c2ecf20Sopenharmony_ci <https://www.schneier.com/twofish.html> 16858c2ecf20Sopenharmony_ci 16868c2ecf20Sopenharmony_ciconfig CRYPTO_TWOFISH_COMMON 16878c2ecf20Sopenharmony_ci tristate 16888c2ecf20Sopenharmony_ci help 16898c2ecf20Sopenharmony_ci Common parts of the Twofish cipher algorithm shared by the 16908c2ecf20Sopenharmony_ci generic c and the assembler implementations. 16918c2ecf20Sopenharmony_ci 16928c2ecf20Sopenharmony_ciconfig CRYPTO_TWOFISH_586 16938c2ecf20Sopenharmony_ci tristate "Twofish cipher algorithms (i586)" 16948c2ecf20Sopenharmony_ci depends on (X86 || UML_X86) && !64BIT 16958c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 16968c2ecf20Sopenharmony_ci select CRYPTO_TWOFISH_COMMON 16978c2ecf20Sopenharmony_ci help 16988c2ecf20Sopenharmony_ci Twofish cipher algorithm. 16998c2ecf20Sopenharmony_ci 17008c2ecf20Sopenharmony_ci Twofish was submitted as an AES (Advanced Encryption Standard) 17018c2ecf20Sopenharmony_ci candidate cipher by researchers at CounterPane Systems. It is a 17028c2ecf20Sopenharmony_ci 16 round block cipher supporting key sizes of 128, 192, and 256 17038c2ecf20Sopenharmony_ci bits. 17048c2ecf20Sopenharmony_ci 17058c2ecf20Sopenharmony_ci See also: 17068c2ecf20Sopenharmony_ci <https://www.schneier.com/twofish.html> 17078c2ecf20Sopenharmony_ci 17088c2ecf20Sopenharmony_ciconfig CRYPTO_TWOFISH_X86_64 17098c2ecf20Sopenharmony_ci tristate "Twofish cipher algorithm (x86_64)" 17108c2ecf20Sopenharmony_ci depends on (X86 || UML_X86) && 64BIT 17118c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 17128c2ecf20Sopenharmony_ci select CRYPTO_TWOFISH_COMMON 17138c2ecf20Sopenharmony_ci help 17148c2ecf20Sopenharmony_ci Twofish cipher algorithm (x86_64). 17158c2ecf20Sopenharmony_ci 17168c2ecf20Sopenharmony_ci Twofish was submitted as an AES (Advanced Encryption Standard) 17178c2ecf20Sopenharmony_ci candidate cipher by researchers at CounterPane Systems. It is a 17188c2ecf20Sopenharmony_ci 16 round block cipher supporting key sizes of 128, 192, and 256 17198c2ecf20Sopenharmony_ci bits. 17208c2ecf20Sopenharmony_ci 17218c2ecf20Sopenharmony_ci See also: 17228c2ecf20Sopenharmony_ci <https://www.schneier.com/twofish.html> 17238c2ecf20Sopenharmony_ci 17248c2ecf20Sopenharmony_ciconfig CRYPTO_TWOFISH_X86_64_3WAY 17258c2ecf20Sopenharmony_ci tristate "Twofish cipher algorithm (x86_64, 3-way parallel)" 17268c2ecf20Sopenharmony_ci depends on X86 && 64BIT 17278c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 17288c2ecf20Sopenharmony_ci select CRYPTO_TWOFISH_COMMON 17298c2ecf20Sopenharmony_ci select CRYPTO_TWOFISH_X86_64 17308c2ecf20Sopenharmony_ci select CRYPTO_GLUE_HELPER_X86 17318c2ecf20Sopenharmony_ci help 17328c2ecf20Sopenharmony_ci Twofish cipher algorithm (x86_64, 3-way parallel). 17338c2ecf20Sopenharmony_ci 17348c2ecf20Sopenharmony_ci Twofish was submitted as an AES (Advanced Encryption Standard) 17358c2ecf20Sopenharmony_ci candidate cipher by researchers at CounterPane Systems. It is a 17368c2ecf20Sopenharmony_ci 16 round block cipher supporting key sizes of 128, 192, and 256 17378c2ecf20Sopenharmony_ci bits. 17388c2ecf20Sopenharmony_ci 17398c2ecf20Sopenharmony_ci This module provides Twofish cipher algorithm that processes three 17408c2ecf20Sopenharmony_ci blocks parallel, utilizing resources of out-of-order CPUs better. 17418c2ecf20Sopenharmony_ci 17428c2ecf20Sopenharmony_ci See also: 17438c2ecf20Sopenharmony_ci <https://www.schneier.com/twofish.html> 17448c2ecf20Sopenharmony_ci 17458c2ecf20Sopenharmony_ciconfig CRYPTO_TWOFISH_AVX_X86_64 17468c2ecf20Sopenharmony_ci tristate "Twofish cipher algorithm (x86_64/AVX)" 17478c2ecf20Sopenharmony_ci depends on X86 && 64BIT 17488c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 17498c2ecf20Sopenharmony_ci select CRYPTO_GLUE_HELPER_X86 17508c2ecf20Sopenharmony_ci select CRYPTO_SIMD 17518c2ecf20Sopenharmony_ci select CRYPTO_TWOFISH_COMMON 17528c2ecf20Sopenharmony_ci select CRYPTO_TWOFISH_X86_64 17538c2ecf20Sopenharmony_ci select CRYPTO_TWOFISH_X86_64_3WAY 17548c2ecf20Sopenharmony_ci help 17558c2ecf20Sopenharmony_ci Twofish cipher algorithm (x86_64/AVX). 17568c2ecf20Sopenharmony_ci 17578c2ecf20Sopenharmony_ci Twofish was submitted as an AES (Advanced Encryption Standard) 17588c2ecf20Sopenharmony_ci candidate cipher by researchers at CounterPane Systems. It is a 17598c2ecf20Sopenharmony_ci 16 round block cipher supporting key sizes of 128, 192, and 256 17608c2ecf20Sopenharmony_ci bits. 17618c2ecf20Sopenharmony_ci 17628c2ecf20Sopenharmony_ci This module provides the Twofish cipher algorithm that processes 17638c2ecf20Sopenharmony_ci eight blocks parallel using the AVX Instruction Set. 17648c2ecf20Sopenharmony_ci 17658c2ecf20Sopenharmony_ci See also: 17668c2ecf20Sopenharmony_ci <https://www.schneier.com/twofish.html> 17678c2ecf20Sopenharmony_ci 17688c2ecf20Sopenharmony_cicomment "Compression" 17698c2ecf20Sopenharmony_ci 17708c2ecf20Sopenharmony_ciconfig CRYPTO_DEFLATE 17718c2ecf20Sopenharmony_ci tristate "Deflate compression algorithm" 17728c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 17738c2ecf20Sopenharmony_ci select CRYPTO_ACOMP2 17748c2ecf20Sopenharmony_ci select ZLIB_INFLATE 17758c2ecf20Sopenharmony_ci select ZLIB_DEFLATE 17768c2ecf20Sopenharmony_ci help 17778c2ecf20Sopenharmony_ci This is the Deflate algorithm (RFC1951), specified for use in 17788c2ecf20Sopenharmony_ci IPSec with the IPCOMP protocol (RFC3173, RFC2394). 17798c2ecf20Sopenharmony_ci 17808c2ecf20Sopenharmony_ci You will most probably want this if using IPSec. 17818c2ecf20Sopenharmony_ci 17828c2ecf20Sopenharmony_ciconfig CRYPTO_LZO 17838c2ecf20Sopenharmony_ci tristate "LZO compression algorithm" 17848c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 17858c2ecf20Sopenharmony_ci select CRYPTO_ACOMP2 17868c2ecf20Sopenharmony_ci select LZO_COMPRESS 17878c2ecf20Sopenharmony_ci select LZO_DECOMPRESS 17888c2ecf20Sopenharmony_ci help 17898c2ecf20Sopenharmony_ci This is the LZO algorithm. 17908c2ecf20Sopenharmony_ci 17918c2ecf20Sopenharmony_ciconfig CRYPTO_842 17928c2ecf20Sopenharmony_ci tristate "842 compression algorithm" 17938c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 17948c2ecf20Sopenharmony_ci select CRYPTO_ACOMP2 17958c2ecf20Sopenharmony_ci select 842_COMPRESS 17968c2ecf20Sopenharmony_ci select 842_DECOMPRESS 17978c2ecf20Sopenharmony_ci help 17988c2ecf20Sopenharmony_ci This is the 842 algorithm. 17998c2ecf20Sopenharmony_ci 18008c2ecf20Sopenharmony_ciconfig CRYPTO_LZ4 18018c2ecf20Sopenharmony_ci tristate "LZ4 compression algorithm" 18028c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 18038c2ecf20Sopenharmony_ci select CRYPTO_ACOMP2 18048c2ecf20Sopenharmony_ci select LZ4_COMPRESS 18058c2ecf20Sopenharmony_ci select LZ4_DECOMPRESS 18068c2ecf20Sopenharmony_ci help 18078c2ecf20Sopenharmony_ci This is the LZ4 algorithm. 18088c2ecf20Sopenharmony_ci 18098c2ecf20Sopenharmony_ciconfig CRYPTO_LZ4HC 18108c2ecf20Sopenharmony_ci tristate "LZ4HC compression algorithm" 18118c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 18128c2ecf20Sopenharmony_ci select CRYPTO_ACOMP2 18138c2ecf20Sopenharmony_ci select LZ4HC_COMPRESS 18148c2ecf20Sopenharmony_ci select LZ4_DECOMPRESS 18158c2ecf20Sopenharmony_ci help 18168c2ecf20Sopenharmony_ci This is the LZ4 high compression mode algorithm. 18178c2ecf20Sopenharmony_ci 18188c2ecf20Sopenharmony_ciconfig CRYPTO_ZSTD 18198c2ecf20Sopenharmony_ci tristate "Zstd compression algorithm" 18208c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 18218c2ecf20Sopenharmony_ci select CRYPTO_ACOMP2 18228c2ecf20Sopenharmony_ci select ZSTD_COMPRESS 18238c2ecf20Sopenharmony_ci select ZSTD_DECOMPRESS 18248c2ecf20Sopenharmony_ci help 18258c2ecf20Sopenharmony_ci This is the zstd algorithm. 18268c2ecf20Sopenharmony_ci 18278c2ecf20Sopenharmony_cicomment "Random Number Generation" 18288c2ecf20Sopenharmony_ci 18298c2ecf20Sopenharmony_ciconfig CRYPTO_ANSI_CPRNG 18308c2ecf20Sopenharmony_ci tristate "Pseudo Random Number Generation for Cryptographic modules" 18318c2ecf20Sopenharmony_ci select CRYPTO_AES 18328c2ecf20Sopenharmony_ci select CRYPTO_RNG 18338c2ecf20Sopenharmony_ci help 18348c2ecf20Sopenharmony_ci This option enables the generic pseudo random number generator 18358c2ecf20Sopenharmony_ci for cryptographic modules. Uses the Algorithm specified in 18368c2ecf20Sopenharmony_ci ANSI X9.31 A.2.4. Note that this option must be enabled if 18378c2ecf20Sopenharmony_ci CRYPTO_FIPS is selected 18388c2ecf20Sopenharmony_ci 18398c2ecf20Sopenharmony_cimenuconfig CRYPTO_DRBG_MENU 18408c2ecf20Sopenharmony_ci tristate "NIST SP800-90A DRBG" 18418c2ecf20Sopenharmony_ci help 18428c2ecf20Sopenharmony_ci NIST SP800-90A compliant DRBG. In the following submenu, one or 18438c2ecf20Sopenharmony_ci more of the DRBG types must be selected. 18448c2ecf20Sopenharmony_ci 18458c2ecf20Sopenharmony_ciif CRYPTO_DRBG_MENU 18468c2ecf20Sopenharmony_ci 18478c2ecf20Sopenharmony_ciconfig CRYPTO_DRBG_HMAC 18488c2ecf20Sopenharmony_ci bool 18498c2ecf20Sopenharmony_ci default y 18508c2ecf20Sopenharmony_ci select CRYPTO_HMAC 18518c2ecf20Sopenharmony_ci select CRYPTO_SHA256 18528c2ecf20Sopenharmony_ci 18538c2ecf20Sopenharmony_ciconfig CRYPTO_DRBG_HASH 18548c2ecf20Sopenharmony_ci bool "Enable Hash DRBG" 18558c2ecf20Sopenharmony_ci select CRYPTO_SHA256 18568c2ecf20Sopenharmony_ci help 18578c2ecf20Sopenharmony_ci Enable the Hash DRBG variant as defined in NIST SP800-90A. 18588c2ecf20Sopenharmony_ci 18598c2ecf20Sopenharmony_ciconfig CRYPTO_DRBG_CTR 18608c2ecf20Sopenharmony_ci bool "Enable CTR DRBG" 18618c2ecf20Sopenharmony_ci select CRYPTO_AES 18628c2ecf20Sopenharmony_ci select CRYPTO_CTR 18638c2ecf20Sopenharmony_ci help 18648c2ecf20Sopenharmony_ci Enable the CTR DRBG variant as defined in NIST SP800-90A. 18658c2ecf20Sopenharmony_ci 18668c2ecf20Sopenharmony_ciconfig CRYPTO_DRBG 18678c2ecf20Sopenharmony_ci tristate 18688c2ecf20Sopenharmony_ci default CRYPTO_DRBG_MENU 18698c2ecf20Sopenharmony_ci select CRYPTO_RNG 18708c2ecf20Sopenharmony_ci select CRYPTO_JITTERENTROPY 18718c2ecf20Sopenharmony_ci 18728c2ecf20Sopenharmony_ciendif # if CRYPTO_DRBG_MENU 18738c2ecf20Sopenharmony_ci 18748c2ecf20Sopenharmony_ciconfig CRYPTO_JITTERENTROPY 18758c2ecf20Sopenharmony_ci tristate "Jitterentropy Non-Deterministic Random Number Generator" 18768c2ecf20Sopenharmony_ci select CRYPTO_RNG 18778c2ecf20Sopenharmony_ci help 18788c2ecf20Sopenharmony_ci The Jitterentropy RNG is a noise that is intended 18798c2ecf20Sopenharmony_ci to provide seed to another RNG. The RNG does not 18808c2ecf20Sopenharmony_ci perform any cryptographic whitening of the generated 18818c2ecf20Sopenharmony_ci random numbers. This Jitterentropy RNG registers with 18828c2ecf20Sopenharmony_ci the kernel crypto API and can be used by any caller. 18838c2ecf20Sopenharmony_ci 18848c2ecf20Sopenharmony_ciconfig CRYPTO_USER_API 18858c2ecf20Sopenharmony_ci tristate 18868c2ecf20Sopenharmony_ci 18878c2ecf20Sopenharmony_ciconfig CRYPTO_USER_API_HASH 18888c2ecf20Sopenharmony_ci tristate "User-space interface for hash algorithms" 18898c2ecf20Sopenharmony_ci depends on NET 18908c2ecf20Sopenharmony_ci select CRYPTO_HASH 18918c2ecf20Sopenharmony_ci select CRYPTO_USER_API 18928c2ecf20Sopenharmony_ci help 18938c2ecf20Sopenharmony_ci This option enables the user-spaces interface for hash 18948c2ecf20Sopenharmony_ci algorithms. 18958c2ecf20Sopenharmony_ci 18968c2ecf20Sopenharmony_ciconfig CRYPTO_USER_API_SKCIPHER 18978c2ecf20Sopenharmony_ci tristate "User-space interface for symmetric key cipher algorithms" 18988c2ecf20Sopenharmony_ci depends on NET 18998c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 19008c2ecf20Sopenharmony_ci select CRYPTO_USER_API 19018c2ecf20Sopenharmony_ci help 19028c2ecf20Sopenharmony_ci This option enables the user-spaces interface for symmetric 19038c2ecf20Sopenharmony_ci key cipher algorithms. 19048c2ecf20Sopenharmony_ci 19058c2ecf20Sopenharmony_ciconfig CRYPTO_USER_API_RNG 19068c2ecf20Sopenharmony_ci tristate "User-space interface for random number generator algorithms" 19078c2ecf20Sopenharmony_ci depends on NET 19088c2ecf20Sopenharmony_ci select CRYPTO_RNG 19098c2ecf20Sopenharmony_ci select CRYPTO_USER_API 19108c2ecf20Sopenharmony_ci help 19118c2ecf20Sopenharmony_ci This option enables the user-spaces interface for random 19128c2ecf20Sopenharmony_ci number generator algorithms. 19138c2ecf20Sopenharmony_ci 19148c2ecf20Sopenharmony_ciconfig CRYPTO_USER_API_RNG_CAVP 19158c2ecf20Sopenharmony_ci bool "Enable CAVP testing of DRBG" 19168c2ecf20Sopenharmony_ci depends on CRYPTO_USER_API_RNG && CRYPTO_DRBG 19178c2ecf20Sopenharmony_ci help 19188c2ecf20Sopenharmony_ci This option enables extra API for CAVP testing via the user-space 19198c2ecf20Sopenharmony_ci interface: resetting of DRBG entropy, and providing Additional Data. 19208c2ecf20Sopenharmony_ci This should only be enabled for CAVP testing. You should say 19218c2ecf20Sopenharmony_ci no unless you know what this is. 19228c2ecf20Sopenharmony_ci 19238c2ecf20Sopenharmony_ciconfig CRYPTO_USER_API_AEAD 19248c2ecf20Sopenharmony_ci tristate "User-space interface for AEAD cipher algorithms" 19258c2ecf20Sopenharmony_ci depends on NET 19268c2ecf20Sopenharmony_ci select CRYPTO_AEAD 19278c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 19288c2ecf20Sopenharmony_ci select CRYPTO_NULL 19298c2ecf20Sopenharmony_ci select CRYPTO_USER_API 19308c2ecf20Sopenharmony_ci help 19318c2ecf20Sopenharmony_ci This option enables the user-spaces interface for AEAD 19328c2ecf20Sopenharmony_ci cipher algorithms. 19338c2ecf20Sopenharmony_ci 19348c2ecf20Sopenharmony_ciconfig CRYPTO_USER_API_ENABLE_OBSOLETE 19358c2ecf20Sopenharmony_ci bool "Enable obsolete cryptographic algorithms for userspace" 19368c2ecf20Sopenharmony_ci depends on CRYPTO_USER_API 19378c2ecf20Sopenharmony_ci default y 19388c2ecf20Sopenharmony_ci help 19398c2ecf20Sopenharmony_ci Allow obsolete cryptographic algorithms to be selected that have 19408c2ecf20Sopenharmony_ci already been phased out from internal use by the kernel, and are 19418c2ecf20Sopenharmony_ci only useful for userspace clients that still rely on them. 19428c2ecf20Sopenharmony_ci 19438c2ecf20Sopenharmony_ciconfig CRYPTO_STATS 19448c2ecf20Sopenharmony_ci bool "Crypto usage statistics for User-space" 19458c2ecf20Sopenharmony_ci depends on CRYPTO_USER 19468c2ecf20Sopenharmony_ci help 19478c2ecf20Sopenharmony_ci This option enables the gathering of crypto stats. 19488c2ecf20Sopenharmony_ci This will collect: 19498c2ecf20Sopenharmony_ci - encrypt/decrypt size and numbers of symmeric operations 19508c2ecf20Sopenharmony_ci - compress/decompress size and numbers of compress operations 19518c2ecf20Sopenharmony_ci - size and numbers of hash operations 19528c2ecf20Sopenharmony_ci - encrypt/decrypt/sign/verify numbers for asymmetric operations 19538c2ecf20Sopenharmony_ci - generate/seed numbers for rng operations 19548c2ecf20Sopenharmony_ci 19558c2ecf20Sopenharmony_ciconfig CRYPTO_HASH_INFO 19568c2ecf20Sopenharmony_ci bool 19578c2ecf20Sopenharmony_ci 19588c2ecf20Sopenharmony_cisource "drivers/crypto/Kconfig" 19598c2ecf20Sopenharmony_cisource "crypto/asymmetric_keys/Kconfig" 19608c2ecf20Sopenharmony_cisource "certs/Kconfig" 19618c2ecf20Sopenharmony_ci 19628c2ecf20Sopenharmony_ciendif # if CRYPTO 1963