DOCS: Start restructuring our provider and implementation documentation
[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 "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 SSHKDF, see L<EVP_KDF-SSHKDF(7)>
128
129 =item TLS1-PRF, see L<EVP_KDF-TLS1_PRF(7)>
130
131 =item KBKDF, see L<EVP_KDF-KB(7)>
132
133 =item X942KDF, see L<EVP_KDF-X942(7)>
134
135 =item SCRYPT, see L<EVP_KDF-SCRYPT(7)>
136
137 =item KRB5KDF, see L<EVP_KDF-KRB5KDF(7)>
138
139 =back
140
141 =head2 Key Exchange
142
143 =over 4
144
145 =item DH, see L<EVP_KEYEXCH-DH(7)>
146
147 =item ECDH, see L<EVP_KEYEXCH-ECDH(7)>
148
149 =item X25519, see L<EVP_KEYEXCH-X25519(7)>
150
151 =item X448, see L<EVP_KEYEXCH-X448(7)>
152
153 =back
154
155 =head2 Asymmetric Signature
156
157 =over 4
158
159 =item DSA, see L<EVP_SIGNATURE-DSA(7)>
160
161 =item RSA, see L<EVP_SIGNATURE-RSA(7)>
162
163 =back
164
165 =head2 Asymmetric Cipher
166
167 =over 4
168
169 =item RSA, see L<EVP_ASYM_CIPHER-RSA(7)>
170
171 =back
172
173 =head2 Asymmetric Key Management
174
175 =over 4
176
177 =item DH, see L<EVP_KEYMGMT-DH(7)>
178
179 =item DSA, see L<EVP_KEYMGMT-DSA(7)>
180
181 =item RSA, see L<EVP_KEYMGMT-RSA(7)>
182
183 =item EC, see L<EVP_KEYMGMT-EC(7)>
184
185 =item X25519, see L<EVP_KEYMGMT-X25519(7)>
186
187 =item X448, see L<EVP_KEYMGMT-X448(7)>
188
189 =back
190
191 =head2 Asymmetric Key Serializer
192
193 In addition to "provider=default", this set of implementations define the
194 property "fips=yes", to allow them to be used together with the FIPS
195 provider.
196
197 =over 4
198
199 =item RSA, see L<OSSL_SERIALIZER-RSA(7)>
200
201 =item DH, see L<OSSL_SERIALIZER-DH(7)>
202
203 =item DSA, see L<OSSL_SERIALIZER-DSA(7)>
204
205 =item EC, see L<OSSL_SERIALIZER-EC(7)>
206
207 =item X25519, see L<OSSL_SERIALIZER-X25519(7)>
208
209 =item X448, see L<OSSL_SERIALIZER-X448(7)>
210
211 =back
212
213 =head1 SEE ALSO
214
215 L<openssl-core.h(7)>, L<openssl-core_numbers.h(7)>, L<provider(7)>
216
217 =head1 COPYRIGHT
218
219 Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
220
221 Licensed under the Apache License 2.0 (the "License").  You may not use
222 this file except in compliance with the License.  You can obtain a copy
223 in the file LICENSE in the source distribution or at
224 L<https://www.openssl.org/source/license.html>.
225
226 =cut