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