EVP_MAC-GMAC(7ossl)
π EVP_MAC-GMAC π
okay so this is the EVP_MAC-GMAC page, from the 7ossl manual section, and bestie, it's lowkey short but it's all tea. let's get into it β¨
πΈ NAME πΈ
EVP_MAC-GMAC β the GMAC EVP_MAC implementation. that's it, that's the whole name section, she's concise π
π DESCRIPTION π
so this is all about support for computing GMAC MACs through the EVP_MAC API. iconic behavior honestly.
this implementation uses EVP_CIPHER functions to get access to the underlying cipher. like, that's how she gets her power, iykyk π¦
β Identity β
when you need to fetch her, this implementation is identified with this name and properties, to be used with EVP_MAC_fetch():
"GMAC", "provider=default" or "provider=fips"
so you got options, and both of them slay in their own way π
π§ Supported parameters π§
the general description of these parameters can be found in "PARAMETERS" in EVP_MAC(3). go read that if you want the full lore, fr fr.
the following parameter can be set with EVP_MAC_CTX_set_params():
"key"(OSSL_MAC_PARAM_KEY)<octet string>β sets the MAC key. setting this parameter is identical to passing a key toEVP_MAC_init(3). same vibe, different door π«Ά"iv"(OSSL_MAC_PARAM_IV)<octet string>β sets the IV of the underlying cipher, when applicable. note the when applicable β she's not always in the mood for an IV π"cipher"(OSSL_MAC_PARAM_CIPHER)<UTF8 string>β sets the name of the underlying cipher to be used. pick your girl π"properties"(OSSL_MAC_PARAM_PROPERTIES)<UTF8 string>β sets the properties to be queried when trying to fetch the underlying cipher. this must be given together with the cipher naming parameter to be considered valid. so like, they're a package deal, no solo acts π
the following parameters can be retrieved with EVP_MAC_CTX_get_params():
"size"(OSSL_MAC_PARAM_SIZE)<unsigned integer>β gets the MAC size. the way she tells you exactly how big she is π"fips-indicator"(OSSL_MAC_PARAM_FIPS_APPROVED_INDICATOR)<integer>β the OpenSSL FIPS provider returns1if the operation is FIPS approved, or0otherwise. see "FIPS indicators" infips_module(7)for more information. it's giving β¨ compliance β¨
also, quick note bestie: the "size" parameter can also be retrieved with EVP_MAC_CTX_get_mac_size(). and the length of the "size" parameter is equal to that of an unsigned int. remember that, it's important πΈ
π¦ SEE ALSO π¦
EVP_MAC_CTX_get_params(3)EVP_MAC_CTX_set_params(3)- "PARAMETERS" in
EVP_MAC(3) OSSL_PARAM(3)
go read these, they're the friend group, they come as a set π
π COPYRIGHT π
copyright 2018-2026 The OpenSSL Project Authors. All Rights Reserved.
licensed under the Apache License 2.0 (the "License"). you may not use this file except in compliance with the License. you can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
okay so real talk: the license is not a vibe suggestion, it's a whole rule. non-compliance is not the move π
and that's the page!! π version 3.5.9, dated 2026-09-29, that's the 7ossl girlies, mwah, drink water, go compute a GMAC ππβ
π¦ where this page comes from
- alpine 3.23: openssl-doc 3.5.9-r0 Β· Apache-2.0
- alpine 3.24: openssl-doc 3.5.9-r0 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms