da6185c4d378b7bfbb974dbe744f3b7ccfff8622
[openssl.git] / doc / man7 / OSSL_PROVIDER-default.pod
1 =pod
2
3 =head1 NAME
4
5 OSSL_PROVIDER-default - OpenSSL default provider
6
7 =head1 DESCRIPTION
8
9 The OpenSSL default provider supplies the majority of OpenSSL's diverse
10 algorithm implementations.  It also acts as a fallback when no other
11 provider has been loaded.
12
13 =head2 Properties
14
15 The implementations in this provider specifically have this property
16 defined:
17
18 =over 4
19
20 =item "provider=default"
21
22 =back
23
24 It may be used in a property query string with fetching functions such as
25 L<EVP_MD_fetch(3)> or L<EVP_CIPHER_fetch(3)>, as well as with other
26 functions that take a property query string, such as
27 L<EVP_PKEY_CTX_new_from_name(3)>.
28
29 It isn't mandatory to query for this property, except to make sure to get
30 implementations of this provider and none other.
31
32 Some implementations may define additional properties.  Exact information is
33 listed below
34
35 =head1 OPERATIONS AND ALGORITHMS
36
37 The OpenSSL default provider supports these operations and algorithms:
38
39 =head2 Hashing Algorithms / Message Digests
40
41 =over 4
42
43 =item SHA1, see L<EVP_MD-SHA1(7)>
44
45 =item SHA2, see L<EVP_MD-SHA2(7)>
46
47 =item SHA3, see L<EVP_MD-SHA3(7)>
48
49 =item KECCAK-KMAC, see L<EVP_MD-KECCAK-KMAC(7)>
50
51 =item SHAKE, see L<EVP_MD-SHAKE(7)>
52
53 =item BLAKE2, see L<EVP_MD-BLAKE2(7)>
54
55 =item SM3, see L<EVP_MD-SM3(7)>
56
57 =item MD5, see L<EVP_MD-MD5(7)>
58
59 =item MD5-SHA1, see L<EVP_MD-MD5-SHA1(7)>
60
61 =back
62
63 =head2 Symmetric Ciphers
64
65 =over 4
66
67 =item AES, see L<EVP_CIPHER-AES(7)>
68
69 =item ARIA, see L<EVP_CIPHER-ARIA(7)>
70
71 =item CAMELLIA, see L<EVP_CIPHER-CAMELLIA(7)>
72
73 =item DES, see L<EVP_CIPHER-DES(7)>
74
75 =item BF, see L<EVP_CIPHER-BF(7)>
76
77 =item IDEA, see L<EVP_CIPHER-IDEA(7)>
78
79 =item CAST5, see L<EVP_CIPHER-CAST5(7)>
80
81 =item SEED, see L<EVP_CIPHER-SEED(7)>
82
83 =item SM4, see L<EVP_CIPHER-SM4(7)>
84
85 =item RC2, see L<EVP_CIPHER-RC2(7)>
86
87 =item RC4, see L<EVP_CIPHER-RC4(7)>
88
89 =item RC5, see L<EVP_CIPHER-RC5(7)>
90
91 =item ChaCha20, see L<EVP_CIPHER-ChaCha20(7)>
92
93 =item ChaCha20-Poly1305, see L<EVP_CIPHER-ChaCha20-Poly1305(7)>
94
95 =back
96
97 =head2 Message Authentication Code (MAC)
98
99 =over 4
100
101 =item BLAKE2, see L<EVP_MAC-BLAKE2(7)>
102
103 =item CMAC, see L<EVP_MAC-CMAC(7)>
104
105 =item GMAC, see L<EVP_MAC-GMAC(7)>
106
107 =item HMAC, see L<EVP_MAC-HMAC(7)>
108
109 =item KMAC, see L<EVP_MAC-KMAC(7)>
110
111 =item SIPHASH, see L<EVP_MAC-Siphash(7)>
112
113 =item POLY1305, see L<EVP_MAC-Poly1305(7)>
114
115 =back
116
117 =head2 Key Derivation Function (KDF)
118
119 =over 4
120
121 =item HKDF, see L<EVP_KDF-HKDF(7)>
122
123 =item SSKDF, see L<EVP_KDF-SS(7)>
124
125 =item PBKDF2, see L<EVP_KDF-PBKDF2(7)>
126
127 =item PKCS12KDF, see L<EVP_KDF-PKCS12KDF(7)>
128
129 =item SSHKDF, see L<EVP_KDF-SSHKDF(7)>
130
131 =item TLS1-PRF, see L<EVP_KDF-TLS1_PRF(7)>
132
133 =item KBKDF, see L<EVP_KDF-KB(7)>
134
135 =item X942KDF, see L<EVP_KDF-X942(7)>
136
137 =item SCRYPT, see L<EVP_KDF-SCRYPT(7)>
138
139 =item KRB5KDF, see L<EVP_KDF-KRB5KDF(7)>
140
141 =item X963KDF, see L<EVP_KDF-X963(7)>
142
143 =back
144
145 =head2 Key Exchange
146
147 =over 4
148
149 =item DH, see L<EVP_KEYEXCH-DH(7)>
150
151 =item ECDH, see L<EVP_KEYEXCH-ECDH(7)>
152
153 =item X25519, see L<EVP_KEYEXCH-X25519(7)>
154
155 =item X448, see L<EVP_KEYEXCH-X448(7)>
156
157 =back
158
159 =head2 Asymmetric Signature
160
161 =over 4
162
163 =item DSA, see L<EVP_SIGNATURE-DSA(7)>
164
165 =item RSA, see L<EVP_SIGNATURE-RSA(7)>
166
167 =item HMAC, see L<EVP_SIGNATURE-HMAC(7)>
168
169 =item SIPHASH, see L<EVP_SIGNATURE-Siphash(7)>
170
171 =item POLY1305, see L<EVP_SIGNATURE-Poly1305(7)>
172
173 =item CMAC, see L<EVP_SIGNATURE-CMAC(7)>
174
175 =back
176
177 =head2 Asymmetric Cipher
178
179 =over 4
180
181 =item RSA, see L<EVP_ASYM_CIPHER-RSA(7)>
182
183 =item SM2, see L<EVP_ASYM_CIPHER-SM2(7)>
184
185 =back
186
187 =head2 Asymmetric Key Encapsulation
188
189 =over 4
190
191 =item RSA, see L<EVP_KEM-RSA(7)>
192
193 =back
194
195 =head2 Asymmetric Key Management
196
197 =over 4
198
199 =item DH, see L<EVP_KEYMGMT-DH(7)>
200
201 =item DSA, see L<EVP_KEYMGMT-DSA(7)>
202
203 =item RSA, see L<EVP_KEYMGMT-RSA(7)>
204
205 =item EC, see L<EVP_KEYMGMT-EC(7)>
206
207 =item X25519, see L<EVP_KEYMGMT-X25519(7)>
208
209 =item X448, see L<EVP_KEYMGMT-X448(7)>
210
211 =back
212
213 =head2 Asymmetric Key Encoder
214
215 The default provider also includes all of the encoding algorithms
216 present in the base provider.  Some of these have the property "fips=yes",
217 to allow them to be used together with the FIPS provider.
218
219 =over 4
220
221 =item RSA, see L<OSSL_ENCODER-RSA(7)>
222
223 =item DH, see L<OSSL_ENCODER-DH(7)>
224
225 =item DSA, see L<OSSL_ENCODER-DSA(7)>
226
227 =item EC, see L<OSSL_ENCODER-EC(7)>
228
229 =item X25519, see L<OSSL_ENCODER-X25519(7)>
230
231 =item X448, see L<OSSL_ENCODER-X448(7)>
232
233 =back
234
235 =head1 SEE ALSO
236
237 L<openssl-core.h(7)>, L<openssl-core_dispatch.h(7)>, L<provider(7)>,
238 L<OSSL_PROVIDER-base(7)>
239
240 =head1 COPYRIGHT
241
242 Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
243
244 Licensed under the Apache License 2.0 (the "License").  You may not use
245 this file except in compliance with the License.  You can obtain a copy
246 in the file LICENSE in the source distribution or at
247 L<https://www.openssl.org/source/license.html>.
248
249 =cut