xref: /netbsd-src/crypto/external/bsd/openssl/dist/doc/man7/EVP_MAC-Siphash.pod (revision b0d1725196a7921d003d2c66a14f186abda4176b)
1*b0d17251Schristos=pod
2*b0d17251Schristos
3*b0d17251Schristos=head1 NAME
4*b0d17251Schristos
5*b0d17251SchristosEVP_MAC-Siphash - The Siphash EVP_MAC implementation
6*b0d17251Schristos
7*b0d17251Schristos=head1 DESCRIPTION
8*b0d17251Schristos
9*b0d17251SchristosSupport for computing Siphash MACs through the B<EVP_MAC> API.
10*b0d17251Schristos
11*b0d17251Schristos=head2 Identity
12*b0d17251Schristos
13*b0d17251SchristosThis implementation is identified with this name and properties, to be
14*b0d17251Schristosused with EVP_MAC_fetch():
15*b0d17251Schristos
16*b0d17251Schristos=over 4
17*b0d17251Schristos
18*b0d17251Schristos=item "SIPHASH", "provider=default"
19*b0d17251Schristos
20*b0d17251Schristos=back
21*b0d17251Schristos
22*b0d17251Schristos
23*b0d17251Schristos=head2 Supported parameters
24*b0d17251Schristos
25*b0d17251SchristosThe general description of these parameters can be found in
26*b0d17251SchristosL<EVP_MAC(3)/PARAMETERS>.
27*b0d17251Schristos
28*b0d17251SchristosAll these parameters can be set with EVP_MAC_CTX_set_params().
29*b0d17251SchristosFurthermore, the "size" parameter can be retrieved with
30*b0d17251SchristosEVP_MAC_CTX_get_params(), or with EVP_MAC_CTX_get_mac_size().
31*b0d17251SchristosThe length of the "size" parameter should not exceed that of a B<size_t>.
32*b0d17251Schristos
33*b0d17251Schristos=over 4
34*b0d17251Schristos
35*b0d17251Schristos=item "key" (B<OSSL_MAC_PARAM_KEY>) <octet string>
36*b0d17251Schristos
37*b0d17251SchristosSets the MAC key.
38*b0d17251SchristosSetting this parameter is identical to passing a I<key> to L<EVP_MAC_init(3)>.
39*b0d17251Schristos
40*b0d17251Schristos=item "size" (B<OSSL_MAC_PARAM_SIZE>) <unsigned integer>
41*b0d17251Schristos
42*b0d17251SchristosSets the MAC size.
43*b0d17251Schristos
44*b0d17251Schristos=item "c-rounds" (B<OSSL_MAC_PARAM_C_ROUNDS>) <unsigned integer>
45*b0d17251Schristos
46*b0d17251SchristosSpecifies the number of rounds per message block.  By default this is I<2>.
47*b0d17251Schristos
48*b0d17251Schristos=item "d-rounds" (B<OSSL_MAC_PARAM_D_ROUNDS>) <unsigned integer>
49*b0d17251Schristos
50*b0d17251SchristosSpecifies the number of finalisation rounds.  By default this is I<4>.
51*b0d17251Schristos
52*b0d17251Schristos=back
53*b0d17251Schristos
54*b0d17251Schristos=head1 SEE ALSO
55*b0d17251Schristos
56*b0d17251SchristosL<EVP_MAC_CTX_get_params(3)>, L<EVP_MAC_CTX_set_params(3)>,
57*b0d17251SchristosL<EVP_MAC(3)/PARAMETERS>, L<OSSL_PARAM(3)>
58*b0d17251Schristos
59*b0d17251Schristos=head1 COPYRIGHT
60*b0d17251Schristos
61*b0d17251SchristosCopyright 2018-2021 The OpenSSL Project Authors. All Rights Reserved.
62*b0d17251Schristos
63*b0d17251SchristosLicensed under the Apache License 2.0 (the "License").  You may not use
64*b0d17251Schristosthis file except in compliance with the License.  You can obtain a copy
65*b0d17251Schristosin the file LICENSE in the source distribution or at
66*b0d17251SchristosL<https://www.openssl.org/source/license.html>.
67*b0d17251Schristos
68*b0d17251Schristos=cut
69