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