]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man7/EVP_MAC-BLAKE2.pod
Introduce the provider property
[thirdparty/openssl.git] / doc / man7 / EVP_MAC-BLAKE2.pod
CommitLineData
e592dbde
RL
1=pod
2
3=head1 NAME
4
5EVP_MAC-BLAKE2, EVP_MAC-BLAKE2BMAC, EVP_MAC-BLAKE2SMAC
6- The BLAKE2 EVP_MAC implementations
7
8=head1 DESCRIPTION
9
10Support for computing BLAKE2 MACs through the B<EVP_MAC> API.
11
12=head2 Identity
13
14These implementations are identified with one of these names and
15properties, to be used with EVP_MAC_fetch():
16
17=over 4
18
745fc918 19=item "BLAKE2BMAC", "provider=default"
e592dbde 20
745fc918 21=item "BLAKE2SMAC", "provider=default"
e592dbde
RL
22
23=back
24
25=head2 Supported parameters
26
27The general description of these parameters can be found in
fddb1847 28L<EVP_MAC(3)/PARAMETERS>.
e592dbde
RL
29
30All these parameters can be set with EVP_MAC_CTX_set_params().
31Furthermore, the "size" parameter can be retrieved with
32EVP_MAC_CTX_get_params(), or with EVP_MAC_size().
f49a65d0 33The length of the "size" parameter should not exceed that of a B<size_t>.
e592dbde
RL
34
35=over 4
36
0c452a51 37=item "key" (B<OSSL_MAC_PARAM_KEY>) <octet string>
e592dbde
RL
38
39This may be at most 64 bytes for BLAKE2BMAC or 32 for BLAKE2SMAC and
40at least 1 byte in both cases.
41
0c452a51 42=item "custom" (B<OSSL_MAC_PARAM_CUSTOM>) <octet string>
e592dbde
RL
43
44This is an optional value of at most 16 bytes for BLAKE2BMAC or 8 for
45BLAKE2SMAC.
46It is empty by default.
47
0c452a51 48=item "salt" (B<OSSL_MAC_PARAM_SALT>) <octet string>
e592dbde
RL
49
50This is an optional value of at most 16 bytes for BLAKE2BMAC or 8 for
51BLAKE2SMAC.
52It is empty by default.
53
0c452a51 54=item "size" (B<OSSL_MAC_PARAM_SIZE>) <unsigned integer>
e592dbde
RL
55
56When set, this can be any number between between 1 and 32 for
57EVP_MAC_BLAKE2S or 64 for EVP_MAC_BLAKE2B.
58It is 32 and 64 respectively by default.
59
60=back
61
62=head1 SEE ALSO
63
64L<EVP_MAC_CTX_get_params(3)>, L<EVP_MAC_CTX_set_params(3)>,
fddb1847 65L<EVP_MAC(3)/PARAMETERS>, L<OSSL_PARAM(3)>
e592dbde
RL
66
67=head1 HISTORY
68
69The macros and functions described here were added to OpenSSL 3.0.
70
71=head1 COPYRIGHT
72
73Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved.
74
75Licensed under the Apache License 2.0 (the "License"). You may not use
76this file except in compliance with the License. You can obtain a copy
77in the file LICENSE in the source distribution or at
78L<https://www.openssl.org/source/license.html>.
79
80=cut