xref: /openbmc/linux/lib/crypto/Kconfig (revision 34fa67e7)
1# SPDX-License-Identifier: GPL-2.0
2
3config CRYPTO_LIB_AES
4	tristate
5
6config CRYPTO_LIB_ARC4
7	tristate
8
9config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
10	bool
11	help
12	  Declares whether the architecture provides an arch-specific
13	  accelerated implementation of the Blake2s library interface,
14	  either builtin or as a module.
15
16config CRYPTO_LIB_BLAKE2S_GENERIC
17	def_bool !CRYPTO_ARCH_HAVE_LIB_BLAKE2S
18	help
19	  This symbol can be depended upon by arch implementations of the
20	  Blake2s library interface that require the generic code as a
21	  fallback, e.g., for SIMD implementations. If no arch specific
22	  implementation is enabled, this implementation serves the users
23	  of CRYPTO_LIB_BLAKE2S.
24
25config CRYPTO_ARCH_HAVE_LIB_CHACHA
26	tristate
27	help
28	  Declares whether the architecture provides an arch-specific
29	  accelerated implementation of the ChaCha library interface,
30	  either builtin or as a module.
31
32config CRYPTO_LIB_CHACHA_GENERIC
33	tristate
34	select CRYPTO_ALGAPI
35	help
36	  This symbol can be depended upon by arch implementations of the
37	  ChaCha library interface that require the generic code as a
38	  fallback, e.g., for SIMD implementations. If no arch specific
39	  implementation is enabled, this implementation serves the users
40	  of CRYPTO_LIB_CHACHA.
41
42config CRYPTO_LIB_CHACHA
43	tristate
44	depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
45	select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n
46	help
47	  Enable the ChaCha library interface. This interface may be fulfilled
48	  by either the generic implementation or an arch-specific one, if one
49	  is available and enabled.
50
51config CRYPTO_ARCH_HAVE_LIB_CURVE25519
52	tristate
53	help
54	  Declares whether the architecture provides an arch-specific
55	  accelerated implementation of the Curve25519 library interface,
56	  either builtin or as a module.
57
58config CRYPTO_LIB_CURVE25519_GENERIC
59	tristate
60	help
61	  This symbol can be depended upon by arch implementations of the
62	  Curve25519 library interface that require the generic code as a
63	  fallback, e.g., for SIMD implementations. If no arch specific
64	  implementation is enabled, this implementation serves the users
65	  of CRYPTO_LIB_CURVE25519.
66
67config CRYPTO_LIB_CURVE25519
68	tristate
69	depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519
70	select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n
71	help
72	  Enable the Curve25519 library interface. This interface may be
73	  fulfilled by either the generic implementation or an arch-specific
74	  one, if one is available and enabled.
75
76config CRYPTO_LIB_DES
77	tristate
78
79config CRYPTO_LIB_POLY1305_RSIZE
80	int
81	default 2 if MIPS
82	default 11 if X86_64
83	default 9 if ARM || ARM64
84	default 1
85
86config CRYPTO_ARCH_HAVE_LIB_POLY1305
87	tristate
88	help
89	  Declares whether the architecture provides an arch-specific
90	  accelerated implementation of the Poly1305 library interface,
91	  either builtin or as a module.
92
93config CRYPTO_LIB_POLY1305_GENERIC
94	tristate
95	help
96	  This symbol can be depended upon by arch implementations of the
97	  Poly1305 library interface that require the generic code as a
98	  fallback, e.g., for SIMD implementations. If no arch specific
99	  implementation is enabled, this implementation serves the users
100	  of CRYPTO_LIB_POLY1305.
101
102config CRYPTO_LIB_POLY1305
103	tristate
104	depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
105	select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n
106	help
107	  Enable the Poly1305 library interface. This interface may be fulfilled
108	  by either the generic implementation or an arch-specific one, if one
109	  is available and enabled.
110
111config CRYPTO_LIB_CHACHA20POLY1305
112	tristate
113	depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
114	depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
115	select CRYPTO_LIB_CHACHA
116	select CRYPTO_LIB_POLY1305
117
118config CRYPTO_LIB_SHA256
119	tristate
120
121config CRYPTO_LIB_SM4
122	tristate
123