1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun 3*4882a593Smuzhiyunmenu "Crypto library routines" 4*4882a593Smuzhiyun 5*4882a593Smuzhiyunconfig CRYPTO_LIB_AES 6*4882a593Smuzhiyun tristate 7*4882a593Smuzhiyun 8*4882a593Smuzhiyunconfig CRYPTO_LIB_ARC4 9*4882a593Smuzhiyun tristate 10*4882a593Smuzhiyun 11*4882a593Smuzhiyunconfig CRYPTO_ARCH_HAVE_LIB_BLAKE2S 12*4882a593Smuzhiyun bool 13*4882a593Smuzhiyun help 14*4882a593Smuzhiyun Declares whether the architecture provides an arch-specific 15*4882a593Smuzhiyun accelerated implementation of the Blake2s library interface, 16*4882a593Smuzhiyun either builtin or as a module. 17*4882a593Smuzhiyun 18*4882a593Smuzhiyunconfig CRYPTO_LIB_BLAKE2S_GENERIC 19*4882a593Smuzhiyun def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S 20*4882a593Smuzhiyun help 21*4882a593Smuzhiyun This symbol can be depended upon by arch implementations of the 22*4882a593Smuzhiyun Blake2s library interface that require the generic code as a 23*4882a593Smuzhiyun fallback, e.g., for SIMD implementations. If no arch specific 24*4882a593Smuzhiyun implementation is enabled, this implementation serves the users 25*4882a593Smuzhiyun of CRYPTO_LIB_BLAKE2S. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunconfig CRYPTO_ARCH_HAVE_LIB_CHACHA 28*4882a593Smuzhiyun tristate 29*4882a593Smuzhiyun help 30*4882a593Smuzhiyun Declares whether the architecture provides an arch-specific 31*4882a593Smuzhiyun accelerated implementation of the ChaCha library interface, 32*4882a593Smuzhiyun either builtin or as a module. 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunconfig CRYPTO_LIB_CHACHA_GENERIC 35*4882a593Smuzhiyun tristate 36*4882a593Smuzhiyun help 37*4882a593Smuzhiyun This symbol can be depended upon by arch implementations of the 38*4882a593Smuzhiyun ChaCha library interface that require the generic code as a 39*4882a593Smuzhiyun fallback, e.g., for SIMD implementations. If no arch specific 40*4882a593Smuzhiyun implementation is enabled, this implementation serves the users 41*4882a593Smuzhiyun of CRYPTO_LIB_CHACHA. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunconfig CRYPTO_LIB_CHACHA 44*4882a593Smuzhiyun tristate "ChaCha library interface" 45*4882a593Smuzhiyun depends on CRYPTO 46*4882a593Smuzhiyun depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 47*4882a593Smuzhiyun select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n 48*4882a593Smuzhiyun help 49*4882a593Smuzhiyun Enable the ChaCha library interface. This interface may be fulfilled 50*4882a593Smuzhiyun by either the generic implementation or an arch-specific one, if one 51*4882a593Smuzhiyun is available and enabled. 52*4882a593Smuzhiyun 53*4882a593Smuzhiyunconfig CRYPTO_ARCH_HAVE_LIB_CURVE25519 54*4882a593Smuzhiyun tristate 55*4882a593Smuzhiyun help 56*4882a593Smuzhiyun Declares whether the architecture provides an arch-specific 57*4882a593Smuzhiyun accelerated implementation of the Curve25519 library interface, 58*4882a593Smuzhiyun either builtin or as a module. 59*4882a593Smuzhiyun 60*4882a593Smuzhiyunconfig CRYPTO_LIB_CURVE25519_GENERIC 61*4882a593Smuzhiyun tristate 62*4882a593Smuzhiyun help 63*4882a593Smuzhiyun This symbol can be depended upon by arch implementations of the 64*4882a593Smuzhiyun Curve25519 library interface that require the generic code as a 65*4882a593Smuzhiyun fallback, e.g., for SIMD implementations. If no arch specific 66*4882a593Smuzhiyun implementation is enabled, this implementation serves the users 67*4882a593Smuzhiyun of CRYPTO_LIB_CURVE25519. 68*4882a593Smuzhiyun 69*4882a593Smuzhiyunconfig CRYPTO_LIB_CURVE25519 70*4882a593Smuzhiyun tristate "Curve25519 scalar multiplication library" 71*4882a593Smuzhiyun depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519 72*4882a593Smuzhiyun select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n 73*4882a593Smuzhiyun select LIB_MEMNEQ 74*4882a593Smuzhiyun help 75*4882a593Smuzhiyun Enable the Curve25519 library interface. This interface may be 76*4882a593Smuzhiyun fulfilled by either the generic implementation or an arch-specific 77*4882a593Smuzhiyun one, if one is available and enabled. 78*4882a593Smuzhiyun 79*4882a593Smuzhiyunconfig CRYPTO_LIB_DES 80*4882a593Smuzhiyun tristate 81*4882a593Smuzhiyun 82*4882a593Smuzhiyunconfig CRYPTO_LIB_POLY1305_RSIZE 83*4882a593Smuzhiyun int 84*4882a593Smuzhiyun default 2 if MIPS 85*4882a593Smuzhiyun default 11 if X86_64 86*4882a593Smuzhiyun default 9 if ARM || ARM64 87*4882a593Smuzhiyun default 1 88*4882a593Smuzhiyun 89*4882a593Smuzhiyunconfig CRYPTO_ARCH_HAVE_LIB_POLY1305 90*4882a593Smuzhiyun tristate 91*4882a593Smuzhiyun help 92*4882a593Smuzhiyun Declares whether the architecture provides an arch-specific 93*4882a593Smuzhiyun accelerated implementation of the Poly1305 library interface, 94*4882a593Smuzhiyun either builtin or as a module. 95*4882a593Smuzhiyun 96*4882a593Smuzhiyunconfig CRYPTO_LIB_POLY1305_GENERIC 97*4882a593Smuzhiyun tristate 98*4882a593Smuzhiyun help 99*4882a593Smuzhiyun This symbol can be depended upon by arch implementations of the 100*4882a593Smuzhiyun Poly1305 library interface that require the generic code as a 101*4882a593Smuzhiyun fallback, e.g., for SIMD implementations. If no arch specific 102*4882a593Smuzhiyun implementation is enabled, this implementation serves the users 103*4882a593Smuzhiyun of CRYPTO_LIB_POLY1305. 104*4882a593Smuzhiyun 105*4882a593Smuzhiyunconfig CRYPTO_LIB_POLY1305 106*4882a593Smuzhiyun tristate "Poly1305 library interface" 107*4882a593Smuzhiyun depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 108*4882a593Smuzhiyun select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n 109*4882a593Smuzhiyun help 110*4882a593Smuzhiyun Enable the Poly1305 library interface. This interface may be fulfilled 111*4882a593Smuzhiyun by either the generic implementation or an arch-specific one, if one 112*4882a593Smuzhiyun is available and enabled. 113*4882a593Smuzhiyun 114*4882a593Smuzhiyunconfig CRYPTO_LIB_CHACHA20POLY1305 115*4882a593Smuzhiyun tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)" 116*4882a593Smuzhiyun depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 117*4882a593Smuzhiyun depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 118*4882a593Smuzhiyun depends on CRYPTO 119*4882a593Smuzhiyun select CRYPTO_LIB_CHACHA 120*4882a593Smuzhiyun select CRYPTO_LIB_POLY1305 121*4882a593Smuzhiyun select CRYPTO_ALGAPI 122*4882a593Smuzhiyun 123*4882a593Smuzhiyunconfig CRYPTO_LIB_SHA256 124*4882a593Smuzhiyun tristate 125*4882a593Smuzhiyun 126*4882a593Smuzhiyunendmenu 127