18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_cimenu "Crypto library routines"
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_AES
68c2ecf20Sopenharmony_ci	tristate
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_ARC4
98c2ecf20Sopenharmony_ci	tristate
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciconfig CRYPTO_ARCH_HAVE_LIB_BLAKE2S
128c2ecf20Sopenharmony_ci	bool
138c2ecf20Sopenharmony_ci	help
148c2ecf20Sopenharmony_ci	  Declares whether the architecture provides an arch-specific
158c2ecf20Sopenharmony_ci	  accelerated implementation of the Blake2s library interface,
168c2ecf20Sopenharmony_ci	  either builtin or as a module.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_BLAKE2S_GENERIC
198c2ecf20Sopenharmony_ci	def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S
208c2ecf20Sopenharmony_ci	help
218c2ecf20Sopenharmony_ci	  This symbol can be depended upon by arch implementations of the
228c2ecf20Sopenharmony_ci	  Blake2s library interface that require the generic code as a
238c2ecf20Sopenharmony_ci	  fallback, e.g., for SIMD implementations. If no arch specific
248c2ecf20Sopenharmony_ci	  implementation is enabled, this implementation serves the users
258c2ecf20Sopenharmony_ci	  of CRYPTO_LIB_BLAKE2S.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ciconfig CRYPTO_ARCH_HAVE_LIB_CHACHA
288c2ecf20Sopenharmony_ci	tristate
298c2ecf20Sopenharmony_ci	help
308c2ecf20Sopenharmony_ci	  Declares whether the architecture provides an arch-specific
318c2ecf20Sopenharmony_ci	  accelerated implementation of the ChaCha library interface,
328c2ecf20Sopenharmony_ci	  either builtin or as a module.
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_CHACHA_GENERIC
358c2ecf20Sopenharmony_ci	tristate
368c2ecf20Sopenharmony_ci	help
378c2ecf20Sopenharmony_ci	  This symbol can be depended upon by arch implementations of the
388c2ecf20Sopenharmony_ci	  ChaCha library interface that require the generic code as a
398c2ecf20Sopenharmony_ci	  fallback, e.g., for SIMD implementations. If no arch specific
408c2ecf20Sopenharmony_ci	  implementation is enabled, this implementation serves the users
418c2ecf20Sopenharmony_ci	  of CRYPTO_LIB_CHACHA.
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_CHACHA
448c2ecf20Sopenharmony_ci	tristate "ChaCha library interface"
458c2ecf20Sopenharmony_ci	depends on CRYPTO
468c2ecf20Sopenharmony_ci	depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
478c2ecf20Sopenharmony_ci	select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n
488c2ecf20Sopenharmony_ci	help
498c2ecf20Sopenharmony_ci	  Enable the ChaCha library interface. This interface may be fulfilled
508c2ecf20Sopenharmony_ci	  by either the generic implementation or an arch-specific one, if one
518c2ecf20Sopenharmony_ci	  is available and enabled.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciconfig CRYPTO_ARCH_HAVE_LIB_CURVE25519
548c2ecf20Sopenharmony_ci	tristate
558c2ecf20Sopenharmony_ci	help
568c2ecf20Sopenharmony_ci	  Declares whether the architecture provides an arch-specific
578c2ecf20Sopenharmony_ci	  accelerated implementation of the Curve25519 library interface,
588c2ecf20Sopenharmony_ci	  either builtin or as a module.
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_CURVE25519_GENERIC
618c2ecf20Sopenharmony_ci	tristate
628c2ecf20Sopenharmony_ci	help
638c2ecf20Sopenharmony_ci	  This symbol can be depended upon by arch implementations of the
648c2ecf20Sopenharmony_ci	  Curve25519 library interface that require the generic code as a
658c2ecf20Sopenharmony_ci	  fallback, e.g., for SIMD implementations. If no arch specific
668c2ecf20Sopenharmony_ci	  implementation is enabled, this implementation serves the users
678c2ecf20Sopenharmony_ci	  of CRYPTO_LIB_CURVE25519.
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_CURVE25519
708c2ecf20Sopenharmony_ci	tristate "Curve25519 scalar multiplication library"
718c2ecf20Sopenharmony_ci	depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519
728c2ecf20Sopenharmony_ci	select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n
738c2ecf20Sopenharmony_ci	select LIB_MEMNEQ
748c2ecf20Sopenharmony_ci	help
758c2ecf20Sopenharmony_ci	  Enable the Curve25519 library interface. This interface may be
768c2ecf20Sopenharmony_ci	  fulfilled by either the generic implementation or an arch-specific
778c2ecf20Sopenharmony_ci	  one, if one is available and enabled.
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_DES
808c2ecf20Sopenharmony_ci	tristate
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_POLY1305_RSIZE
838c2ecf20Sopenharmony_ci	int
848c2ecf20Sopenharmony_ci	default 2 if MIPS
858c2ecf20Sopenharmony_ci	default 11 if X86_64
868c2ecf20Sopenharmony_ci	default 9 if ARM || ARM64
878c2ecf20Sopenharmony_ci	default 1
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ciconfig CRYPTO_ARCH_HAVE_LIB_POLY1305
908c2ecf20Sopenharmony_ci	tristate
918c2ecf20Sopenharmony_ci	help
928c2ecf20Sopenharmony_ci	  Declares whether the architecture provides an arch-specific
938c2ecf20Sopenharmony_ci	  accelerated implementation of the Poly1305 library interface,
948c2ecf20Sopenharmony_ci	  either builtin or as a module.
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_POLY1305_GENERIC
978c2ecf20Sopenharmony_ci	tristate
988c2ecf20Sopenharmony_ci	help
998c2ecf20Sopenharmony_ci	  This symbol can be depended upon by arch implementations of the
1008c2ecf20Sopenharmony_ci	  Poly1305 library interface that require the generic code as a
1018c2ecf20Sopenharmony_ci	  fallback, e.g., for SIMD implementations. If no arch specific
1028c2ecf20Sopenharmony_ci	  implementation is enabled, this implementation serves the users
1038c2ecf20Sopenharmony_ci	  of CRYPTO_LIB_POLY1305.
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_POLY1305
1068c2ecf20Sopenharmony_ci	tristate "Poly1305 library interface"
1078c2ecf20Sopenharmony_ci	depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
1088c2ecf20Sopenharmony_ci	select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n
1098c2ecf20Sopenharmony_ci	help
1108c2ecf20Sopenharmony_ci	  Enable the Poly1305 library interface. This interface may be fulfilled
1118c2ecf20Sopenharmony_ci	  by either the generic implementation or an arch-specific one, if one
1128c2ecf20Sopenharmony_ci	  is available and enabled.
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_CHACHA20POLY1305
1158c2ecf20Sopenharmony_ci	tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)"
1168c2ecf20Sopenharmony_ci	depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
1178c2ecf20Sopenharmony_ci	depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
1188c2ecf20Sopenharmony_ci	depends on CRYPTO
1198c2ecf20Sopenharmony_ci	select CRYPTO_LIB_CHACHA
1208c2ecf20Sopenharmony_ci	select CRYPTO_LIB_POLY1305
1218c2ecf20Sopenharmony_ci	select CRYPTO_ALGAPI
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ciconfig CRYPTO_LIB_SHA256
1248c2ecf20Sopenharmony_ci	tristate
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ciendmenu
127