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