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 select XOR_BLOCKS 37 help 38 This symbol can be depended upon by arch implementations of the 39 ChaCha library interface that require the generic code as a 40 fallback, e.g., for SIMD implementations. If no arch specific 41 implementation is enabled, this implementation serves the users 42 of CRYPTO_LIB_CHACHA. 43 44config CRYPTO_LIB_CHACHA 45 tristate "ChaCha library interface" 46 depends on CRYPTO 47 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA 48 select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n 49 help 50 Enable the ChaCha library interface. This interface may be fulfilled 51 by either the generic implementation or an arch-specific one, if one 52 is available and enabled. 53 54config CRYPTO_ARCH_HAVE_LIB_CURVE25519 55 tristate 56 help 57 Declares whether the architecture provides an arch-specific 58 accelerated implementation of the Curve25519 library interface, 59 either builtin or as a module. 60 61config CRYPTO_LIB_CURVE25519_GENERIC 62 tristate 63 help 64 This symbol can be depended upon by arch implementations of the 65 Curve25519 library interface that require the generic code as a 66 fallback, e.g., for SIMD implementations. If no arch specific 67 implementation is enabled, this implementation serves the users 68 of CRYPTO_LIB_CURVE25519. 69 70config CRYPTO_LIB_CURVE25519 71 tristate "Curve25519 scalar multiplication library" 72 depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519 73 select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n 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_SM3 127 tristate 128 129config CRYPTO_LIB_SM4 130 tristate 131 132endmenu 133