1746b2e02SArd Biesheuvel# SPDX-License-Identifier: GPL-2.0 2746b2e02SArd Biesheuvel 3e56e1898SJustin M. Forbesmenu "Crypto library routines" 4e56e1898SJustin M. Forbes 57033b937SEric Biggersconfig CRYPTO_LIB_UTILS 67033b937SEric Biggers tristate 77033b937SEric Biggers 8746b2e02SArd Biesheuvelconfig CRYPTO_LIB_AES 9746b2e02SArd Biesheuvel tristate 10746b2e02SArd Biesheuvel 11*f1354404SArd Biesheuvelconfig CRYPTO_LIB_AESCFB 12*f1354404SArd Biesheuvel tristate 13*f1354404SArd Biesheuvel select CRYPTO_LIB_AES 14*f1354404SArd Biesheuvel select CRYPTO_LIB_UTILS 15*f1354404SArd Biesheuvel 16520af5daSArd Biesheuvelconfig CRYPTO_LIB_AESGCM 17520af5daSArd Biesheuvel tristate 18520af5daSArd Biesheuvel select CRYPTO_LIB_AES 19520af5daSArd Biesheuvel select CRYPTO_LIB_GF128MUL 20520af5daSArd Biesheuvel select CRYPTO_LIB_UTILS 21520af5daSArd Biesheuvel 22746b2e02SArd Biesheuvelconfig CRYPTO_LIB_ARC4 23746b2e02SArd Biesheuvel tristate 24746b2e02SArd Biesheuvel 2561c581a4SArd Biesheuvelconfig CRYPTO_LIB_GF128MUL 2661c581a4SArd Biesheuvel tristate 2761c581a4SArd Biesheuvel 2866d7fb94SJason A. Donenfeldconfig CRYPTO_ARCH_HAVE_LIB_BLAKE2S 296048fdccSJason A. Donenfeld bool 3066d7fb94SJason A. Donenfeld help 3166d7fb94SJason A. Donenfeld Declares whether the architecture provides an arch-specific 3266d7fb94SJason A. Donenfeld accelerated implementation of the Blake2s library interface, 3366d7fb94SJason A. Donenfeld either builtin or as a module. 3466d7fb94SJason A. Donenfeld 3566d7fb94SJason A. Donenfeldconfig CRYPTO_LIB_BLAKE2S_GENERIC 366048fdccSJason A. Donenfeld def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S 3766d7fb94SJason A. Donenfeld help 3866d7fb94SJason A. Donenfeld This symbol can be depended upon by arch implementations of the 3966d7fb94SJason A. Donenfeld Blake2s library interface that require the generic code as a 4066d7fb94SJason A. Donenfeld fallback, e.g., for SIMD implementations. If no arch specific 4166d7fb94SJason A. Donenfeld implementation is enabled, this implementation serves the users 4266d7fb94SJason A. Donenfeld of CRYPTO_LIB_BLAKE2S. 4366d7fb94SJason A. Donenfeld 445fb8ef25SArd Biesheuvelconfig CRYPTO_ARCH_HAVE_LIB_CHACHA 455fb8ef25SArd Biesheuvel tristate 465fb8ef25SArd Biesheuvel help 475fb8ef25SArd Biesheuvel Declares whether the architecture provides an arch-specific 485fb8ef25SArd Biesheuvel accelerated implementation of the ChaCha library interface, 495fb8ef25SArd Biesheuvel either builtin or as a module. 505fb8ef25SArd Biesheuvel 515fb8ef25SArd Biesheuvelconfig CRYPTO_LIB_CHACHA_GENERIC 525fb8ef25SArd Biesheuvel tristate 536e78ad0bSEric Biggers select CRYPTO_LIB_UTILS 545fb8ef25SArd Biesheuvel help 555fb8ef25SArd Biesheuvel This symbol can be depended upon by arch implementations of the 565fb8ef25SArd Biesheuvel ChaCha library interface that require the generic code as a 575fb8ef25SArd Biesheuvel fallback, e.g., for SIMD implementations. If no arch specific 585fb8ef25SArd Biesheuvel implementation is enabled, this implementation serves the users 595fb8ef25SArd Biesheuvel of CRYPTO_LIB_CHACHA. 605fb8ef25SArd Biesheuvel 615fb8ef25SArd Biesheuvelconfig CRYPTO_LIB_CHACHA 62e56e1898SJustin M. Forbes tristate "ChaCha library interface" 635fb8ef25SArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 645fb8ef25SArd Biesheuvel select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n 655fb8ef25SArd Biesheuvel help 665fb8ef25SArd Biesheuvel Enable the ChaCha library interface. This interface may be fulfilled 675fb8ef25SArd Biesheuvel by either the generic implementation or an arch-specific one, if one 685fb8ef25SArd Biesheuvel is available and enabled. 695fb8ef25SArd Biesheuvel 700ed42a6fSJason A. Donenfeldconfig CRYPTO_ARCH_HAVE_LIB_CURVE25519 710ed42a6fSJason A. Donenfeld tristate 720ed42a6fSJason A. Donenfeld help 730ed42a6fSJason A. Donenfeld Declares whether the architecture provides an arch-specific 740ed42a6fSJason A. Donenfeld accelerated implementation of the Curve25519 library interface, 750ed42a6fSJason A. Donenfeld either builtin or as a module. 760ed42a6fSJason A. Donenfeld 770ed42a6fSJason A. Donenfeldconfig CRYPTO_LIB_CURVE25519_GENERIC 780ed42a6fSJason A. Donenfeld tristate 790ed42a6fSJason A. Donenfeld help 800ed42a6fSJason A. Donenfeld This symbol can be depended upon by arch implementations of the 810ed42a6fSJason A. Donenfeld Curve25519 library interface that require the generic code as a 820ed42a6fSJason A. Donenfeld fallback, e.g., for SIMD implementations. If no arch specific 830ed42a6fSJason A. Donenfeld implementation is enabled, this implementation serves the users 840ed42a6fSJason A. Donenfeld of CRYPTO_LIB_CURVE25519. 850ed42a6fSJason A. Donenfeld 860ed42a6fSJason A. Donenfeldconfig CRYPTO_LIB_CURVE25519 87e56e1898SJustin M. Forbes tristate "Curve25519 scalar multiplication library" 880ed42a6fSJason A. Donenfeld depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519 890ed42a6fSJason A. Donenfeld select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n 907033b937SEric Biggers select CRYPTO_LIB_UTILS 910ed42a6fSJason A. Donenfeld help 920ed42a6fSJason A. Donenfeld Enable the Curve25519 library interface. This interface may be 930ed42a6fSJason A. Donenfeld fulfilled by either the generic implementation or an arch-specific 940ed42a6fSJason A. Donenfeld one, if one is available and enabled. 950ed42a6fSJason A. Donenfeld 96746b2e02SArd Biesheuvelconfig CRYPTO_LIB_DES 97746b2e02SArd Biesheuvel tristate 98746b2e02SArd Biesheuvel 99a1d93064SArd Biesheuvelconfig CRYPTO_LIB_POLY1305_RSIZE 100a1d93064SArd Biesheuvel int 101a11d055eSArd Biesheuvel default 2 if MIPS 102d7d7b853SJason A. Donenfeld default 11 if X86_64 103a6b803b3SArd Biesheuvel default 9 if ARM || ARM64 104a1d93064SArd Biesheuvel default 1 105a1d93064SArd Biesheuvel 106a1d93064SArd Biesheuvelconfig CRYPTO_ARCH_HAVE_LIB_POLY1305 107a1d93064SArd Biesheuvel tristate 108a1d93064SArd Biesheuvel help 109a1d93064SArd Biesheuvel Declares whether the architecture provides an arch-specific 110a1d93064SArd Biesheuvel accelerated implementation of the Poly1305 library interface, 111a1d93064SArd Biesheuvel either builtin or as a module. 112a1d93064SArd Biesheuvel 11348ea8c6eSArd Biesheuvelconfig CRYPTO_LIB_POLY1305_GENERIC 11448ea8c6eSArd Biesheuvel tristate 115a1d93064SArd Biesheuvel help 116a1d93064SArd Biesheuvel This symbol can be depended upon by arch implementations of the 117a1d93064SArd Biesheuvel Poly1305 library interface that require the generic code as a 118a1d93064SArd Biesheuvel fallback, e.g., for SIMD implementations. If no arch specific 119a1d93064SArd Biesheuvel implementation is enabled, this implementation serves the users 120a1d93064SArd Biesheuvel of CRYPTO_LIB_POLY1305. 121a1d93064SArd Biesheuvel 122a1d93064SArd Biesheuvelconfig CRYPTO_LIB_POLY1305 123e56e1898SJustin M. Forbes tristate "Poly1305 library interface" 124a1d93064SArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 125a1d93064SArd Biesheuvel select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n 126a1d93064SArd Biesheuvel help 127a1d93064SArd Biesheuvel Enable the Poly1305 library interface. This interface may be fulfilled 128a1d93064SArd Biesheuvel by either the generic implementation or an arch-specific one, if one 129a1d93064SArd Biesheuvel is available and enabled. 13048ea8c6eSArd Biesheuvel 131ed20078bSArd Biesheuvelconfig CRYPTO_LIB_CHACHA20POLY1305 132e56e1898SJustin M. Forbes tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)" 133ed20078bSArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 134ed20078bSArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 135e56e1898SJustin M. Forbes depends on CRYPTO 136ed20078bSArd Biesheuvel select CRYPTO_LIB_CHACHA 137ed20078bSArd Biesheuvel select CRYPTO_LIB_POLY1305 138e56e1898SJustin M. Forbes select CRYPTO_ALGAPI 139ed20078bSArd Biesheuvel 140ec8f7f48SEric Biggersconfig CRYPTO_LIB_SHA1 141ec8f7f48SEric Biggers tristate 142ec8f7f48SEric Biggers 143746b2e02SArd Biesheuvelconfig CRYPTO_LIB_SHA256 144746b2e02SArd Biesheuvel tristate 1452b31277aSTianjia Zhang 146e56e1898SJustin M. Forbesendmenu 147