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