Merge tag 'for-5.11/dm-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/device...
[linux-2.6-microblaze.git] / lib / crypto / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2
3 comment "Crypto library routines"
4
5 config CRYPTO_LIB_AES
6         tristate
7
8 config CRYPTO_LIB_ARC4
9         tristate
10
11 config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
12         tristate
13         help
14           Declares whether the architecture provides an arch-specific
15           accelerated implementation of the Blake2s library interface,
16           either builtin or as a module.
17
18 config CRYPTO_LIB_BLAKE2S_GENERIC
19         tristate
20         help
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.
26
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
31         help
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.
35
36 config CRYPTO_ARCH_HAVE_LIB_CHACHA
37         tristate
38         help
39           Declares whether the architecture provides an arch-specific
40           accelerated implementation of the ChaCha library interface,
41           either builtin or as a module.
42
43 config CRYPTO_LIB_CHACHA_GENERIC
44         tristate
45         select CRYPTO_ALGAPI
46         help
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
51           of CRYPTO_LIB_CHACHA.
52
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
57         help
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.
61
62 config CRYPTO_ARCH_HAVE_LIB_CURVE25519
63         tristate
64         help
65           Declares whether the architecture provides an arch-specific
66           accelerated implementation of the Curve25519 library interface,
67           either builtin or as a module.
68
69 config CRYPTO_LIB_CURVE25519_GENERIC
70         tristate
71         help
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.
77
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
82         help
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.
86
87 config CRYPTO_LIB_DES
88         tristate
89
90 config CRYPTO_LIB_POLY1305_RSIZE
91         int
92         default 2 if MIPS
93         default 11 if X86_64
94         default 9 if ARM || ARM64
95         default 1
96
97 config CRYPTO_ARCH_HAVE_LIB_POLY1305
98         tristate
99         help
100           Declares whether the architecture provides an arch-specific
101           accelerated implementation of the Poly1305 library interface,
102           either builtin or as a module.
103
104 config CRYPTO_LIB_POLY1305_GENERIC
105         tristate
106         help
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.
112
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
117         help
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.
121
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
128
129 config CRYPTO_LIB_SHA256
130         tristate