Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / lib / crypto / Kconfig
blobb01253cac70a74998e8c90ae7e203d12a2649170
1 # SPDX-License-Identifier: GPL-2.0
3 menu "Crypto library routines"
5 config CRYPTO_LIB_UTILS
6         tristate
8 config CRYPTO_LIB_AES
9         tristate
11 config CRYPTO_LIB_AESCFB
12         tristate
13         select CRYPTO_LIB_AES
14         select CRYPTO_LIB_UTILS
16 config CRYPTO_LIB_AESGCM
17         tristate
18         select CRYPTO_LIB_AES
19         select CRYPTO_LIB_GF128MUL
20         select CRYPTO_LIB_UTILS
22 config CRYPTO_LIB_ARC4
23         tristate
25 config CRYPTO_LIB_GF128MUL
26         tristate
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.
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.
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.
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.
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.
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.
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.
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.
96 config CRYPTO_LIB_DES
97         tristate
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
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.
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.
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.
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
140 config CRYPTO_LIB_SHA1
141         tristate
143 config CRYPTO_LIB_SHA256
144         tristate
146 endmenu