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