Back to home page

OSCL-LXR

 
 

    


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