1746b2e02SArd Biesheuvel# SPDX-License-Identifier: GPL-2.0 2746b2e02SArd Biesheuvel 3e56e1898SJustin M. Forbesmenu "Crypto library routines" 4e56e1898SJustin M. Forbes 5746b2e02SArd Biesheuvelconfig CRYPTO_LIB_AES 6746b2e02SArd Biesheuvel tristate 7746b2e02SArd Biesheuvel 8746b2e02SArd Biesheuvelconfig CRYPTO_LIB_ARC4 9746b2e02SArd Biesheuvel tristate 10746b2e02SArd Biesheuvel 1166d7fb94SJason A. Donenfeldconfig CRYPTO_ARCH_HAVE_LIB_BLAKE2S 126048fdccSJason A. Donenfeld bool 1366d7fb94SJason A. Donenfeld help 1466d7fb94SJason A. Donenfeld Declares whether the architecture provides an arch-specific 1566d7fb94SJason A. Donenfeld accelerated implementation of the Blake2s library interface, 1666d7fb94SJason A. Donenfeld either builtin or as a module. 1766d7fb94SJason A. Donenfeld 1866d7fb94SJason A. Donenfeldconfig CRYPTO_LIB_BLAKE2S_GENERIC 196048fdccSJason A. Donenfeld def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S 2066d7fb94SJason A. Donenfeld help 2166d7fb94SJason A. Donenfeld This symbol can be depended upon by arch implementations of the 2266d7fb94SJason A. Donenfeld Blake2s library interface that require the generic code as a 2366d7fb94SJason A. Donenfeld fallback, e.g., for SIMD implementations. If no arch specific 2466d7fb94SJason A. Donenfeld implementation is enabled, this implementation serves the users 2566d7fb94SJason A. Donenfeld of CRYPTO_LIB_BLAKE2S. 2666d7fb94SJason A. Donenfeld 275fb8ef25SArd Biesheuvelconfig CRYPTO_ARCH_HAVE_LIB_CHACHA 285fb8ef25SArd Biesheuvel tristate 295fb8ef25SArd Biesheuvel help 305fb8ef25SArd Biesheuvel Declares whether the architecture provides an arch-specific 315fb8ef25SArd Biesheuvel accelerated implementation of the ChaCha library interface, 325fb8ef25SArd Biesheuvel either builtin or as a module. 335fb8ef25SArd Biesheuvel 345fb8ef25SArd Biesheuvelconfig CRYPTO_LIB_CHACHA_GENERIC 355fb8ef25SArd Biesheuvel tristate 36e56e1898SJustin M. Forbes select XOR_BLOCKS 375fb8ef25SArd Biesheuvel help 385fb8ef25SArd Biesheuvel This symbol can be depended upon by arch implementations of the 395fb8ef25SArd Biesheuvel ChaCha library interface that require the generic code as a 405fb8ef25SArd Biesheuvel fallback, e.g., for SIMD implementations. If no arch specific 415fb8ef25SArd Biesheuvel implementation is enabled, this implementation serves the users 425fb8ef25SArd Biesheuvel of CRYPTO_LIB_CHACHA. 435fb8ef25SArd Biesheuvel 445fb8ef25SArd Biesheuvelconfig CRYPTO_LIB_CHACHA 45e56e1898SJustin M. Forbes tristate "ChaCha library interface" 46e56e1898SJustin M. Forbes depends on CRYPTO 475fb8ef25SArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 485fb8ef25SArd Biesheuvel select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n 495fb8ef25SArd Biesheuvel help 505fb8ef25SArd Biesheuvel Enable the ChaCha library interface. This interface may be fulfilled 515fb8ef25SArd Biesheuvel by either the generic implementation or an arch-specific one, if one 525fb8ef25SArd Biesheuvel is available and enabled. 535fb8ef25SArd Biesheuvel 540ed42a6fSJason A. Donenfeldconfig CRYPTO_ARCH_HAVE_LIB_CURVE25519 550ed42a6fSJason A. Donenfeld tristate 560ed42a6fSJason A. Donenfeld help 570ed42a6fSJason A. Donenfeld Declares whether the architecture provides an arch-specific 580ed42a6fSJason A. Donenfeld accelerated implementation of the Curve25519 library interface, 590ed42a6fSJason A. Donenfeld either builtin or as a module. 600ed42a6fSJason A. Donenfeld 610ed42a6fSJason A. Donenfeldconfig CRYPTO_LIB_CURVE25519_GENERIC 620ed42a6fSJason A. Donenfeld tristate 630ed42a6fSJason A. Donenfeld help 640ed42a6fSJason A. Donenfeld This symbol can be depended upon by arch implementations of the 650ed42a6fSJason A. Donenfeld Curve25519 library interface that require the generic code as a 660ed42a6fSJason A. Donenfeld fallback, e.g., for SIMD implementations. If no arch specific 670ed42a6fSJason A. Donenfeld implementation is enabled, this implementation serves the users 680ed42a6fSJason A. Donenfeld of CRYPTO_LIB_CURVE25519. 690ed42a6fSJason A. Donenfeld 700ed42a6fSJason A. Donenfeldconfig CRYPTO_LIB_CURVE25519 71e56e1898SJustin M. Forbes tristate "Curve25519 scalar multiplication library" 720ed42a6fSJason A. Donenfeld depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519 730ed42a6fSJason A. Donenfeld select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n 74*920b0442SJason A. Donenfeld select LIB_MEMNEQ 750ed42a6fSJason A. Donenfeld help 760ed42a6fSJason A. Donenfeld Enable the Curve25519 library interface. This interface may be 770ed42a6fSJason A. Donenfeld fulfilled by either the generic implementation or an arch-specific 780ed42a6fSJason A. Donenfeld one, if one is available and enabled. 790ed42a6fSJason A. Donenfeld 80746b2e02SArd Biesheuvelconfig CRYPTO_LIB_DES 81746b2e02SArd Biesheuvel tristate 82746b2e02SArd Biesheuvel 83a1d93064SArd Biesheuvelconfig CRYPTO_LIB_POLY1305_RSIZE 84a1d93064SArd Biesheuvel int 85a11d055eSArd Biesheuvel default 2 if MIPS 86d7d7b853SJason A. Donenfeld default 11 if X86_64 87a6b803b3SArd Biesheuvel default 9 if ARM || ARM64 88a1d93064SArd Biesheuvel default 1 89a1d93064SArd Biesheuvel 90a1d93064SArd Biesheuvelconfig CRYPTO_ARCH_HAVE_LIB_POLY1305 91a1d93064SArd Biesheuvel tristate 92a1d93064SArd Biesheuvel help 93a1d93064SArd Biesheuvel Declares whether the architecture provides an arch-specific 94a1d93064SArd Biesheuvel accelerated implementation of the Poly1305 library interface, 95a1d93064SArd Biesheuvel either builtin or as a module. 96a1d93064SArd Biesheuvel 9748ea8c6eSArd Biesheuvelconfig CRYPTO_LIB_POLY1305_GENERIC 9848ea8c6eSArd Biesheuvel tristate 99a1d93064SArd Biesheuvel help 100a1d93064SArd Biesheuvel This symbol can be depended upon by arch implementations of the 101a1d93064SArd Biesheuvel Poly1305 library interface that require the generic code as a 102a1d93064SArd Biesheuvel fallback, e.g., for SIMD implementations. If no arch specific 103a1d93064SArd Biesheuvel implementation is enabled, this implementation serves the users 104a1d93064SArd Biesheuvel of CRYPTO_LIB_POLY1305. 105a1d93064SArd Biesheuvel 106a1d93064SArd Biesheuvelconfig CRYPTO_LIB_POLY1305 107e56e1898SJustin M. Forbes tristate "Poly1305 library interface" 108a1d93064SArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 109a1d93064SArd Biesheuvel select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n 110a1d93064SArd Biesheuvel help 111a1d93064SArd Biesheuvel Enable the Poly1305 library interface. This interface may be fulfilled 112a1d93064SArd Biesheuvel by either the generic implementation or an arch-specific one, if one 113a1d93064SArd Biesheuvel is available and enabled. 11448ea8c6eSArd Biesheuvel 115ed20078bSArd Biesheuvelconfig CRYPTO_LIB_CHACHA20POLY1305 116e56e1898SJustin M. Forbes tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)" 117ed20078bSArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 118ed20078bSArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 119e56e1898SJustin M. Forbes depends on CRYPTO 120ed20078bSArd Biesheuvel select CRYPTO_LIB_CHACHA 121ed20078bSArd Biesheuvel select CRYPTO_LIB_POLY1305 122e56e1898SJustin M. Forbes select CRYPTO_ALGAPI 123ed20078bSArd Biesheuvel 124746b2e02SArd Biesheuvelconfig CRYPTO_LIB_SHA256 125746b2e02SArd Biesheuvel tristate 1262b31277aSTianjia Zhang 127e56e1898SJustin M. Forbesendmenu 128