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 11746b2e02SArd Biesheuvelconfig CRYPTO_LIB_ARC4 12746b2e02SArd Biesheuvel tristate 13746b2e02SArd Biesheuvel 14*61c581a4SArd Biesheuvelconfig CRYPTO_LIB_GF128MUL 15*61c581a4SArd Biesheuvel tristate 16*61c581a4SArd Biesheuvel 1766d7fb94SJason A. Donenfeldconfig CRYPTO_ARCH_HAVE_LIB_BLAKE2S 186048fdccSJason A. Donenfeld bool 1966d7fb94SJason A. Donenfeld help 2066d7fb94SJason A. Donenfeld Declares whether the architecture provides an arch-specific 2166d7fb94SJason A. Donenfeld accelerated implementation of the Blake2s library interface, 2266d7fb94SJason A. Donenfeld either builtin or as a module. 2366d7fb94SJason A. Donenfeld 2466d7fb94SJason A. Donenfeldconfig CRYPTO_LIB_BLAKE2S_GENERIC 256048fdccSJason A. Donenfeld def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S 2666d7fb94SJason A. Donenfeld help 2766d7fb94SJason A. Donenfeld This symbol can be depended upon by arch implementations of the 2866d7fb94SJason A. Donenfeld Blake2s library interface that require the generic code as a 2966d7fb94SJason A. Donenfeld fallback, e.g., for SIMD implementations. If no arch specific 3066d7fb94SJason A. Donenfeld implementation is enabled, this implementation serves the users 3166d7fb94SJason A. Donenfeld of CRYPTO_LIB_BLAKE2S. 3266d7fb94SJason A. Donenfeld 335fb8ef25SArd Biesheuvelconfig CRYPTO_ARCH_HAVE_LIB_CHACHA 345fb8ef25SArd Biesheuvel tristate 355fb8ef25SArd Biesheuvel help 365fb8ef25SArd Biesheuvel Declares whether the architecture provides an arch-specific 375fb8ef25SArd Biesheuvel accelerated implementation of the ChaCha library interface, 385fb8ef25SArd Biesheuvel either builtin or as a module. 395fb8ef25SArd Biesheuvel 405fb8ef25SArd Biesheuvelconfig CRYPTO_LIB_CHACHA_GENERIC 415fb8ef25SArd Biesheuvel tristate 426e78ad0bSEric Biggers select CRYPTO_LIB_UTILS 435fb8ef25SArd Biesheuvel help 445fb8ef25SArd Biesheuvel This symbol can be depended upon by arch implementations of the 455fb8ef25SArd Biesheuvel ChaCha library interface that require the generic code as a 465fb8ef25SArd Biesheuvel fallback, e.g., for SIMD implementations. If no arch specific 475fb8ef25SArd Biesheuvel implementation is enabled, this implementation serves the users 485fb8ef25SArd Biesheuvel of CRYPTO_LIB_CHACHA. 495fb8ef25SArd Biesheuvel 505fb8ef25SArd Biesheuvelconfig CRYPTO_LIB_CHACHA 51e56e1898SJustin M. Forbes tristate "ChaCha library interface" 525fb8ef25SArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 535fb8ef25SArd Biesheuvel select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n 545fb8ef25SArd Biesheuvel help 555fb8ef25SArd Biesheuvel Enable the ChaCha library interface. This interface may be fulfilled 565fb8ef25SArd Biesheuvel by either the generic implementation or an arch-specific one, if one 575fb8ef25SArd Biesheuvel is available and enabled. 585fb8ef25SArd Biesheuvel 590ed42a6fSJason A. Donenfeldconfig CRYPTO_ARCH_HAVE_LIB_CURVE25519 600ed42a6fSJason A. Donenfeld tristate 610ed42a6fSJason A. Donenfeld help 620ed42a6fSJason A. Donenfeld Declares whether the architecture provides an arch-specific 630ed42a6fSJason A. Donenfeld accelerated implementation of the Curve25519 library interface, 640ed42a6fSJason A. Donenfeld either builtin or as a module. 650ed42a6fSJason A. Donenfeld 660ed42a6fSJason A. Donenfeldconfig CRYPTO_LIB_CURVE25519_GENERIC 670ed42a6fSJason A. Donenfeld tristate 680ed42a6fSJason A. Donenfeld help 690ed42a6fSJason A. Donenfeld This symbol can be depended upon by arch implementations of the 700ed42a6fSJason A. Donenfeld Curve25519 library interface that require the generic code as a 710ed42a6fSJason A. Donenfeld fallback, e.g., for SIMD implementations. If no arch specific 720ed42a6fSJason A. Donenfeld implementation is enabled, this implementation serves the users 730ed42a6fSJason A. Donenfeld of CRYPTO_LIB_CURVE25519. 740ed42a6fSJason A. Donenfeld 750ed42a6fSJason A. Donenfeldconfig CRYPTO_LIB_CURVE25519 76e56e1898SJustin M. Forbes tristate "Curve25519 scalar multiplication library" 770ed42a6fSJason A. Donenfeld depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519 780ed42a6fSJason A. Donenfeld select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n 797033b937SEric Biggers select CRYPTO_LIB_UTILS 800ed42a6fSJason A. Donenfeld help 810ed42a6fSJason A. Donenfeld Enable the Curve25519 library interface. This interface may be 820ed42a6fSJason A. Donenfeld fulfilled by either the generic implementation or an arch-specific 830ed42a6fSJason A. Donenfeld one, if one is available and enabled. 840ed42a6fSJason A. Donenfeld 85746b2e02SArd Biesheuvelconfig CRYPTO_LIB_DES 86746b2e02SArd Biesheuvel tristate 87746b2e02SArd Biesheuvel 88a1d93064SArd Biesheuvelconfig CRYPTO_LIB_POLY1305_RSIZE 89a1d93064SArd Biesheuvel int 90a11d055eSArd Biesheuvel default 2 if MIPS 91d7d7b853SJason A. Donenfeld default 11 if X86_64 92a6b803b3SArd Biesheuvel default 9 if ARM || ARM64 93a1d93064SArd Biesheuvel default 1 94a1d93064SArd Biesheuvel 95a1d93064SArd Biesheuvelconfig CRYPTO_ARCH_HAVE_LIB_POLY1305 96a1d93064SArd Biesheuvel tristate 97a1d93064SArd Biesheuvel help 98a1d93064SArd Biesheuvel Declares whether the architecture provides an arch-specific 99a1d93064SArd Biesheuvel accelerated implementation of the Poly1305 library interface, 100a1d93064SArd Biesheuvel either builtin or as a module. 101a1d93064SArd Biesheuvel 10248ea8c6eSArd Biesheuvelconfig CRYPTO_LIB_POLY1305_GENERIC 10348ea8c6eSArd Biesheuvel tristate 104a1d93064SArd Biesheuvel help 105a1d93064SArd Biesheuvel This symbol can be depended upon by arch implementations of the 106a1d93064SArd Biesheuvel Poly1305 library interface that require the generic code as a 107a1d93064SArd Biesheuvel fallback, e.g., for SIMD implementations. If no arch specific 108a1d93064SArd Biesheuvel implementation is enabled, this implementation serves the users 109a1d93064SArd Biesheuvel of CRYPTO_LIB_POLY1305. 110a1d93064SArd Biesheuvel 111a1d93064SArd Biesheuvelconfig CRYPTO_LIB_POLY1305 112e56e1898SJustin M. Forbes tristate "Poly1305 library interface" 113a1d93064SArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 114a1d93064SArd Biesheuvel select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n 115a1d93064SArd Biesheuvel help 116a1d93064SArd Biesheuvel Enable the Poly1305 library interface. This interface may be fulfilled 117a1d93064SArd Biesheuvel by either the generic implementation or an arch-specific one, if one 118a1d93064SArd Biesheuvel is available and enabled. 11948ea8c6eSArd Biesheuvel 120ed20078bSArd Biesheuvelconfig CRYPTO_LIB_CHACHA20POLY1305 121e56e1898SJustin M. Forbes tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)" 122ed20078bSArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 123ed20078bSArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 124e56e1898SJustin M. Forbes depends on CRYPTO 125ed20078bSArd Biesheuvel select CRYPTO_LIB_CHACHA 126ed20078bSArd Biesheuvel select CRYPTO_LIB_POLY1305 127e56e1898SJustin M. Forbes select CRYPTO_ALGAPI 128ed20078bSArd Biesheuvel 129ec8f7f48SEric Biggersconfig CRYPTO_LIB_SHA1 130ec8f7f48SEric Biggers tristate 131ec8f7f48SEric Biggers 132746b2e02SArd Biesheuvelconfig CRYPTO_LIB_SHA256 133746b2e02SArd Biesheuvel tristate 1342b31277aSTianjia Zhang 135e56e1898SJustin M. Forbesendmenu 136