xref: /linux/lib/crypto/Kconfig (revision f0e89bcfbb894e5844cd1bbf6b3cf7c63cb0f5ac)
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
42*f0e89bcfSArd Biesheuvel	default 4 if X86_64
43a1d93064SArd Biesheuvel	default 1
44a1d93064SArd Biesheuvel
45a1d93064SArd Biesheuvelconfig CRYPTO_ARCH_HAVE_LIB_POLY1305
46a1d93064SArd Biesheuvel	tristate
47a1d93064SArd Biesheuvel	help
48a1d93064SArd Biesheuvel	  Declares whether the architecture provides an arch-specific
49a1d93064SArd Biesheuvel	  accelerated implementation of the Poly1305 library interface,
50a1d93064SArd Biesheuvel	  either builtin or as a module.
51a1d93064SArd Biesheuvel
5248ea8c6eSArd Biesheuvelconfig CRYPTO_LIB_POLY1305_GENERIC
5348ea8c6eSArd Biesheuvel	tristate
54a1d93064SArd Biesheuvel	help
55a1d93064SArd Biesheuvel	  This symbol can be depended upon by arch implementations of the
56a1d93064SArd Biesheuvel	  Poly1305 library interface that require the generic code as a
57a1d93064SArd Biesheuvel	  fallback, e.g., for SIMD implementations. If no arch specific
58a1d93064SArd Biesheuvel	  implementation is enabled, this implementation serves the users
59a1d93064SArd Biesheuvel	  of CRYPTO_LIB_POLY1305.
60a1d93064SArd Biesheuvel
61a1d93064SArd Biesheuvelconfig CRYPTO_LIB_POLY1305
62a1d93064SArd Biesheuvel	tristate "Poly1305 library interface"
63a1d93064SArd Biesheuvel	depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
64a1d93064SArd Biesheuvel	select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n
65a1d93064SArd Biesheuvel	help
66a1d93064SArd Biesheuvel	  Enable the Poly1305 library interface. This interface may be fulfilled
67a1d93064SArd Biesheuvel	  by either the generic implementation or an arch-specific one, if one
68a1d93064SArd Biesheuvel	  is available and enabled.
6948ea8c6eSArd Biesheuvel
70746b2e02SArd Biesheuvelconfig CRYPTO_LIB_SHA256
71746b2e02SArd Biesheuvel	tristate
72