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