]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - lib/crypto/Kconfig
crypto: sm4 - create SM4 library based on sm4 generic code
[mirror_ubuntu-jammy-kernel.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
131
132 config CRYPTO_LIB_SM4
133 tristate