]>
Commit | Line | Data |
---|---|---|
861b8f87 MC |
1 | /* |
2 | * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. | |
3 | * | |
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use | |
5 | * this file except in compliance with the License. You can obtain a copy | |
6 | * in the file LICENSE in the source distribution or at | |
7 | * https://www.openssl.org/source/license.html | |
8 | */ | |
9 | ||
10 | /* Digests */ | |
d5e5e2ff SL |
11 | extern const OSSL_DISPATCH sha1_functions[]; |
12 | extern const OSSL_DISPATCH sha224_functions[]; | |
861b8f87 | 13 | extern const OSSL_DISPATCH sha256_functions[]; |
d5e5e2ff SL |
14 | extern const OSSL_DISPATCH sha384_functions[]; |
15 | extern const OSSL_DISPATCH sha512_functions[]; | |
16 | extern const OSSL_DISPATCH sha512_224_functions[]; | |
17 | extern const OSSL_DISPATCH sha512_256_functions[]; | |
18 | extern const OSSL_DISPATCH sha3_224_functions[]; | |
19 | extern const OSSL_DISPATCH sha3_256_functions[]; | |
20 | extern const OSSL_DISPATCH sha3_384_functions[]; | |
21 | extern const OSSL_DISPATCH sha3_512_functions[]; | |
22 | extern const OSSL_DISPATCH keccak_kmac_128_functions[]; | |
23 | extern const OSSL_DISPATCH keccak_kmac_256_functions[]; | |
24 | extern const OSSL_DISPATCH shake_128_functions[]; | |
25 | extern const OSSL_DISPATCH shake_256_functions[]; | |
26 | extern const OSSL_DISPATCH blake2s256_functions[]; | |
27 | extern const OSSL_DISPATCH blake2b512_functions[]; | |
28 | extern const OSSL_DISPATCH md5_functions[]; | |
29 | extern const OSSL_DISPATCH md5_sha1_functions[]; | |
30 | extern const OSSL_DISPATCH sm3_functions[]; | |
d5e5e2ff SL |
31 | extern const OSSL_DISPATCH md2_functions[]; |
32 | extern const OSSL_DISPATCH md4_functions[]; | |
33 | extern const OSSL_DISPATCH mdc2_functions[]; | |
34 | extern const OSSL_DISPATCH wp_functions[]; | |
35 | extern const OSSL_DISPATCH ripemd160_functions[]; | |
861b8f87 MC |
36 | |
37 | /* Ciphers */ | |
068489a2 | 38 | extern const OSSL_DISPATCH null_functions[]; |
861b8f87 | 39 | extern const OSSL_DISPATCH aes256ecb_functions[]; |
f4a129bb MC |
40 | extern const OSSL_DISPATCH aes192ecb_functions[]; |
41 | extern const OSSL_DISPATCH aes128ecb_functions[]; | |
718b133a MC |
42 | extern const OSSL_DISPATCH aes256cbc_functions[]; |
43 | extern const OSSL_DISPATCH aes192cbc_functions[]; | |
44 | extern const OSSL_DISPATCH aes128cbc_functions[]; | |
ed98df51 MC |
45 | extern const OSSL_DISPATCH aes256ofb_functions[]; |
46 | extern const OSSL_DISPATCH aes192ofb_functions[]; | |
47 | extern const OSSL_DISPATCH aes128ofb_functions[]; | |
75dd6d64 MC |
48 | extern const OSSL_DISPATCH aes256cfb_functions[]; |
49 | extern const OSSL_DISPATCH aes192cfb_functions[]; | |
50 | extern const OSSL_DISPATCH aes128cfb_functions[]; | |
51 | extern const OSSL_DISPATCH aes256cfb1_functions[]; | |
52 | extern const OSSL_DISPATCH aes192cfb1_functions[]; | |
53 | extern const OSSL_DISPATCH aes128cfb1_functions[]; | |
54 | extern const OSSL_DISPATCH aes256cfb8_functions[]; | |
55 | extern const OSSL_DISPATCH aes192cfb8_functions[]; | |
56 | extern const OSSL_DISPATCH aes128cfb8_functions[]; | |
819a7ae9 MC |
57 | extern const OSSL_DISPATCH aes256ctr_functions[]; |
58 | extern const OSSL_DISPATCH aes192ctr_functions[]; | |
59 | extern const OSSL_DISPATCH aes128ctr_functions[]; | |
3a9f26f3 SL |
60 | extern const OSSL_DISPATCH aes256xts_functions[]; |
61 | extern const OSSL_DISPATCH aes128xts_functions[]; | |
3837c202 SL |
62 | #ifndef OPENSSL_NO_OCB |
63 | extern const OSSL_DISPATCH aes256ocb_functions[]; | |
64 | extern const OSSL_DISPATCH aes192ocb_functions[]; | |
65 | extern const OSSL_DISPATCH aes128ocb_functions[]; | |
66 | #endif /* OPENSSL_NO_OCB */ | |
a672a02a SL |
67 | extern const OSSL_DISPATCH aes256gcm_functions[]; |
68 | extern const OSSL_DISPATCH aes192gcm_functions[]; | |
69 | extern const OSSL_DISPATCH aes128gcm_functions[]; | |
3bfe9005 SL |
70 | extern const OSSL_DISPATCH aes256ccm_functions[]; |
71 | extern const OSSL_DISPATCH aes192ccm_functions[]; | |
72 | extern const OSSL_DISPATCH aes128ccm_functions[]; | |
ca392b29 SL |
73 | extern const OSSL_DISPATCH aes256wrap_functions[]; |
74 | extern const OSSL_DISPATCH aes192wrap_functions[]; | |
75 | extern const OSSL_DISPATCH aes128wrap_functions[]; | |
76 | extern const OSSL_DISPATCH aes256wrappad_functions[]; | |
77 | extern const OSSL_DISPATCH aes192wrappad_functions[]; | |
78 | extern const OSSL_DISPATCH aes128wrappad_functions[]; | |
0d2bfe52 SL |
79 | extern const OSSL_DISPATCH aes256cbc_hmac_sha1_functions[]; |
80 | extern const OSSL_DISPATCH aes128cbc_hmac_sha1_functions[]; | |
81 | extern const OSSL_DISPATCH aes256cbc_hmac_sha256_functions[]; | |
82 | extern const OSSL_DISPATCH aes128cbc_hmac_sha256_functions[]; | |
ca392b29 | 83 | |
a672a02a SL |
84 | #ifndef OPENSSL_NO_ARIA |
85 | extern const OSSL_DISPATCH aria256gcm_functions[]; | |
86 | extern const OSSL_DISPATCH aria192gcm_functions[]; | |
87 | extern const OSSL_DISPATCH aria128gcm_functions[]; | |
3bfe9005 SL |
88 | extern const OSSL_DISPATCH aria256ccm_functions[]; |
89 | extern const OSSL_DISPATCH aria192ccm_functions[]; | |
90 | extern const OSSL_DISPATCH aria128ccm_functions[]; | |
e1178600 SL |
91 | extern const OSSL_DISPATCH aria256ecb_functions[]; |
92 | extern const OSSL_DISPATCH aria192ecb_functions[]; | |
93 | extern const OSSL_DISPATCH aria128ecb_functions[]; | |
94 | extern const OSSL_DISPATCH aria256cbc_functions[]; | |
95 | extern const OSSL_DISPATCH aria192cbc_functions[]; | |
96 | extern const OSSL_DISPATCH aria128cbc_functions[]; | |
97 | extern const OSSL_DISPATCH aria256ofb_functions[]; | |
98 | extern const OSSL_DISPATCH aria192ofb_functions[]; | |
99 | extern const OSSL_DISPATCH aria128ofb_functions[]; | |
100 | extern const OSSL_DISPATCH aria256cfb_functions[]; | |
101 | extern const OSSL_DISPATCH aria192cfb_functions[]; | |
102 | extern const OSSL_DISPATCH aria128cfb_functions[]; | |
103 | extern const OSSL_DISPATCH aria256cfb1_functions[]; | |
104 | extern const OSSL_DISPATCH aria192cfb1_functions[]; | |
105 | extern const OSSL_DISPATCH aria128cfb1_functions[]; | |
106 | extern const OSSL_DISPATCH aria256cfb8_functions[]; | |
107 | extern const OSSL_DISPATCH aria192cfb8_functions[]; | |
108 | extern const OSSL_DISPATCH aria128cfb8_functions[]; | |
109 | extern const OSSL_DISPATCH aria256ctr_functions[]; | |
110 | extern const OSSL_DISPATCH aria192ctr_functions[]; | |
111 | extern const OSSL_DISPATCH aria128ctr_functions[]; | |
a672a02a | 112 | #endif /* OPENSSL_NO_ARIA */ |
e1178600 SL |
113 | #ifndef OPENSSL_NO_CAMELLIA |
114 | extern const OSSL_DISPATCH camellia256ecb_functions[]; | |
115 | extern const OSSL_DISPATCH camellia192ecb_functions[]; | |
116 | extern const OSSL_DISPATCH camellia128ecb_functions[]; | |
117 | extern const OSSL_DISPATCH camellia256cbc_functions[]; | |
118 | extern const OSSL_DISPATCH camellia192cbc_functions[]; | |
119 | extern const OSSL_DISPATCH camellia128cbc_functions[]; | |
120 | extern const OSSL_DISPATCH camellia256ofb_functions[]; | |
121 | extern const OSSL_DISPATCH camellia192ofb_functions[]; | |
122 | extern const OSSL_DISPATCH camellia128ofb_functions[]; | |
123 | extern const OSSL_DISPATCH camellia256cfb_functions[]; | |
124 | extern const OSSL_DISPATCH camellia192cfb_functions[]; | |
125 | extern const OSSL_DISPATCH camellia128cfb_functions[]; | |
126 | extern const OSSL_DISPATCH camellia256cfb1_functions[]; | |
127 | extern const OSSL_DISPATCH camellia192cfb1_functions[]; | |
128 | extern const OSSL_DISPATCH camellia128cfb1_functions[]; | |
129 | extern const OSSL_DISPATCH camellia256cfb8_functions[]; | |
130 | extern const OSSL_DISPATCH camellia192cfb8_functions[]; | |
131 | extern const OSSL_DISPATCH camellia128cfb8_functions[]; | |
132 | extern const OSSL_DISPATCH camellia256ctr_functions[]; | |
133 | extern const OSSL_DISPATCH camellia192ctr_functions[]; | |
134 | extern const OSSL_DISPATCH camellia128ctr_functions[]; | |
135 | #endif /* OPENSSL_NO_CAMELLIA */ | |
55c7dc79 SL |
136 | #ifndef OPENSSL_NO_BF |
137 | extern const OSSL_DISPATCH blowfish128ecb_functions[]; | |
138 | extern const OSSL_DISPATCH blowfish128cbc_functions[]; | |
139 | extern const OSSL_DISPATCH blowfish64ofb64_functions[]; | |
140 | extern const OSSL_DISPATCH blowfish64cfb64_functions[]; | |
141 | #endif /* OPENSSL_NO_BF */ | |
f22431f2 SL |
142 | #ifndef OPENSSL_NO_IDEA |
143 | extern const OSSL_DISPATCH idea128ecb_functions[]; | |
144 | extern const OSSL_DISPATCH idea128cbc_functions[]; | |
145 | extern const OSSL_DISPATCH idea128ofb64_functions[]; | |
146 | extern const OSSL_DISPATCH idea128cfb64_functions[]; | |
147 | #endif /* OPENSSL_NO_IDEA */ | |
18b00427 SL |
148 | #ifndef OPENSSL_NO_CAST |
149 | extern const OSSL_DISPATCH cast5128ecb_functions[]; | |
150 | extern const OSSL_DISPATCH cast5128cbc_functions[]; | |
151 | extern const OSSL_DISPATCH cast564ofb64_functions[]; | |
152 | extern const OSSL_DISPATCH cast564cfb64_functions[]; | |
153 | #endif /* OPENSSL_NO_CAST */ | |
70adc646 SL |
154 | #ifndef OPENSSL_NO_SEED |
155 | extern const OSSL_DISPATCH seed128ecb_functions[]; | |
156 | extern const OSSL_DISPATCH seed128cbc_functions[]; | |
157 | extern const OSSL_DISPATCH seed128ofb128_functions[]; | |
158 | extern const OSSL_DISPATCH seed128cfb128_functions[]; | |
159 | #endif /* OPENSSL_NO_SEED */ | |
105dde25 SL |
160 | #ifndef OPENSSL_NO_SM4 |
161 | extern const OSSL_DISPATCH sm4128ecb_functions[]; | |
162 | extern const OSSL_DISPATCH sm4128cbc_functions[]; | |
163 | extern const OSSL_DISPATCH sm4128ctr_functions[]; | |
164 | extern const OSSL_DISPATCH sm4128ofb128_functions[]; | |
165 | extern const OSSL_DISPATCH sm4128cfb128_functions[]; | |
166 | #endif /* OPENSSL_NO_SM4 */ | |
6a41156c SL |
167 | #ifndef OPENSSL_NO_RC5 |
168 | extern const OSSL_DISPATCH rc5128ecb_functions[]; | |
169 | extern const OSSL_DISPATCH rc5128cbc_functions[]; | |
170 | extern const OSSL_DISPATCH rc5128ofb64_functions[]; | |
171 | extern const OSSL_DISPATCH rc5128cfb64_functions[]; | |
172 | #endif /* OPENSSL_NO_RC5 */ | |
f816aa47 SL |
173 | #ifndef OPENSSL_NO_RC2 |
174 | extern const OSSL_DISPATCH rc2128ecb_functions[]; | |
175 | extern const OSSL_DISPATCH rc2128cbc_functions[]; | |
176 | extern const OSSL_DISPATCH rc240cbc_functions[]; | |
177 | extern const OSSL_DISPATCH rc264cbc_functions[]; | |
178 | extern const OSSL_DISPATCH rc2128cfb128_functions[]; | |
179 | extern const OSSL_DISPATCH rc2128ofb128_functions[]; | |
180 | #endif /* OPENSSL_NO_RC2 */ | |
e3f3ee44 | 181 | #ifndef OPENSSL_NO_DES |
4a42e264 SL |
182 | extern const OSSL_DISPATCH tdes_ede3_ecb_functions[]; |
183 | extern const OSSL_DISPATCH tdes_ede3_cbc_functions[]; | |
e3f3ee44 | 184 | # ifndef FIPS_MODE |
4a42e264 SL |
185 | extern const OSSL_DISPATCH tdes_ede3_ofb_functions[]; |
186 | extern const OSSL_DISPATCH tdes_ede3_cfb_functions[]; | |
187 | extern const OSSL_DISPATCH tdes_ede3_cfb8_functions[]; | |
188 | extern const OSSL_DISPATCH tdes_ede3_cfb1_functions[]; | |
189 | ||
190 | extern const OSSL_DISPATCH tdes_ede2_ecb_functions[]; | |
191 | extern const OSSL_DISPATCH tdes_ede2_cbc_functions[]; | |
192 | extern const OSSL_DISPATCH tdes_ede2_ofb_functions[]; | |
193 | extern const OSSL_DISPATCH tdes_ede2_cfb_functions[]; | |
194 | ||
195 | extern const OSSL_DISPATCH tdes_desx_cbc_functions[]; | |
196 | extern const OSSL_DISPATCH tdes_wrap_cbc_functions[]; | |
e3f3ee44 SL |
197 | |
198 | extern const OSSL_DISPATCH des_ecb_functions[]; | |
199 | extern const OSSL_DISPATCH des_cbc_functions[]; | |
200 | extern const OSSL_DISPATCH des_ofb64_functions[]; | |
201 | extern const OSSL_DISPATCH des_cfb64_functions[]; | |
202 | extern const OSSL_DISPATCH des_cfb1_functions[]; | |
203 | extern const OSSL_DISPATCH des_cfb8_functions[]; | |
204 | # endif /* FIPS_MODE */ | |
205 | #endif /* OPENSSL_NO_DES */ | |
4a42e264 | 206 | |
bafde183 SL |
207 | #ifndef OPENSSL_NO_RC4 |
208 | extern const OSSL_DISPATCH rc440_functions[]; | |
209 | extern const OSSL_DISPATCH rc4128_functions[]; | |
8fece335 SL |
210 | # ifndef OPENSSL_NO_MD5 |
211 | extern const OSSL_DISPATCH rc4_hmac_md5_functions[]; | |
212 | # endif /* OPENSSL_NO_MD5 */ | |
bafde183 | 213 | #endif /* OPENSSL_NO_RC4 */ |
3d5a7578 SL |
214 | #ifndef OPENSSL_NO_CHACHA |
215 | extern const OSSL_DISPATCH chacha20_functions[]; | |
216 | # ifndef OPENSSL_NO_POLY1305 | |
217 | extern const OSSL_DISPATCH chacha20_poly1305_functions[]; | |
218 | # endif /* OPENSSL_NO_POLY1305 */ | |
219 | #endif /* OPENSSL_NO_CHACHA */ | |
220 | ||
bafde183 | 221 | |
eb173822 SL |
222 | #ifndef OPENSSL_NO_SIV |
223 | extern const OSSL_DISPATCH aes128siv_functions[]; | |
224 | extern const OSSL_DISPATCH aes192siv_functions[]; | |
225 | extern const OSSL_DISPATCH aes256siv_functions[]; | |
226 | #endif /* OPENSSL_NO_SIV */ | |
227 | ||
e3405a4a P |
228 | /* MACs */ |
229 | extern const OSSL_DISPATCH blake2bmac_functions[]; | |
230 | extern const OSSL_DISPATCH blake2smac_functions[]; | |
231 | extern const OSSL_DISPATCH cmac_functions[]; | |
232 | extern const OSSL_DISPATCH gmac_functions[]; | |
233 | extern const OSSL_DISPATCH hmac_functions[]; | |
234 | extern const OSSL_DISPATCH kmac128_functions[]; | |
235 | extern const OSSL_DISPATCH kmac256_functions[]; | |
236 | extern const OSSL_DISPATCH siphash_functions[]; | |
237 | extern const OSSL_DISPATCH poly1305_functions[]; | |
238 | ||
239 | /* KDFs / PRFs */ | |
240 | extern const OSSL_DISPATCH kdf_pbkdf2_functions[]; | |
241 | #ifndef OPENSSL_NO_SCRYPT | |
242 | extern const OSSL_DISPATCH kdf_scrypt_functions[]; | |
243 | #endif | |
244 | extern const OSSL_DISPATCH kdf_tls1_prf_functions[]; | |
245 | extern const OSSL_DISPATCH kdf_hkdf_functions[]; | |
246 | extern const OSSL_DISPATCH kdf_sshkdf_functions[]; | |
247 | extern const OSSL_DISPATCH kdf_sskdf_functions[]; | |
248 | extern const OSSL_DISPATCH kdf_x963_kdf_functions[]; | |
a39bc440 | 249 | extern const OSSL_DISPATCH kdf_kbkdf_functions[]; |
e3405a4a P |
250 | #ifndef OPENSSL_NO_CMS |
251 | extern const OSSL_DISPATCH kdf_x942_kdf_functions[]; | |
252 | #endif | |
33f54da3 | 253 | extern const OSSL_DISPATCH kdf_krb5kdf_functions[]; |
e3405a4a P |
254 | |
255 | ||
8b84b075 RL |
256 | /* Key management */ |
257 | extern const OSSL_DISPATCH dh_keymgmt_functions[]; | |
4889dadc | 258 | extern const OSSL_DISPATCH dsa_keymgmt_functions[]; |
29be6023 | 259 | extern const OSSL_DISPATCH rsa_keymgmt_functions[]; |
90d3cb57 MC |
260 | extern const OSSL_DISPATCH x25519_keymgmt_functions[]; |
261 | extern const OSSL_DISPATCH x448_keymgmt_functions[]; | |
8b84b075 | 262 | |
89e29174 | 263 | /* Key Exchange */ |
8b84b075 | 264 | extern const OSSL_DISPATCH dh_keyexch_functions[]; |
4889dadc MC |
265 | |
266 | /* Signature */ | |
267 | extern const OSSL_DISPATCH dsa_signature_functions[]; | |
89abd1b6 MC |
268 | |
269 | /* Asym Cipher */ | |
270 | extern const OSSL_DISPATCH rsa_asym_cipher_functions[]; | |
677add38 RL |
271 | |
272 | /* Serializers */ | |
273 | extern const OSSL_DISPATCH rsa_priv_text_serializer_functions[]; | |
274 | extern const OSSL_DISPATCH rsa_pub_text_serializer_functions[]; | |
275 | extern const OSSL_DISPATCH rsa_priv_der_serializer_functions[]; | |
276 | extern const OSSL_DISPATCH rsa_pub_der_serializer_functions[]; | |
277 | extern const OSSL_DISPATCH rsa_priv_pem_serializer_functions[]; | |
278 | extern const OSSL_DISPATCH rsa_pub_pem_serializer_functions[]; | |
045e51cb RL |
279 | extern const OSSL_DISPATCH dh_priv_text_serializer_functions[]; |
280 | extern const OSSL_DISPATCH dh_pub_text_serializer_functions[]; | |
281 | extern const OSSL_DISPATCH dh_param_text_serializer_functions[]; | |
282 | extern const OSSL_DISPATCH dh_priv_der_serializer_functions[]; | |
283 | extern const OSSL_DISPATCH dh_pub_der_serializer_functions[]; | |
284 | extern const OSSL_DISPATCH dh_param_der_serializer_functions[]; | |
285 | extern const OSSL_DISPATCH dh_priv_pem_serializer_functions[]; | |
286 | extern const OSSL_DISPATCH dh_pub_pem_serializer_functions[]; | |
287 | extern const OSSL_DISPATCH dh_param_pem_serializer_functions[]; | |
264b789b RL |
288 | extern const OSSL_DISPATCH dsa_priv_text_serializer_functions[]; |
289 | extern const OSSL_DISPATCH dsa_pub_text_serializer_functions[]; | |
290 | extern const OSSL_DISPATCH dsa_param_text_serializer_functions[]; | |
291 | extern const OSSL_DISPATCH dsa_priv_der_serializer_functions[]; | |
292 | extern const OSSL_DISPATCH dsa_pub_der_serializer_functions[]; | |
293 | extern const OSSL_DISPATCH dsa_param_der_serializer_functions[]; | |
294 | extern const OSSL_DISPATCH dsa_priv_pem_serializer_functions[]; | |
295 | extern const OSSL_DISPATCH dsa_pub_pem_serializer_functions[]; | |
296 | extern const OSSL_DISPATCH dsa_param_pem_serializer_functions[]; |