xref: /openbmc/linux/lib/crypto/Kconfig (revision a11d055e)
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
115fb8ef25SArd Biesheuvelconfig CRYPTO_ARCH_HAVE_LIB_CHACHA
125fb8ef25SArd Biesheuvel	tristate
135fb8ef25SArd Biesheuvel	help
145fb8ef25SArd Biesheuvel	  Declares whether the architecture provides an arch-specific
155fb8ef25SArd Biesheuvel	  accelerated implementation of the ChaCha library interface,
165fb8ef25SArd Biesheuvel	  either builtin or as a module.
175fb8ef25SArd Biesheuvel
185fb8ef25SArd Biesheuvelconfig CRYPTO_LIB_CHACHA_GENERIC
195fb8ef25SArd Biesheuvel	tristate
205fb8ef25SArd Biesheuvel	select CRYPTO_ALGAPI
215fb8ef25SArd Biesheuvel	help
225fb8ef25SArd Biesheuvel	  This symbol can be depended upon by arch implementations of the
235fb8ef25SArd Biesheuvel	  ChaCha library interface that require the generic code as a
245fb8ef25SArd Biesheuvel	  fallback, e.g., for SIMD implementations. If no arch specific
255fb8ef25SArd Biesheuvel	  implementation is enabled, this implementation serves the users
265fb8ef25SArd Biesheuvel	  of CRYPTO_LIB_CHACHA.
275fb8ef25SArd Biesheuvel
285fb8ef25SArd Biesheuvelconfig CRYPTO_LIB_CHACHA
295fb8ef25SArd Biesheuvel	tristate "ChaCha library interface"
305fb8ef25SArd Biesheuvel	depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
315fb8ef25SArd Biesheuvel	select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n
325fb8ef25SArd Biesheuvel	help
335fb8ef25SArd Biesheuvel	  Enable the ChaCha library interface. This interface may be fulfilled
345fb8ef25SArd Biesheuvel	  by either the generic implementation or an arch-specific one, if one
355fb8ef25SArd Biesheuvel	  is available and enabled.
365fb8ef25SArd Biesheuvel
37746b2e02SArd Biesheuvelconfig CRYPTO_LIB_DES
38746b2e02SArd Biesheuvel	tristate
39746b2e02SArd Biesheuvel
40a1d93064SArd Biesheuvelconfig CRYPTO_LIB_POLY1305_RSIZE
41a1d93064SArd Biesheuvel	int
42a11d055eSArd Biesheuvel	default 2 if MIPS
43f0e89bcfSArd Biesheuvel	default 4 if X86_64
44a6b803b3SArd Biesheuvel	default 9 if ARM || ARM64
45a1d93064SArd Biesheuvel	default 1
46a1d93064SArd Biesheuvel
47a1d93064SArd Biesheuvelconfig CRYPTO_ARCH_HAVE_LIB_POLY1305
48a1d93064SArd Biesheuvel	tristate
49a1d93064SArd Biesheuvel	help
50a1d93064SArd Biesheuvel	  Declares whether the architecture provides an arch-specific
51a1d93064SArd Biesheuvel	  accelerated implementation of the Poly1305 library interface,
52a1d93064SArd Biesheuvel	  either builtin or as a module.
53a1d93064SArd Biesheuvel
5448ea8c6eSArd Biesheuvelconfig CRYPTO_LIB_POLY1305_GENERIC
5548ea8c6eSArd Biesheuvel	tristate
56a1d93064SArd Biesheuvel	help
57a1d93064SArd Biesheuvel	  This symbol can be depended upon by arch implementations of the
58a1d93064SArd Biesheuvel	  Poly1305 library interface that require the generic code as a
59a1d93064SArd Biesheuvel	  fallback, e.g., for SIMD implementations. If no arch specific
60a1d93064SArd Biesheuvel	  implementation is enabled, this implementation serves the users
61a1d93064SArd Biesheuvel	  of CRYPTO_LIB_POLY1305.
62a1d93064SArd Biesheuvel
63a1d93064SArd Biesheuvelconfig CRYPTO_LIB_POLY1305
64a1d93064SArd Biesheuvel	tristate "Poly1305 library interface"
65a1d93064SArd Biesheuvel	depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
66a1d93064SArd Biesheuvel	select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n
67a1d93064SArd Biesheuvel	help
68a1d93064SArd Biesheuvel	  Enable the Poly1305 library interface. This interface may be fulfilled
69a1d93064SArd Biesheuvel	  by either the generic implementation or an arch-specific one, if one
70a1d93064SArd Biesheuvel	  is available and enabled.
7148ea8c6eSArd Biesheuvel
72746b2e02SArd Biesheuvelconfig CRYPTO_LIB_SHA256
73746b2e02SArd Biesheuvel	tristate
74