11573Srgrimes=pod 21573Srgrimes 31573Srgrimes=head1 NAME 41573Srgrimes 51573SrgrimesEVP_MAC-GMAC - The GMAC EVP_MAC implementation 61573Srgrimes 71573Srgrimes=head1 DESCRIPTION 81573Srgrimes 91573SrgrimesSupport for computing GMAC MACs through the B<EVP_MAC> API. 101573Srgrimes 111573SrgrimesThis implementation uses EVP_CIPHER functions to get access to the underlying 121573Srgrimescipher. 131573Srgrimes 141573Srgrimes=head2 Identity 151573Srgrimes 161573SrgrimesThis implementation is identified with this name and properties, to be 171573Srgrimesused with EVP_MAC_fetch(): 181573Srgrimes 191573Srgrimes=over 4 201573Srgrimes 211573Srgrimes=item "GMAC", "provider=default" or "provider=fips" 221573Srgrimes 231573Srgrimes=back 241573Srgrimes 251573Srgrimes=head2 Supported parameters 261573Srgrimes 271573SrgrimesThe general description of these parameters can be found in 281573SrgrimesL<EVP_MAC(3)/PARAMETERS>. 2950476Speter 301573SrgrimesThe following parameter can be set with EVP_MAC_CTX_set_params(): 31271656Sngie 321573Srgrimes=over 4 3379531Sru 341573Srgrimes=item "key" (B<OSSL_MAC_PARAM_KEY>) <octet string> 35178245Skib 36178245SkibSets the MAC key. 37178245SkibSetting this parameter is identical to passing a I<key> to L<EVP_MAC_init(3)>. 3884805Sru 3959460Sphantom=item "iv" (B<OSSL_MAC_PARAM_IV>) <octet string> 4059460Sphantom 411573SrgrimesSets the IV of the underlying cipher, when applicable. 4284306Sru 431573Srgrimes=item "cipher" (B<OSSL_MAC_PARAM_CIPHER>) <UTF8 string> 441573Srgrimes 4583797SrwatsonSets the name of the underlying cipher to be used. 4683797Srwatson 47178245Skib=item "properties" (B<OSSL_MAC_PARAM_PROPERTIES>) <UTF8 string> 48178245Skib 491573SrgrimesSets the properties to be queried when trying to fetch the underlying cipher. 501573SrgrimesThis must be given together with the cipher naming parameter to be considered 511573Srgrimesvalid. 5283797Srwatson 5383797Srwatson=back 54108028Sru 551573SrgrimesThe following parameters can be retrieved with 5684805SruEVP_MAC_CTX_get_params(): 571573Srgrimes 5884805Sru=over 4 591573Srgrimes 6084805Sru=item "size" (B<OSSL_MAC_PARAM_SIZE>) <unsigned integer> 6184805Sru 6284805SruGets the MAC size. 631573Srgrimes 641573Srgrimes=back 6584805Sru 661573SrgrimesThe "size" parameter can also be retrieved with EVP_MAC_CTX_get_mac_size(). 6784805SruThe length of the "size" parameter is equal to that of an B<unsigned int>. 681573Srgrimes 691573Srgrimes=head1 SEE ALSO 7084805Sru 711573SrgrimesL<EVP_MAC_CTX_get_params(3)>, L<EVP_MAC_CTX_set_params(3)>, 7284805SruL<EVP_MAC(3)/PARAMETERS>, L<OSSL_PARAM(3)> 7384805Sru 7484805Sru=head1 COPYRIGHT 751573Srgrimes 7681362SmikeCopyright 2018-2021 The OpenSSL Project Authors. All Rights Reserved. 7784805Sru 7881362SmikeLicensed under the Apache License 2.0 (the "License"). You may not use 7981362Smikethis file except in compliance with the License. You can obtain a copy 8081362Smikein the file LICENSE in the source distribution or at 8184805SruL<https://www.openssl.org/source/license.html>. 8283797Srwatson 83108028Sru=cut 8484805Sru