]>
Commit | Line | Data |
---|---|---|
fc9eda53 P |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
5 | EVP_KDF-PVKKDF - The PVK EVP_KDF implementation | |
6 | ||
7 | =head1 DESCRIPTION | |
8 | ||
9 | Support for computing the B<PVK KDF> PIN-based KDF through the B<EVP_KDF> | |
10 | API. | |
11 | ||
12 | The EVP_KDF-PVKKDF algorithm implements a PVK PIN-based key | |
13 | derivation function; it derives a key from a password using a salt. | |
14 | ||
15 | =head2 Identity | |
16 | ||
17 | "PVKKDF" is the name for this implementation; it | |
18 | can be used with the EVP_KDF_fetch() function. | |
19 | ||
20 | =head2 Supported parameters | |
21 | ||
22 | The supported parameters are: | |
23 | ||
24 | =over 4 | |
25 | ||
26 | =item "pass" (B<OSSL_KDF_PARAM_PASSWORD>) <octet string> | |
27 | ||
28 | =item "salt" (B<OSSL_KDF_PARAM_SALT>) <octet string> | |
29 | ||
30 | =item "properties" (B<OSSL_KDF_PARAM_PROPERTIES>) <UTF8 string> | |
31 | ||
32 | =item "digest" (B<OSSL_KDF_PARAM_DIGEST>) <UTF8 string> | |
33 | ||
34 | These parameters work as described in L<EVP_KDF(3)/PARAMETERS>. | |
35 | ||
36 | =back | |
37 | ||
38 | =head1 NOTES | |
39 | ||
40 | A typical application of this algorithm is to derive keying material for an | |
41 | encryption algorithm from a password in the "pass" and a salt in "salt". | |
42 | ||
43 | No assumption is made regarding the given password; it is simply treated as a | |
44 | byte sequence. | |
45 | ||
5fae7b43 P |
46 | The legacy provider needs to be available in order to access this algorithm. |
47 | ||
fc9eda53 P |
48 | =head1 SEE ALSO |
49 | ||
50 | L<EVP_KDF(3)>, | |
51 | L<EVP_KDF_CTX_new(3)>, | |
52 | L<EVP_KDF_CTX_free(3)>, | |
53 | L<EVP_KDF_CTX_set_params(3)>, | |
54 | L<EVP_KDF_derive(3)>, | |
5fae7b43 P |
55 | L<EVP_KDF(3)/PARAMETERS>, |
56 | L<OSSL_PROVIDER-legacy(7)> | |
fc9eda53 P |
57 | |
58 | =head1 HISTORY | |
59 | ||
4741c80c | 60 | This functionality was added in OpenSSL 3.0. |
fc9eda53 P |
61 | |
62 | =head1 COPYRIGHT | |
63 | ||
64 | Copyright 2021 The OpenSSL Project Authors. All Rights Reserved. | |
65 | ||
66 | Licensed under the Apache License 2.0 (the "License"). You may not use | |
67 | this file except in compliance with the License. You can obtain a copy | |
68 | in the file LICENSE in the source distribution or at | |
69 | L<https://www.openssl.org/source/license.html>. | |
70 | ||
71 | =cut |