1746b2e02SArd Biesheuvel# SPDX-License-Identifier: GPL-2.0 2746b2e02SArd Biesheuvel 3746b2e02SArd Biesheuvelcomment "Crypto library routines" 4746b2e02SArd Biesheuvel 5746b2e02SArd Biesheuvelconfig CRYPTO_LIB_AES 6746b2e02SArd Biesheuvel tristate 7746b2e02SArd Biesheuvel 8746b2e02SArd Biesheuvelconfig CRYPTO_LIB_ARC4 9746b2e02SArd Biesheuvel tristate 10746b2e02SArd Biesheuvel 11*66d7fb94SJason A. Donenfeldconfig CRYPTO_ARCH_HAVE_LIB_BLAKE2S 12*66d7fb94SJason A. Donenfeld tristate 13*66d7fb94SJason A. Donenfeld help 14*66d7fb94SJason A. Donenfeld Declares whether the architecture provides an arch-specific 15*66d7fb94SJason A. Donenfeld accelerated implementation of the Blake2s library interface, 16*66d7fb94SJason A. Donenfeld either builtin or as a module. 17*66d7fb94SJason A. Donenfeld 18*66d7fb94SJason A. Donenfeldconfig CRYPTO_LIB_BLAKE2S_GENERIC 19*66d7fb94SJason A. Donenfeld tristate 20*66d7fb94SJason A. Donenfeld help 21*66d7fb94SJason A. Donenfeld This symbol can be depended upon by arch implementations of the 22*66d7fb94SJason A. Donenfeld Blake2s library interface that require the generic code as a 23*66d7fb94SJason A. Donenfeld fallback, e.g., for SIMD implementations. If no arch specific 24*66d7fb94SJason A. Donenfeld implementation is enabled, this implementation serves the users 25*66d7fb94SJason A. Donenfeld of CRYPTO_LIB_BLAKE2S. 26*66d7fb94SJason A. Donenfeld 27*66d7fb94SJason A. Donenfeldconfig CRYPTO_LIB_BLAKE2S 28*66d7fb94SJason A. Donenfeld tristate "BLAKE2s hash function library" 29*66d7fb94SJason A. Donenfeld depends on CRYPTO_ARCH_HAVE_LIB_BLAKE2S || !CRYPTO_ARCH_HAVE_LIB_BLAKE2S 30*66d7fb94SJason A. Donenfeld select CRYPTO_LIB_BLAKE2S_GENERIC if CRYPTO_ARCH_HAVE_LIB_BLAKE2S=n 31*66d7fb94SJason A. Donenfeld help 32*66d7fb94SJason A. Donenfeld Enable the Blake2s library interface. This interface may be fulfilled 33*66d7fb94SJason A. Donenfeld by either the generic implementation or an arch-specific one, if one 34*66d7fb94SJason A. Donenfeld is available and enabled. 35*66d7fb94SJason A. Donenfeld 365fb8ef25SArd Biesheuvelconfig CRYPTO_ARCH_HAVE_LIB_CHACHA 375fb8ef25SArd Biesheuvel tristate 385fb8ef25SArd Biesheuvel help 395fb8ef25SArd Biesheuvel Declares whether the architecture provides an arch-specific 405fb8ef25SArd Biesheuvel accelerated implementation of the ChaCha library interface, 415fb8ef25SArd Biesheuvel either builtin or as a module. 425fb8ef25SArd Biesheuvel 435fb8ef25SArd Biesheuvelconfig CRYPTO_LIB_CHACHA_GENERIC 445fb8ef25SArd Biesheuvel tristate 455fb8ef25SArd Biesheuvel select CRYPTO_ALGAPI 465fb8ef25SArd Biesheuvel help 475fb8ef25SArd Biesheuvel This symbol can be depended upon by arch implementations of the 485fb8ef25SArd Biesheuvel ChaCha library interface that require the generic code as a 495fb8ef25SArd Biesheuvel fallback, e.g., for SIMD implementations. If no arch specific 505fb8ef25SArd Biesheuvel implementation is enabled, this implementation serves the users 515fb8ef25SArd Biesheuvel of CRYPTO_LIB_CHACHA. 525fb8ef25SArd Biesheuvel 535fb8ef25SArd Biesheuvelconfig CRYPTO_LIB_CHACHA 545fb8ef25SArd Biesheuvel tristate "ChaCha library interface" 555fb8ef25SArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 565fb8ef25SArd Biesheuvel select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n 575fb8ef25SArd Biesheuvel help 585fb8ef25SArd Biesheuvel Enable the ChaCha library interface. This interface may be fulfilled 595fb8ef25SArd Biesheuvel by either the generic implementation or an arch-specific one, if one 605fb8ef25SArd Biesheuvel is available and enabled. 615fb8ef25SArd Biesheuvel 62746b2e02SArd Biesheuvelconfig CRYPTO_LIB_DES 63746b2e02SArd Biesheuvel tristate 64746b2e02SArd Biesheuvel 65a1d93064SArd Biesheuvelconfig CRYPTO_LIB_POLY1305_RSIZE 66a1d93064SArd Biesheuvel int 67a11d055eSArd Biesheuvel default 2 if MIPS 68f0e89bcfSArd Biesheuvel default 4 if X86_64 69a6b803b3SArd Biesheuvel default 9 if ARM || ARM64 70a1d93064SArd Biesheuvel default 1 71a1d93064SArd Biesheuvel 72a1d93064SArd Biesheuvelconfig CRYPTO_ARCH_HAVE_LIB_POLY1305 73a1d93064SArd Biesheuvel tristate 74a1d93064SArd Biesheuvel help 75a1d93064SArd Biesheuvel Declares whether the architecture provides an arch-specific 76a1d93064SArd Biesheuvel accelerated implementation of the Poly1305 library interface, 77a1d93064SArd Biesheuvel either builtin or as a module. 78a1d93064SArd Biesheuvel 7948ea8c6eSArd Biesheuvelconfig CRYPTO_LIB_POLY1305_GENERIC 8048ea8c6eSArd Biesheuvel tristate 81a1d93064SArd Biesheuvel help 82a1d93064SArd Biesheuvel This symbol can be depended upon by arch implementations of the 83a1d93064SArd Biesheuvel Poly1305 library interface that require the generic code as a 84a1d93064SArd Biesheuvel fallback, e.g., for SIMD implementations. If no arch specific 85a1d93064SArd Biesheuvel implementation is enabled, this implementation serves the users 86a1d93064SArd Biesheuvel of CRYPTO_LIB_POLY1305. 87a1d93064SArd Biesheuvel 88a1d93064SArd Biesheuvelconfig CRYPTO_LIB_POLY1305 89a1d93064SArd Biesheuvel tristate "Poly1305 library interface" 90a1d93064SArd Biesheuvel depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 91a1d93064SArd Biesheuvel select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n 92a1d93064SArd Biesheuvel help 93a1d93064SArd Biesheuvel Enable the Poly1305 library interface. This interface may be fulfilled 94a1d93064SArd Biesheuvel by either the generic implementation or an arch-specific one, if one 95a1d93064SArd Biesheuvel is available and enabled. 9648ea8c6eSArd Biesheuvel 97746b2e02SArd Biesheuvelconfig CRYPTO_LIB_SHA256 98746b2e02SArd Biesheuvel tristate 99