]> Git Repo - linux.git/blob - lib/crypto/Kconfig
Linux 6.14-rc3
[linux.git] / lib / crypto / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2
3 menu "Crypto library routines"
4
5 config CRYPTO_LIB_UTILS
6         tristate
7
8 config CRYPTO_LIB_AES
9         tristate
10
11 config CRYPTO_LIB_AESCFB
12         tristate
13         select CRYPTO_LIB_AES
14         select CRYPTO_LIB_UTILS
15
16 config CRYPTO_LIB_AESGCM
17         tristate
18         select CRYPTO_LIB_AES
19         select CRYPTO_LIB_GF128MUL
20         select CRYPTO_LIB_UTILS
21
22 config CRYPTO_LIB_ARC4
23         tristate
24
25 config CRYPTO_LIB_GF128MUL
26         tristate
27
28 config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
29         bool
30         help
31           Declares whether the architecture provides an arch-specific
32           accelerated implementation of the Blake2s library interface,
33           either builtin or as a module.
34
35 config CRYPTO_LIB_BLAKE2S_GENERIC
36         def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S
37         help
38           This symbol can be depended upon by arch implementations of the
39           Blake2s 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_BLAKE2S.
43
44 config CRYPTO_ARCH_HAVE_LIB_CHACHA
45         tristate
46         help
47           Declares whether the architecture provides an arch-specific
48           accelerated implementation of the ChaCha library interface,
49           either builtin or as a module.
50
51 config CRYPTO_LIB_CHACHA_GENERIC
52         tristate
53         select CRYPTO_LIB_UTILS
54         help
55           This symbol can be depended upon by arch implementations of the
56           ChaCha library interface that require the generic code as a
57           fallback, e.g., for SIMD implementations. If no arch specific
58           implementation is enabled, this implementation serves the users
59           of CRYPTO_LIB_CHACHA.
60
61 config CRYPTO_LIB_CHACHA
62         tristate "ChaCha library interface"
63         depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
64         select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n
65         help
66           Enable the ChaCha library interface. This interface may be fulfilled
67           by either the generic implementation or an arch-specific one, if one
68           is available and enabled.
69
70 config CRYPTO_ARCH_HAVE_LIB_CURVE25519
71         tristate
72         help
73           Declares whether the architecture provides an arch-specific
74           accelerated implementation of the Curve25519 library interface,
75           either builtin or as a module.
76
77 config CRYPTO_LIB_CURVE25519_GENERIC
78         tristate
79         help
80           This symbol can be depended upon by arch implementations of the
81           Curve25519 library interface that require the generic code as a
82           fallback, e.g., for SIMD implementations. If no arch specific
83           implementation is enabled, this implementation serves the users
84           of CRYPTO_LIB_CURVE25519.
85
86 config CRYPTO_LIB_CURVE25519
87         tristate "Curve25519 scalar multiplication library"
88         depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519
89         select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n
90         select CRYPTO_LIB_UTILS
91         help
92           Enable the Curve25519 library interface. This interface may be
93           fulfilled by either the generic implementation or an arch-specific
94           one, if one is available and enabled.
95
96 config CRYPTO_LIB_DES
97         tristate
98
99 config CRYPTO_LIB_POLY1305_RSIZE
100         int
101         default 2 if MIPS
102         default 11 if X86_64
103         default 9 if ARM || ARM64
104         default 1
105
106 config CRYPTO_ARCH_HAVE_LIB_POLY1305
107         tristate
108         help
109           Declares whether the architecture provides an arch-specific
110           accelerated implementation of the Poly1305 library interface,
111           either builtin or as a module.
112
113 config CRYPTO_LIB_POLY1305_GENERIC
114         tristate
115         help
116           This symbol can be depended upon by arch implementations of the
117           Poly1305 library interface that require the generic code as a
118           fallback, e.g., for SIMD implementations. If no arch specific
119           implementation is enabled, this implementation serves the users
120           of CRYPTO_LIB_POLY1305.
121
122 config CRYPTO_LIB_POLY1305
123         tristate "Poly1305 library interface"
124         depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
125         select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n
126         help
127           Enable the Poly1305 library interface. This interface may be fulfilled
128           by either the generic implementation or an arch-specific one, if one
129           is available and enabled.
130
131 config CRYPTO_LIB_CHACHA20POLY1305
132         tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)"
133         depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
134         depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
135         depends on CRYPTO
136         select CRYPTO_LIB_CHACHA
137         select CRYPTO_LIB_POLY1305
138         select CRYPTO_ALGAPI
139
140 config CRYPTO_LIB_SHA1
141         tristate
142
143 config CRYPTO_LIB_SHA256
144         tristate
145
146 endmenu
This page took 0.056507 seconds and 4 git commands to generate.