1 # SPDX-License-Identifier: GPL-2.0
3 comment "Crypto library routines"
11 config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
14 Declares whether the architecture provides an arch-specific
15 accelerated implementation of the Blake2s library interface,
16 either builtin or as a module.
18 config CRYPTO_LIB_BLAKE2S_GENERIC
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.
27 config CRYPTO_LIB_BLAKE2S
28 tristate "BLAKE2s hash function library"
29 depends on CRYPTO_ARCH_HAVE_LIB_BLAKE2S || !CRYPTO_ARCH_HAVE_LIB_BLAKE2S
30 select CRYPTO_LIB_BLAKE2S_GENERIC if CRYPTO_ARCH_HAVE_LIB_BLAKE2S=n
32 Enable the Blake2s library interface. This interface may be fulfilled
33 by either the generic implementation or an arch-specific one, if one
34 is available and enabled.
36 config CRYPTO_ARCH_HAVE_LIB_CHACHA
39 Declares whether the architecture provides an arch-specific
40 accelerated implementation of the ChaCha library interface,
41 either builtin or as a module.
43 config CRYPTO_LIB_CHACHA_GENERIC
47 This symbol can be depended upon by arch implementations of the
48 ChaCha library interface that require the generic code as a
49 fallback, e.g., for SIMD implementations. If no arch specific
50 implementation is enabled, this implementation serves the users
53 config CRYPTO_LIB_CHACHA
54 tristate "ChaCha library interface"
55 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
56 select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n
58 Enable the ChaCha library interface. This interface may be fulfilled
59 by either the generic implementation or an arch-specific one, if one
60 is available and enabled.
62 config CRYPTO_ARCH_HAVE_LIB_CURVE25519
65 Declares whether the architecture provides an arch-specific
66 accelerated implementation of the Curve25519 library interface,
67 either builtin or as a module.
69 config CRYPTO_LIB_CURVE25519_GENERIC
72 This symbol can be depended upon by arch implementations of the
73 Curve25519 library interface that require the generic code as a
74 fallback, e.g., for SIMD implementations. If no arch specific
75 implementation is enabled, this implementation serves the users
76 of CRYPTO_LIB_CURVE25519.
78 config CRYPTO_LIB_CURVE25519
79 tristate "Curve25519 scalar multiplication library"
80 depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519
81 select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n
83 Enable the Curve25519 library interface. This interface may be
84 fulfilled by either the generic implementation or an arch-specific
85 one, if one is available and enabled.
90 config CRYPTO_LIB_POLY1305_RSIZE
94 default 9 if ARM || ARM64
97 config CRYPTO_ARCH_HAVE_LIB_POLY1305
100 Declares whether the architecture provides an arch-specific
101 accelerated implementation of the Poly1305 library interface,
102 either builtin or as a module.
104 config CRYPTO_LIB_POLY1305_GENERIC
107 This symbol can be depended upon by arch implementations of the
108 Poly1305 library interface that require the generic code as a
109 fallback, e.g., for SIMD implementations. If no arch specific
110 implementation is enabled, this implementation serves the users
111 of CRYPTO_LIB_POLY1305.
113 config CRYPTO_LIB_POLY1305
114 tristate "Poly1305 library interface"
115 depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
116 select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n
118 Enable the Poly1305 library interface. This interface may be fulfilled
119 by either the generic implementation or an arch-specific one, if one
120 is available and enabled.
122 config CRYPTO_LIB_CHACHA20POLY1305
123 tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)"
124 depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
125 depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
126 select CRYPTO_LIB_CHACHA
127 select CRYPTO_LIB_POLY1305
129 config CRYPTO_LIB_SHA256