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