f82f8d8551bba243a92d3b04ea8473823dbedc2f
[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 =back
168
169 =head2 Asymmetric Cipher
170
171 =over 4
172
173 =item RSA, see L<EVP_ASYM_CIPHER-RSA(7)>
174
175 =back
176
177 =head2 Asymmetric Key Management
178
179 =over 4
180
181 =item DH, see L<EVP_KEYMGMT-DH(7)>
182
183 =item DSA, see L<EVP_KEYMGMT-DSA(7)>
184
185 =item RSA, see L<EVP_KEYMGMT-RSA(7)>
186
187 =item EC, see L<EVP_KEYMGMT-EC(7)>
188
189 =item X25519, see L<EVP_KEYMGMT-X25519(7)>
190
191 =item X448, see L<EVP_KEYMGMT-X448(7)>
192
193 =back
194
195 =head2 Asymmetric Key Serializer
196
197 The default provider also includes all of the serialization algorithms
198 present in the base provider.  Some of these have the property "fips=yes",
199 to allow them to be used together with the FIPS provider.
200
201 =over 4
202
203 =item RSA, see L<OSSL_SERIALIZER-RSA(7)>
204
205 =item DH, see L<OSSL_SERIALIZER-DH(7)>
206
207 =item DSA, see L<OSSL_SERIALIZER-DSA(7)>
208
209 =item EC, see L<OSSL_SERIALIZER-EC(7)>
210
211 =item X25519, see L<OSSL_SERIALIZER-X25519(7)>
212
213 =item X448, see L<OSSL_SERIALIZER-X448(7)>
214
215 =back
216
217 =head1 SEE ALSO
218
219 L<openssl-core.h(7)>, L<openssl-core_dispatch.h(7)>, L<provider(7)>,
220 L<OSSL_PROVIDER-base(7)>
221
222 =head1 COPYRIGHT
223
224 Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
225
226 Licensed under the Apache License 2.0 (the "License").  You may not use
227 this file except in compliance with the License.  You can obtain a copy
228 in the file LICENSE in the source distribution or at
229 L<https://www.openssl.org/source/license.html>.
230
231 =cut