xref: /netbsd-src/crypto/external/bsd/openssl/dist/providers/implementations/include/prov/implementations.h (revision b0d1725196a7921d003d2c66a14f186abda4176b)
1*b0d17251Schristos /*
2*b0d17251Schristos  * Copyright 2019-2022 The OpenSSL Project Authors. All Rights Reserved.
3*b0d17251Schristos  *
4*b0d17251Schristos  * Licensed under the Apache License 2.0 (the "License").  You may not use
5*b0d17251Schristos  * this file except in compliance with the License.  You can obtain a copy
6*b0d17251Schristos  * in the file LICENSE in the source distribution or at
7*b0d17251Schristos  * https://www.openssl.org/source/license.html
8*b0d17251Schristos  */
9*b0d17251Schristos 
10*b0d17251Schristos #include <openssl/core.h>
11*b0d17251Schristos #include <openssl/types.h>
12*b0d17251Schristos 
13*b0d17251Schristos /* Digests */
14*b0d17251Schristos extern const OSSL_DISPATCH ossl_sha1_functions[];
15*b0d17251Schristos extern const OSSL_DISPATCH ossl_sha224_functions[];
16*b0d17251Schristos extern const OSSL_DISPATCH ossl_sha256_functions[];
17*b0d17251Schristos extern const OSSL_DISPATCH ossl_sha384_functions[];
18*b0d17251Schristos extern const OSSL_DISPATCH ossl_sha512_functions[];
19*b0d17251Schristos extern const OSSL_DISPATCH ossl_sha512_224_functions[];
20*b0d17251Schristos extern const OSSL_DISPATCH ossl_sha512_256_functions[];
21*b0d17251Schristos extern const OSSL_DISPATCH ossl_sha3_224_functions[];
22*b0d17251Schristos extern const OSSL_DISPATCH ossl_sha3_256_functions[];
23*b0d17251Schristos extern const OSSL_DISPATCH ossl_sha3_384_functions[];
24*b0d17251Schristos extern const OSSL_DISPATCH ossl_sha3_512_functions[];
25*b0d17251Schristos extern const OSSL_DISPATCH ossl_keccak_kmac_128_functions[];
26*b0d17251Schristos extern const OSSL_DISPATCH ossl_keccak_kmac_256_functions[];
27*b0d17251Schristos extern const OSSL_DISPATCH ossl_shake_128_functions[];
28*b0d17251Schristos extern const OSSL_DISPATCH ossl_shake_256_functions[];
29*b0d17251Schristos extern const OSSL_DISPATCH ossl_blake2s256_functions[];
30*b0d17251Schristos extern const OSSL_DISPATCH ossl_blake2b512_functions[];
31*b0d17251Schristos extern const OSSL_DISPATCH ossl_md5_functions[];
32*b0d17251Schristos extern const OSSL_DISPATCH ossl_md5_sha1_functions[];
33*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm3_functions[];
34*b0d17251Schristos extern const OSSL_DISPATCH ossl_md2_functions[];
35*b0d17251Schristos extern const OSSL_DISPATCH ossl_md4_functions[];
36*b0d17251Schristos extern const OSSL_DISPATCH ossl_mdc2_functions[];
37*b0d17251Schristos extern const OSSL_DISPATCH ossl_wp_functions[];
38*b0d17251Schristos extern const OSSL_DISPATCH ossl_ripemd160_functions[];
39*b0d17251Schristos extern const OSSL_DISPATCH ossl_nullmd_functions[];
40*b0d17251Schristos 
41*b0d17251Schristos /* Ciphers */
42*b0d17251Schristos extern const OSSL_DISPATCH ossl_null_functions[];
43*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256ecb_functions[];
44*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192ecb_functions[];
45*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128ecb_functions[];
46*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256cbc_functions[];
47*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192cbc_functions[];
48*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128cbc_functions[];
49*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256cbc_cts_functions[];
50*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192cbc_cts_functions[];
51*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128cbc_cts_functions[];
52*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256ofb_functions[];
53*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192ofb_functions[];
54*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128ofb_functions[];
55*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256cfb_functions[];
56*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192cfb_functions[];
57*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128cfb_functions[];
58*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256cfb1_functions[];
59*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192cfb1_functions[];
60*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128cfb1_functions[];
61*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256cfb8_functions[];
62*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192cfb8_functions[];
63*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128cfb8_functions[];
64*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256ctr_functions[];
65*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192ctr_functions[];
66*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128ctr_functions[];
67*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256xts_functions[];
68*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128xts_functions[];
69*b0d17251Schristos #ifndef OPENSSL_NO_OCB
70*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256ocb_functions[];
71*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192ocb_functions[];
72*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128ocb_functions[];
73*b0d17251Schristos #endif /* OPENSSL_NO_OCB */
74*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256gcm_functions[];
75*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192gcm_functions[];
76*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128gcm_functions[];
77*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256ccm_functions[];
78*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192ccm_functions[];
79*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128ccm_functions[];
80*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256wrap_functions[];
81*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192wrap_functions[];
82*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128wrap_functions[];
83*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256wrappad_functions[];
84*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192wrappad_functions[];
85*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128wrappad_functions[];
86*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256wrapinv_functions[];
87*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192wrapinv_functions[];
88*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128wrapinv_functions[];
89*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256wrappadinv_functions[];
90*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192wrappadinv_functions[];
91*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128wrappadinv_functions[];
92*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256cbc_hmac_sha1_functions[];
93*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128cbc_hmac_sha1_functions[];
94*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256cbc_hmac_sha256_functions[];
95*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128cbc_hmac_sha256_functions[];
96*b0d17251Schristos 
97*b0d17251Schristos #ifndef OPENSSL_NO_ARIA
98*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria256gcm_functions[];
99*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria192gcm_functions[];
100*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria128gcm_functions[];
101*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria256ccm_functions[];
102*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria192ccm_functions[];
103*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria128ccm_functions[];
104*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria256ecb_functions[];
105*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria192ecb_functions[];
106*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria128ecb_functions[];
107*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria256cbc_functions[];
108*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria192cbc_functions[];
109*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria128cbc_functions[];
110*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria256ofb_functions[];
111*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria192ofb_functions[];
112*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria128ofb_functions[];
113*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria256cfb_functions[];
114*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria192cfb_functions[];
115*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria128cfb_functions[];
116*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria256cfb1_functions[];
117*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria192cfb1_functions[];
118*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria128cfb1_functions[];
119*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria256cfb8_functions[];
120*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria192cfb8_functions[];
121*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria128cfb8_functions[];
122*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria256ctr_functions[];
123*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria192ctr_functions[];
124*b0d17251Schristos extern const OSSL_DISPATCH ossl_aria128ctr_functions[];
125*b0d17251Schristos #endif /* OPENSSL_NO_ARIA */
126*b0d17251Schristos #ifndef OPENSSL_NO_CAMELLIA
127*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia256ecb_functions[];
128*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia192ecb_functions[];
129*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia128ecb_functions[];
130*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia256cbc_functions[];
131*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia192cbc_functions[];
132*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia128cbc_functions[];
133*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia256cbc_cts_functions[];
134*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia192cbc_cts_functions[];
135*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia128cbc_cts_functions[];
136*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia256ofb_functions[];
137*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia192ofb_functions[];
138*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia128ofb_functions[];
139*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia256cfb_functions[];
140*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia192cfb_functions[];
141*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia128cfb_functions[];
142*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia256cfb1_functions[];
143*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia192cfb1_functions[];
144*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia128cfb1_functions[];
145*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia256cfb8_functions[];
146*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia192cfb8_functions[];
147*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia128cfb8_functions[];
148*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia256ctr_functions[];
149*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia192ctr_functions[];
150*b0d17251Schristos extern const OSSL_DISPATCH ossl_camellia128ctr_functions[];
151*b0d17251Schristos #endif /* OPENSSL_NO_CAMELLIA */
152*b0d17251Schristos #ifndef OPENSSL_NO_BF
153*b0d17251Schristos extern const OSSL_DISPATCH ossl_blowfish128ecb_functions[];
154*b0d17251Schristos extern const OSSL_DISPATCH ossl_blowfish128cbc_functions[];
155*b0d17251Schristos extern const OSSL_DISPATCH ossl_blowfish128ofb64_functions[];
156*b0d17251Schristos extern const OSSL_DISPATCH ossl_blowfish128cfb64_functions[];
157*b0d17251Schristos #endif /* OPENSSL_NO_BF */
158*b0d17251Schristos #ifndef OPENSSL_NO_IDEA
159*b0d17251Schristos extern const OSSL_DISPATCH ossl_idea128ecb_functions[];
160*b0d17251Schristos extern const OSSL_DISPATCH ossl_idea128cbc_functions[];
161*b0d17251Schristos extern const OSSL_DISPATCH ossl_idea128ofb64_functions[];
162*b0d17251Schristos extern const OSSL_DISPATCH ossl_idea128cfb64_functions[];
163*b0d17251Schristos #endif /* OPENSSL_NO_IDEA */
164*b0d17251Schristos #ifndef OPENSSL_NO_CAST
165*b0d17251Schristos extern const OSSL_DISPATCH ossl_cast5128ecb_functions[];
166*b0d17251Schristos extern const OSSL_DISPATCH ossl_cast5128cbc_functions[];
167*b0d17251Schristos extern const OSSL_DISPATCH ossl_cast5128ofb64_functions[];
168*b0d17251Schristos extern const OSSL_DISPATCH ossl_cast5128cfb64_functions[];
169*b0d17251Schristos #endif /* OPENSSL_NO_CAST */
170*b0d17251Schristos #ifndef OPENSSL_NO_SEED
171*b0d17251Schristos extern const OSSL_DISPATCH ossl_seed128ecb_functions[];
172*b0d17251Schristos extern const OSSL_DISPATCH ossl_seed128cbc_functions[];
173*b0d17251Schristos extern const OSSL_DISPATCH ossl_seed128ofb128_functions[];
174*b0d17251Schristos extern const OSSL_DISPATCH ossl_seed128cfb128_functions[];
175*b0d17251Schristos #endif /* OPENSSL_NO_SEED */
176*b0d17251Schristos #ifndef OPENSSL_NO_SM4
177*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm4128ecb_functions[];
178*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm4128cbc_functions[];
179*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm4128ctr_functions[];
180*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm4128ofb128_functions[];
181*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm4128cfb128_functions[];
182*b0d17251Schristos #endif /* OPENSSL_NO_SM4 */
183*b0d17251Schristos #ifndef OPENSSL_NO_RC5
184*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc5128ecb_functions[];
185*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc5128cbc_functions[];
186*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc5128ofb64_functions[];
187*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc5128cfb64_functions[];
188*b0d17251Schristos #endif /* OPENSSL_NO_RC5 */
189*b0d17251Schristos #ifndef OPENSSL_NO_RC2
190*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc2128ecb_functions[];
191*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc2128cbc_functions[];
192*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc240cbc_functions[];
193*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc264cbc_functions[];
194*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc2128cfb128_functions[];
195*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc2128ofb128_functions[];
196*b0d17251Schristos #endif /* OPENSSL_NO_RC2 */
197*b0d17251Schristos #ifndef OPENSSL_NO_DES
198*b0d17251Schristos extern const OSSL_DISPATCH ossl_tdes_ede3_ecb_functions[];
199*b0d17251Schristos extern const OSSL_DISPATCH ossl_tdes_ede3_cbc_functions[];
200*b0d17251Schristos # ifndef FIPS_MODULE
201*b0d17251Schristos extern const OSSL_DISPATCH ossl_tdes_ede3_ofb_functions[];
202*b0d17251Schristos extern const OSSL_DISPATCH ossl_tdes_ede3_cfb_functions[];
203*b0d17251Schristos extern const OSSL_DISPATCH ossl_tdes_ede3_cfb8_functions[];
204*b0d17251Schristos extern const OSSL_DISPATCH ossl_tdes_ede3_cfb1_functions[];
205*b0d17251Schristos 
206*b0d17251Schristos extern const OSSL_DISPATCH ossl_tdes_ede2_ecb_functions[];
207*b0d17251Schristos extern const OSSL_DISPATCH ossl_tdes_ede2_cbc_functions[];
208*b0d17251Schristos extern const OSSL_DISPATCH ossl_tdes_ede2_ofb_functions[];
209*b0d17251Schristos extern const OSSL_DISPATCH ossl_tdes_ede2_cfb_functions[];
210*b0d17251Schristos 
211*b0d17251Schristos extern const OSSL_DISPATCH ossl_tdes_desx_cbc_functions[];
212*b0d17251Schristos extern const OSSL_DISPATCH ossl_tdes_wrap_cbc_functions[];
213*b0d17251Schristos 
214*b0d17251Schristos extern const OSSL_DISPATCH ossl_des_ecb_functions[];
215*b0d17251Schristos extern const OSSL_DISPATCH ossl_des_cbc_functions[];
216*b0d17251Schristos extern const OSSL_DISPATCH ossl_des_ofb64_functions[];
217*b0d17251Schristos extern const OSSL_DISPATCH ossl_des_cfb64_functions[];
218*b0d17251Schristos extern const OSSL_DISPATCH ossl_des_cfb1_functions[];
219*b0d17251Schristos extern const OSSL_DISPATCH ossl_des_cfb8_functions[];
220*b0d17251Schristos # endif /* FIPS_MODULE */
221*b0d17251Schristos #endif /* OPENSSL_NO_DES */
222*b0d17251Schristos 
223*b0d17251Schristos #ifndef OPENSSL_NO_RC4
224*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc440_functions[];
225*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc4128_functions[];
226*b0d17251Schristos # ifndef OPENSSL_NO_MD5
227*b0d17251Schristos extern const OSSL_DISPATCH ossl_rc4_hmac_ossl_md5_functions[];
228*b0d17251Schristos # endif /* OPENSSL_NO_MD5 */
229*b0d17251Schristos #endif /* OPENSSL_NO_RC4 */
230*b0d17251Schristos #ifndef OPENSSL_NO_CHACHA
231*b0d17251Schristos extern const OSSL_DISPATCH ossl_chacha20_functions[];
232*b0d17251Schristos # ifndef OPENSSL_NO_POLY1305
233*b0d17251Schristos extern const OSSL_DISPATCH ossl_chacha20_ossl_poly1305_functions[];
234*b0d17251Schristos # endif /* OPENSSL_NO_POLY1305 */
235*b0d17251Schristos #endif /* OPENSSL_NO_CHACHA */
236*b0d17251Schristos 
237*b0d17251Schristos 
238*b0d17251Schristos #ifndef OPENSSL_NO_SIV
239*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes128siv_functions[];
240*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes192siv_functions[];
241*b0d17251Schristos extern const OSSL_DISPATCH ossl_aes256siv_functions[];
242*b0d17251Schristos #endif /* OPENSSL_NO_SIV */
243*b0d17251Schristos 
244*b0d17251Schristos /* MACs */
245*b0d17251Schristos extern const OSSL_DISPATCH ossl_blake2bmac_functions[];
246*b0d17251Schristos extern const OSSL_DISPATCH ossl_blake2smac_functions[];
247*b0d17251Schristos extern const OSSL_DISPATCH ossl_cmac_functions[];
248*b0d17251Schristos extern const OSSL_DISPATCH ossl_gmac_functions[];
249*b0d17251Schristos extern const OSSL_DISPATCH ossl_hmac_functions[];
250*b0d17251Schristos extern const OSSL_DISPATCH ossl_kmac128_functions[];
251*b0d17251Schristos extern const OSSL_DISPATCH ossl_kmac256_functions[];
252*b0d17251Schristos extern const OSSL_DISPATCH ossl_siphash_functions[];
253*b0d17251Schristos extern const OSSL_DISPATCH ossl_poly1305_functions[];
254*b0d17251Schristos 
255*b0d17251Schristos /* KDFs / PRFs */
256*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_pbkdf1_functions[];
257*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_pbkdf2_functions[];
258*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_pkcs12_functions[];
259*b0d17251Schristos #ifndef OPENSSL_NO_SCRYPT
260*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_scrypt_functions[];
261*b0d17251Schristos #endif
262*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_tls1_prf_functions[];
263*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_hkdf_functions[];
264*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_tls1_3_kdf_functions[];
265*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_sshkdf_functions[];
266*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_sskdf_functions[];
267*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_x963_kdf_functions[];
268*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_kbkdf_functions[];
269*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_x942_kdf_functions[];
270*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_krb5kdf_functions[];
271*b0d17251Schristos 
272*b0d17251Schristos /* RNGs */
273*b0d17251Schristos extern const OSSL_DISPATCH ossl_test_rng_functions[];
274*b0d17251Schristos extern const OSSL_DISPATCH ossl_seed_src_functions[];
275*b0d17251Schristos extern const OSSL_DISPATCH ossl_drbg_hash_functions[];
276*b0d17251Schristos extern const OSSL_DISPATCH ossl_drbg_ossl_hmac_functions[];
277*b0d17251Schristos extern const OSSL_DISPATCH ossl_drbg_ctr_functions[];
278*b0d17251Schristos extern const OSSL_DISPATCH crngt_functions[];
279*b0d17251Schristos 
280*b0d17251Schristos /* Key management */
281*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_keymgmt_functions[];
282*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_keymgmt_functions[];
283*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_keymgmt_functions[];
284*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_keymgmt_functions[];
285*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsapss_keymgmt_functions[];
286*b0d17251Schristos extern const OSSL_DISPATCH ossl_x25519_keymgmt_functions[];
287*b0d17251Schristos extern const OSSL_DISPATCH ossl_x448_keymgmt_functions[];
288*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed25519_keymgmt_functions[];
289*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed448_keymgmt_functions[];
290*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_keymgmt_functions[];
291*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_keymgmt_functions[];
292*b0d17251Schristos extern const OSSL_DISPATCH ossl_mac_legacy_keymgmt_functions[];
293*b0d17251Schristos extern const OSSL_DISPATCH ossl_cmac_legacy_keymgmt_functions[];
294*b0d17251Schristos #ifndef OPENSSL_NO_SM2
295*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_keymgmt_functions[];
296*b0d17251Schristos #endif
297*b0d17251Schristos 
298*b0d17251Schristos /* Key Exchange */
299*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_keyexch_functions[];
300*b0d17251Schristos extern const OSSL_DISPATCH ossl_x25519_keyexch_functions[];
301*b0d17251Schristos extern const OSSL_DISPATCH ossl_x448_keyexch_functions[];
302*b0d17251Schristos extern const OSSL_DISPATCH ossl_ecdh_keyexch_functions[];
303*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_tls1_prf_keyexch_functions[];
304*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_hkdf_keyexch_functions[];
305*b0d17251Schristos extern const OSSL_DISPATCH ossl_kdf_scrypt_keyexch_functions[];
306*b0d17251Schristos 
307*b0d17251Schristos /* Signature */
308*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_signature_functions[];
309*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_signature_functions[];
310*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed25519_signature_functions[];
311*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed448_signature_functions[];
312*b0d17251Schristos extern const OSSL_DISPATCH ossl_ecdsa_signature_functions[];
313*b0d17251Schristos extern const OSSL_DISPATCH ossl_mac_legacy_hmac_signature_functions[];
314*b0d17251Schristos extern const OSSL_DISPATCH ossl_mac_legacy_siphash_signature_functions[];
315*b0d17251Schristos extern const OSSL_DISPATCH ossl_mac_legacy_poly1305_signature_functions[];
316*b0d17251Schristos extern const OSSL_DISPATCH ossl_mac_legacy_cmac_signature_functions[];
317*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_signature_functions[];
318*b0d17251Schristos 
319*b0d17251Schristos /* Asym Cipher */
320*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_asym_cipher_functions[];
321*b0d17251Schristos #ifndef OPENSSL_NO_SM2
322*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_asym_cipher_functions[];
323*b0d17251Schristos #endif
324*b0d17251Schristos 
325*b0d17251Schristos /* Asym Key encapsulation  */
326*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_asym_kem_functions[];
327*b0d17251Schristos 
328*b0d17251Schristos /* Encoders */
329*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_PKCS1_der_encoder_functions[];
330*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_PKCS1_pem_encoder_functions[];
331*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
332*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
333*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_PrivateKeyInfo_der_encoder_functions[];
334*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_PrivateKeyInfo_pem_encoder_functions[];
335*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_RSA_der_encoder_functions[];
336*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_RSA_pem_encoder_functions[];
337*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_SubjectPublicKeyInfo_der_encoder_functions[];
338*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_SubjectPublicKeyInfo_pem_encoder_functions[];
339*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_msblob_encoder_functions[];
340*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_pvk_encoder_functions[];
341*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_text_encoder_functions[];
342*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_type_specific_keypair_der_encoder_functions[];
343*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsa_to_type_specific_keypair_pem_encoder_functions[];
344*b0d17251Schristos 
345*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsapss_to_PKCS1_der_encoder_functions[];
346*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsapss_to_PKCS1_pem_encoder_functions[];
347*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsapss_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
348*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsapss_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
349*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsapss_to_PrivateKeyInfo_der_encoder_functions[];
350*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsapss_to_PrivateKeyInfo_pem_encoder_functions[];
351*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsapss_to_SubjectPublicKeyInfo_der_encoder_functions[];
352*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsapss_to_SubjectPublicKeyInfo_pem_encoder_functions[];
353*b0d17251Schristos extern const OSSL_DISPATCH ossl_rsapss_to_text_encoder_functions[];
354*b0d17251Schristos 
355*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_DH_der_encoder_functions[];
356*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_DH_pem_encoder_functions[];
357*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_PKCS3_der_encoder_functions[];
358*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_PKCS3_pem_encoder_functions[];
359*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
360*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
361*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_PrivateKeyInfo_der_encoder_functions[];
362*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_PrivateKeyInfo_pem_encoder_functions[];
363*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_SubjectPublicKeyInfo_der_encoder_functions[];
364*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_SubjectPublicKeyInfo_pem_encoder_functions[];
365*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_type_specific_params_der_encoder_functions[];
366*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_type_specific_params_pem_encoder_functions[];
367*b0d17251Schristos extern const OSSL_DISPATCH ossl_dh_to_text_encoder_functions[];
368*b0d17251Schristos 
369*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_DHX_der_encoder_functions[];
370*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_DHX_pem_encoder_functions[];
371*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
372*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
373*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_PrivateKeyInfo_der_encoder_functions[];
374*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_PrivateKeyInfo_pem_encoder_functions[];
375*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_SubjectPublicKeyInfo_der_encoder_functions[];
376*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_SubjectPublicKeyInfo_pem_encoder_functions[];
377*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_X9_42_der_encoder_functions[];
378*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_X9_42_pem_encoder_functions[];
379*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_type_specific_params_der_encoder_functions[];
380*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_type_specific_params_pem_encoder_functions[];
381*b0d17251Schristos extern const OSSL_DISPATCH ossl_dhx_to_text_encoder_functions[];
382*b0d17251Schristos 
383*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_DSA_der_encoder_functions[];
384*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_DSA_pem_encoder_functions[];
385*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
386*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
387*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_PrivateKeyInfo_der_encoder_functions[];
388*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_PrivateKeyInfo_pem_encoder_functions[];
389*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_SubjectPublicKeyInfo_der_encoder_functions[];
390*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_SubjectPublicKeyInfo_pem_encoder_functions[];
391*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_type_specific_pem_encoder_functions[];
392*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_type_specific_der_encoder_functions[];
393*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_msblob_encoder_functions[];
394*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_pvk_encoder_functions[];
395*b0d17251Schristos extern const OSSL_DISPATCH ossl_dsa_to_text_encoder_functions[];
396*b0d17251Schristos 
397*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_EC_der_encoder_functions[];
398*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_EC_pem_encoder_functions[];
399*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_blob_encoder_functions[];
400*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
401*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
402*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_PrivateKeyInfo_der_encoder_functions[];
403*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_PrivateKeyInfo_pem_encoder_functions[];
404*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_SubjectPublicKeyInfo_der_encoder_functions[];
405*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_SubjectPublicKeyInfo_pem_encoder_functions[];
406*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_X9_62_der_encoder_functions[];
407*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_X9_62_pem_encoder_functions[];
408*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_type_specific_no_pub_pem_encoder_functions[];
409*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_type_specific_no_pub_der_encoder_functions[];
410*b0d17251Schristos extern const OSSL_DISPATCH ossl_ec_to_text_encoder_functions[];
411*b0d17251Schristos 
412*b0d17251Schristos #ifndef OPENSSL_NO_SM2
413*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_to_SM2_der_encoder_functions[];
414*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_to_SM2_pem_encoder_functions[];
415*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_to_blob_encoder_functions[];
416*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
417*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
418*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_to_PrivateKeyInfo_der_encoder_functions[];
419*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_to_PrivateKeyInfo_pem_encoder_functions[];
420*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_to_SubjectPublicKeyInfo_der_encoder_functions[];
421*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_to_SubjectPublicKeyInfo_pem_encoder_functions[];
422*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_to_type_specific_no_pub_pem_encoder_functions[];
423*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_to_type_specific_no_pub_der_encoder_functions[];
424*b0d17251Schristos extern const OSSL_DISPATCH ossl_sm2_to_text_encoder_functions[];
425*b0d17251Schristos #endif
426*b0d17251Schristos 
427*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed25519_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
428*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed25519_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
429*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed25519_to_PrivateKeyInfo_der_encoder_functions[];
430*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed25519_to_PrivateKeyInfo_pem_encoder_functions[];
431*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed25519_to_SubjectPublicKeyInfo_der_encoder_functions[];
432*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed25519_to_SubjectPublicKeyInfo_pem_encoder_functions[];
433*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed25519_to_OSSL_current_der_encoder_functions[];
434*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed25519_to_text_encoder_functions[];
435*b0d17251Schristos 
436*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed448_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
437*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed448_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
438*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed448_to_PrivateKeyInfo_der_encoder_functions[];
439*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed448_to_PrivateKeyInfo_pem_encoder_functions[];
440*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed448_to_SubjectPublicKeyInfo_der_encoder_functions[];
441*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed448_to_SubjectPublicKeyInfo_pem_encoder_functions[];
442*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed448_to_OSSL_current_der_encoder_functions[];
443*b0d17251Schristos extern const OSSL_DISPATCH ossl_ed448_to_text_encoder_functions[];
444*b0d17251Schristos 
445*b0d17251Schristos extern const OSSL_DISPATCH ossl_x25519_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
446*b0d17251Schristos extern const OSSL_DISPATCH ossl_x25519_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
447*b0d17251Schristos extern const OSSL_DISPATCH ossl_x25519_to_PrivateKeyInfo_der_encoder_functions[];
448*b0d17251Schristos extern const OSSL_DISPATCH ossl_x25519_to_PrivateKeyInfo_pem_encoder_functions[];
449*b0d17251Schristos extern const OSSL_DISPATCH ossl_x25519_to_SubjectPublicKeyInfo_der_encoder_functions[];
450*b0d17251Schristos extern const OSSL_DISPATCH ossl_x25519_to_SubjectPublicKeyInfo_pem_encoder_functions[];
451*b0d17251Schristos extern const OSSL_DISPATCH ossl_x25519_to_OSSL_current_der_encoder_functions[];
452*b0d17251Schristos extern const OSSL_DISPATCH ossl_x25519_to_text_encoder_functions[];
453*b0d17251Schristos 
454*b0d17251Schristos extern const OSSL_DISPATCH ossl_x448_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
455*b0d17251Schristos extern const OSSL_DISPATCH ossl_x448_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
456*b0d17251Schristos extern const OSSL_DISPATCH ossl_x448_to_PrivateKeyInfo_der_encoder_functions[];
457*b0d17251Schristos extern const OSSL_DISPATCH ossl_x448_to_PrivateKeyInfo_pem_encoder_functions[];
458*b0d17251Schristos extern const OSSL_DISPATCH ossl_x448_to_SubjectPublicKeyInfo_der_encoder_functions[];
459*b0d17251Schristos extern const OSSL_DISPATCH ossl_x448_to_SubjectPublicKeyInfo_pem_encoder_functions[];
460*b0d17251Schristos extern const OSSL_DISPATCH ossl_x448_to_OSSL_current_der_encoder_functions[];
461*b0d17251Schristos extern const OSSL_DISPATCH ossl_x448_to_text_encoder_functions[];
462*b0d17251Schristos 
463*b0d17251Schristos /* Decoders */
464*b0d17251Schristos extern const OSSL_DISPATCH ossl_PrivateKeyInfo_der_to_dh_decoder_functions[];
465*b0d17251Schristos extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_dh_decoder_functions[];
466*b0d17251Schristos extern const OSSL_DISPATCH ossl_type_specific_params_der_to_dh_decoder_functions[];
467*b0d17251Schristos extern const OSSL_DISPATCH ossl_DH_der_to_dh_decoder_functions[];
468*b0d17251Schristos 
469*b0d17251Schristos extern const OSSL_DISPATCH ossl_PrivateKeyInfo_der_to_dhx_decoder_functions[];
470*b0d17251Schristos extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_dhx_decoder_functions[];
471*b0d17251Schristos extern const OSSL_DISPATCH ossl_type_specific_params_der_to_dhx_decoder_functions[];
472*b0d17251Schristos extern const OSSL_DISPATCH ossl_DHX_der_to_dhx_decoder_functions[];
473*b0d17251Schristos 
474*b0d17251Schristos extern const OSSL_DISPATCH ossl_PrivateKeyInfo_der_to_dsa_decoder_functions[];
475*b0d17251Schristos extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_dsa_decoder_functions[];
476*b0d17251Schristos extern const OSSL_DISPATCH ossl_type_specific_der_to_dsa_decoder_functions[];
477*b0d17251Schristos extern const OSSL_DISPATCH ossl_DSA_der_to_dsa_decoder_functions[];
478*b0d17251Schristos extern const OSSL_DISPATCH ossl_msblob_to_dsa_decoder_functions[];
479*b0d17251Schristos extern const OSSL_DISPATCH ossl_pvk_to_dsa_decoder_functions[];
480*b0d17251Schristos 
481*b0d17251Schristos extern const OSSL_DISPATCH ossl_PrivateKeyInfo_der_to_ec_decoder_functions[];
482*b0d17251Schristos extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_ec_decoder_functions[];
483*b0d17251Schristos extern const OSSL_DISPATCH ossl_type_specific_no_pub_der_to_ec_decoder_functions[];
484*b0d17251Schristos extern const OSSL_DISPATCH ossl_EC_der_to_ec_decoder_functions[];
485*b0d17251Schristos 
486*b0d17251Schristos extern const OSSL_DISPATCH ossl_PrivateKeyInfo_der_to_x25519_decoder_functions[];
487*b0d17251Schristos extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_x25519_decoder_functions[];
488*b0d17251Schristos 
489*b0d17251Schristos extern const OSSL_DISPATCH ossl_PrivateKeyInfo_der_to_x448_decoder_functions[];
490*b0d17251Schristos extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_x448_decoder_functions[];
491*b0d17251Schristos 
492*b0d17251Schristos extern const OSSL_DISPATCH ossl_PrivateKeyInfo_der_to_ed25519_decoder_functions[];
493*b0d17251Schristos extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_ed25519_decoder_functions[];
494*b0d17251Schristos 
495*b0d17251Schristos extern const OSSL_DISPATCH ossl_PrivateKeyInfo_der_to_ed448_decoder_functions[];
496*b0d17251Schristos extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_ed448_decoder_functions[];
497*b0d17251Schristos 
498*b0d17251Schristos #ifndef OPENSSL_NO_SM2
499*b0d17251Schristos extern const OSSL_DISPATCH ossl_PrivateKeyInfo_der_to_sm2_decoder_functions[];
500*b0d17251Schristos extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_sm2_decoder_functions[];
501*b0d17251Schristos #endif
502*b0d17251Schristos 
503*b0d17251Schristos extern const OSSL_DISPATCH ossl_PrivateKeyInfo_der_to_rsa_decoder_functions[];
504*b0d17251Schristos extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_rsa_decoder_functions[];
505*b0d17251Schristos extern const OSSL_DISPATCH ossl_type_specific_keypair_der_to_rsa_decoder_functions[];
506*b0d17251Schristos extern const OSSL_DISPATCH ossl_RSA_der_to_rsa_decoder_functions[];
507*b0d17251Schristos extern const OSSL_DISPATCH ossl_msblob_to_rsa_decoder_functions[];
508*b0d17251Schristos extern const OSSL_DISPATCH ossl_pvk_to_rsa_decoder_functions[];
509*b0d17251Schristos 
510*b0d17251Schristos extern const OSSL_DISPATCH ossl_PrivateKeyInfo_der_to_rsapss_decoder_functions[];
511*b0d17251Schristos extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_rsapss_decoder_functions[];
512*b0d17251Schristos 
513*b0d17251Schristos extern const OSSL_DISPATCH ossl_EncryptedPrivateKeyInfo_der_to_der_decoder_functions[];
514*b0d17251Schristos extern const OSSL_DISPATCH ossl_SubjectPublicKeyInfo_der_to_der_decoder_functions[];
515*b0d17251Schristos extern const OSSL_DISPATCH ossl_pem_to_der_decoder_functions[];
516*b0d17251Schristos 
517*b0d17251Schristos extern const OSSL_DISPATCH ossl_file_store_functions[];
518