147 lines · plain
1# SPDX-License-Identifier: GPL-2.02 3menu "Crypto library routines"4 5config CRYPTO_LIB_UTILS6 tristate7 8config CRYPTO_LIB_AES9 tristate10 11config CRYPTO_LIB_AESCFB12 tristate13 select CRYPTO_LIB_AES14 select CRYPTO_LIB_UTILS15 16config CRYPTO_LIB_AESGCM17 tristate18 select CRYPTO_LIB_AES19 select CRYPTO_LIB_GF128MUL20 select CRYPTO_LIB_UTILS21 22config CRYPTO_LIB_ARC423 tristate24 25config CRYPTO_LIB_GF128MUL26 tristate27 28config CRYPTO_ARCH_HAVE_LIB_BLAKE2S29 bool30 help31 Declares whether the architecture provides an arch-specific32 accelerated implementation of the Blake2s library interface,33 either builtin or as a module.34 35config CRYPTO_LIB_BLAKE2S_GENERIC36 def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S37 help38 This symbol can be depended upon by arch implementations of the39 Blake2s library interface that require the generic code as a40 fallback, e.g., for SIMD implementations. If no arch specific41 implementation is enabled, this implementation serves the users42 of CRYPTO_LIB_BLAKE2S.43 44config CRYPTO_ARCH_HAVE_LIB_CHACHA45 tristate46 help47 Declares whether the architecture provides an arch-specific48 accelerated implementation of the ChaCha library interface,49 either builtin or as a module.50 51config CRYPTO_LIB_CHACHA_GENERIC52 tristate53 select CRYPTO_LIB_UTILS54 help55 This symbol can be depended upon by arch implementations of the56 ChaCha library interface that require the generic code as a57 fallback, e.g., for SIMD implementations. If no arch specific58 implementation is enabled, this implementation serves the users59 of CRYPTO_LIB_CHACHA.60 61config CRYPTO_LIB_CHACHA62 tristate "ChaCha library interface"63 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA64 select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n65 help66 Enable the ChaCha library interface. This interface may be fulfilled67 by either the generic implementation or an arch-specific one, if one68 is available and enabled.69 70config CRYPTO_ARCH_HAVE_LIB_CURVE2551971 tristate72 help73 Declares whether the architecture provides an arch-specific74 accelerated implementation of the Curve25519 library interface,75 either builtin or as a module.76 77config CRYPTO_LIB_CURVE25519_GENERIC78 tristate79 help80 This symbol can be depended upon by arch implementations of the81 Curve25519 library interface that require the generic code as a82 fallback, e.g., for SIMD implementations. If no arch specific83 implementation is enabled, this implementation serves the users84 of CRYPTO_LIB_CURVE25519.85 86config CRYPTO_LIB_CURVE2551987 tristate "Curve25519 scalar multiplication library"88 depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE2551989 select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n90 select CRYPTO_LIB_UTILS91 help92 Enable the Curve25519 library interface. This interface may be93 fulfilled by either the generic implementation or an arch-specific94 one, if one is available and enabled.95 96config CRYPTO_LIB_DES97 tristate98 99config CRYPTO_LIB_POLY1305_RSIZE100 int101 default 2 if MIPS102 default 11 if X86_64103 default 9 if ARM || ARM64104 default 1105 106config CRYPTO_ARCH_HAVE_LIB_POLY1305107 tristate108 help109 Declares whether the architecture provides an arch-specific110 accelerated implementation of the Poly1305 library interface,111 either builtin or as a module.112 113config CRYPTO_LIB_POLY1305_GENERIC114 tristate115 help116 This symbol can be depended upon by arch implementations of the117 Poly1305 library interface that require the generic code as a118 fallback, e.g., for SIMD implementations. If no arch specific119 implementation is enabled, this implementation serves the users120 of CRYPTO_LIB_POLY1305.121 122config CRYPTO_LIB_POLY1305123 tristate "Poly1305 library interface"124 depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305125 select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n126 help127 Enable the Poly1305 library interface. This interface may be fulfilled128 by either the generic implementation or an arch-specific one, if one129 is available and enabled.130 131config CRYPTO_LIB_CHACHA20POLY1305132 tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)"133 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA134 depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305135 depends on CRYPTO136 select CRYPTO_LIB_CHACHA137 select CRYPTO_LIB_POLY1305138 select CRYPTO_ALGAPI139 140config CRYPTO_LIB_SHA1141 tristate142 143config CRYPTO_LIB_SHA256144 tristate145 146endmenu147