0001 # SPDX-License-Identifier: GPL-2.0
0002
0003 menu "Crypto library routines"
0004
0005 config CRYPTO_LIB_AES
0006 tristate
0007
0008 config CRYPTO_LIB_ARC4
0009 tristate
0010
0011 config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
0012 bool
0013 help
0014 Declares whether the architecture provides an arch-specific
0015 accelerated implementation of the Blake2s library interface,
0016 either builtin or as a module.
0017
0018 config CRYPTO_LIB_BLAKE2S_GENERIC
0019 def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S
0020 help
0021 This symbol can be depended upon by arch implementations of the
0022 Blake2s library interface that require the generic code as a
0023 fallback, e.g., for SIMD implementations. If no arch specific
0024 implementation is enabled, this implementation serves the users
0025 of CRYPTO_LIB_BLAKE2S.
0026
0027 config CRYPTO_ARCH_HAVE_LIB_CHACHA
0028 tristate
0029 help
0030 Declares whether the architecture provides an arch-specific
0031 accelerated implementation of the ChaCha library interface,
0032 either builtin or as a module.
0033
0034 config CRYPTO_LIB_CHACHA_GENERIC
0035 tristate
0036 help
0037 This symbol can be depended upon by arch implementations of the
0038 ChaCha library interface that require the generic code as a
0039 fallback, e.g., for SIMD implementations. If no arch specific
0040 implementation is enabled, this implementation serves the users
0041 of CRYPTO_LIB_CHACHA.
0042
0043 config CRYPTO_LIB_CHACHA
0044 tristate "ChaCha library interface"
0045 depends on CRYPTO
0046 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
0047 select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n
0048 help
0049 Enable the ChaCha library interface. This interface may be fulfilled
0050 by either the generic implementation or an arch-specific one, if one
0051 is available and enabled.
0052
0053 config CRYPTO_ARCH_HAVE_LIB_CURVE25519
0054 tristate
0055 help
0056 Declares whether the architecture provides an arch-specific
0057 accelerated implementation of the Curve25519 library interface,
0058 either builtin or as a module.
0059
0060 config CRYPTO_LIB_CURVE25519_GENERIC
0061 tristate
0062 help
0063 This symbol can be depended upon by arch implementations of the
0064 Curve25519 library interface that require the generic code as a
0065 fallback, e.g., for SIMD implementations. If no arch specific
0066 implementation is enabled, this implementation serves the users
0067 of CRYPTO_LIB_CURVE25519.
0068
0069 config CRYPTO_LIB_CURVE25519
0070 tristate "Curve25519 scalar multiplication library"
0071 depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519
0072 select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n
0073 select LIB_MEMNEQ
0074 help
0075 Enable the Curve25519 library interface. This interface may be
0076 fulfilled by either the generic implementation or an arch-specific
0077 one, if one is available and enabled.
0078
0079 config CRYPTO_LIB_DES
0080 tristate
0081
0082 config CRYPTO_LIB_POLY1305_RSIZE
0083 int
0084 default 2 if MIPS
0085 default 11 if X86_64
0086 default 9 if ARM || ARM64
0087 default 1
0088
0089 config CRYPTO_ARCH_HAVE_LIB_POLY1305
0090 tristate
0091 help
0092 Declares whether the architecture provides an arch-specific
0093 accelerated implementation of the Poly1305 library interface,
0094 either builtin or as a module.
0095
0096 config CRYPTO_LIB_POLY1305_GENERIC
0097 tristate
0098 help
0099 This symbol can be depended upon by arch implementations of the
0100 Poly1305 library interface that require the generic code as a
0101 fallback, e.g., for SIMD implementations. If no arch specific
0102 implementation is enabled, this implementation serves the users
0103 of CRYPTO_LIB_POLY1305.
0104
0105 config CRYPTO_LIB_POLY1305
0106 tristate "Poly1305 library interface"
0107 depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
0108 select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n
0109 help
0110 Enable the Poly1305 library interface. This interface may be fulfilled
0111 by either the generic implementation or an arch-specific one, if one
0112 is available and enabled.
0113
0114 config CRYPTO_LIB_CHACHA20POLY1305
0115 tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)"
0116 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
0117 depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
0118 depends on CRYPTO
0119 select CRYPTO_LIB_CHACHA
0120 select CRYPTO_LIB_POLY1305
0121 select CRYPTO_ALGAPI
0122
0123 config CRYPTO_LIB_SHA1
0124 tristate
0125
0126 config CRYPTO_LIB_SHA256
0127 tristate
0128
0129 endmenu