]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man7/EVP_MAC-KMAC.pod
Introduce the provider property
[thirdparty/openssl.git] / doc / man7 / EVP_MAC-KMAC.pod
CommitLineData
e592dbde
RL
1=pod
2
3=head1 NAME
4
d7cea0b8 5EVP_MAC-KMAC, EVP_MAC-KMAC128, EVP_MAC-KMAC256
e592dbde
RL
6- The KMAC EVP_MAC implementations
7
8=head1 DESCRIPTION
9
10Support for computing KMAC 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 "KMAC-128", "provider=default" or "provider=fips"
e592dbde 20
745fc918 21=item "KMAC-256", "provider=default" or "provider=fips"
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 38
0c452a51 39=item "custom" (B<OSSL_MAC_PARAM_CUSTOM>) <octet string>
e592dbde 40
0c452a51 41=item "size" (B<OSSL_MAC_PARAM_SIZE>) <unsigned integer>
e592dbde 42
0c452a51 43=item "xof" (B<OSSL_MAC_PARAM_XOF>) <integer>
e592dbde
RL
44
45=back
46
1242f3c7
SL
47The "xof" parameter value is expected to be 1 or 0. Use 1 to enable XOF
48mode. If XOF is enabled then the output length that is encoded as part of
e592dbde
RL
49the input stream is set to zero.
50
51=head1 SEE ALSO
52
53L<EVP_MAC_CTX_get_params(3)>, L<EVP_MAC_CTX_set_params(3)>,
fddb1847 54L<EVP_MAC(3)/PARAMETERS>, L<OSSL_PARAM(3)>
e592dbde
RL
55
56=head1 COPYRIGHT
57
58Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved.
59
60Licensed under the Apache License 2.0 (the "License"). You may not use
61this file except in compliance with the License. You can obtain a copy
62in the file LICENSE in the source distribution or at
63L<https://www.openssl.org/source/license.html>.
64
65=cut