EVP_MAC-POLY1305(7ossl)

πŸ“¦ version 3.5.0, in opensuse-leap 16.0

πŸ’– EVP_MAC-POLY1305(7ossl) β€” the OpenSSL girlies' guide πŸ’–

okay bestie, so this is a page from the OpenSSL manual set β€” the EVP_MAC-POLY1305 one β€” and it's honestly such a slay little doc. Let's get into it ✨

✨ NAME ✨

EVP_MAC-Poly1305 β€” the Poly1305 EVP_MAC implementation. that's it, that's the whole vibe πŸŽ€

πŸ¦‹ DESCRIPTION πŸ¦‹

So basically: this is support for computing Poly1305 MACs through the EVP_MAC API. iconic behavior, no notes πŸ’…

🌸 Identity 🌸

This implementation is identified with this name and these properties, which you'd use with EVP_MAC_fetch():

"POLY1305", "provider=default"

like, that's its whole government name 🫢

πŸ’œ Supported parameters πŸ’œ

The general description of these parameters lives in "PARAMETERS" in EVP_MAC(3) β€” go read that too, iykyk.

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 to EVP_MAC_init(3). same thing, different font, fr fr.

The following parameters can be retrieved with EVP_MAC_CTX_get_params():

  • "size" (OSSL_MAC_PARAM_SIZE) <unsigned integer> β€” gets the MAC size.

Alsooo, the "size" parameter can also be retrieved with EVP_MAC_CTX_get_mac_size() (yes there are two ways, we love options πŸ’–). One tiny thing tho: the length of the "size" parameter should not exceed that of an unsigned int. keep it in range bestie πŸ™ˆ

πŸ”₯ NOTES πŸ”₯

The OpenSSL implementation of the Poly 1305 MAC corresponds to RFC 7539. ✨

⚠️ okay this part is SO serious: it is critical to never reuse the key. The security implication noted in RFC 8439 applies equally to the OpenSSL implementation. like, do not do it. not once. not ever. πŸ”₯πŸ’€

🌈 SEE ALSO 🌈

go click around, it's giving lore πŸ’…

Copyright 2018-2021 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>.


and that's the whole page, bestie!! πŸŽ€πŸ¦‹ this was 3.5.0, dated 2026-09-25, and it's the EVP_MAC-POLY1305(7ossl) page β€” mwah, periodt πŸ’–βœ¨πŸŒΈ

πŸ“¦ where this page comes from