1# SPDX-License-Identifier: GPL-2.0 2 3menu "Crypto library routines" 4 5config CRYPTO_LIB_AES 6 tristate 7 8config CRYPTO_LIB_ARC4 9 tristate 10 11config CRYPTO_ARCH_HAVE_LIB_BLAKE2S 12 bool 13 help 14 Declares whether the architecture provides an arch-specific 15 accelerated implementation of the Blake2s library interface, 16 either builtin or as a module. 17 18config CRYPTO_LIB_BLAKE2S_GENERIC 19 def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S 20 help 21 This symbol can be depended upon by arch implementations of the 22 Blake2s library interface that require the generic code as a 23 fallback, e.g., for SIMD implementations. If no arch specific 24 implementation is enabled, this implementation serves the users 25 of CRYPTO_LIB_BLAKE2S. 26 27config CRYPTO_ARCH_HAVE_LIB_CHACHA 28 tristate 29 help 30 Declares whether the architecture provides an arch-specific 31 accelerated implementation of the ChaCha library interface, 32 either builtin or as a module. 33 34config CRYPTO_LIB_CHACHA_GENERIC 35 tristate 36 help 37 This symbol can be depended upon by arch implementations of the 38 ChaCha library interface that require the generic code as a 39 fallback, e.g., for SIMD implementations. If no arch specific 40 implementation is enabled, this implementation serves the users 41 of CRYPTO_LIB_CHACHA. 42 43config CRYPTO_LIB_CHACHA 44 tristate "ChaCha library interface" 45 depends on CRYPTO 46 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 47 select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n 48 help 49 Enable the ChaCha library interface. This interface may be fulfilled 50 by either the generic implementation or an arch-specific one, if one 51 is available and enabled. 52 53config CRYPTO_ARCH_HAVE_LIB_CURVE25519 54 tristate 55 help 56 Declares whether the architecture provides an arch-specific 57 accelerated implementation of the Curve25519 library interface, 58 either builtin or as a module. 59 60config CRYPTO_LIB_CURVE25519_GENERIC 61 tristate 62 help 63 This symbol can be depended upon by arch implementations of the 64 Curve25519 library interface that require the generic code as a 65 fallback, e.g., for SIMD implementations. If no arch specific 66 implementation is enabled, this implementation serves the users 67 of CRYPTO_LIB_CURVE25519. 68 69config CRYPTO_LIB_CURVE25519 70 tristate "Curve25519 scalar multiplication library" 71 depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519 72 select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n 73 select LIB_MEMNEQ 74 help 75 Enable the Curve25519 library interface. This interface may be 76 fulfilled by either the generic implementation or an arch-specific 77 one, if one is available and enabled. 78 79config CRYPTO_LIB_DES 80 tristate 81 82config CRYPTO_LIB_POLY1305_RSIZE 83 int 84 default 2 if MIPS 85 default 11 if X86_64 86 default 9 if ARM || ARM64 87 default 1 88 89config CRYPTO_ARCH_HAVE_LIB_POLY1305 90 tristate 91 help 92 Declares whether the architecture provides an arch-specific 93 accelerated implementation of the Poly1305 library interface, 94 either builtin or as a module. 95 96config CRYPTO_LIB_POLY1305_GENERIC 97 tristate 98 help 99 This symbol can be depended upon by arch implementations of the 100 Poly1305 library interface that require the generic code as a 101 fallback, e.g., for SIMD implementations. If no arch specific 102 implementation is enabled, this implementation serves the users 103 of CRYPTO_LIB_POLY1305. 104 105config CRYPTO_LIB_POLY1305 106 tristate "Poly1305 library interface" 107 depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 108 select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n 109 help 110 Enable the Poly1305 library interface. This interface may be fulfilled 111 by either the generic implementation or an arch-specific one, if one 112 is available and enabled. 113 114config CRYPTO_LIB_CHACHA20POLY1305 115 tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)" 116 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 117 depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305 118 depends on CRYPTO 119 select CRYPTO_LIB_CHACHA 120 select CRYPTO_LIB_POLY1305 121 select CRYPTO_ALGAPI 122 123config CRYPTO_LIB_SHA256 124 tristate 125 126config CRYPTO_LIB_SM4 127 tristate 128 129endmenu 130