EVP_MAC-SIPHASH(7ossl)

πŸ“¦
version 15.1 Β· 3 versions
, in freebsd 15.1

πŸ’… EVP_MAC-Siphash β€” the Siphash era (7ossl manual, bestie)

okay so this is the manual page for EVP_MAC-Siphash, and yes it's an OpenSSL joint, and yes it's about computing Siphash MACs through the EVP_MAC API. that's the whole vibe. let's get into it πŸ’–


✨ NAME ✨

EVP_MAC-Siphash β€” the Siphash EVP_MAC implementation. that's it, that's the name, she's iconic, she's short. πŸŽ€


🌸 DESCRIPTION 🌸

so basically: this is the support for computing Siphash MACs through the EVP_MAC API. if you're out here doing MAC things and you want Siphash in the mix, this is your girl. no cap. πŸ’œ

πŸ¦‹ Identity πŸ¦‹

every implementation's gotta have a little name tag, right? this one is identified with these β€” and you use them with EVP_MAC_fetch():

"SIPHASH", "provider=default"

like, that's her government name and her whole personality. 😭✨

🌈 Supported parameters 🌈

the general description of these parameters lives in "PARAMETERS" in EVP_MAC(3) β€” go read that if you want the full lore, iykyk.

the important bit: all these parameters can be set with EVP_MAC_CTX_set_params(). and additionally, the "size" parameter can be retrieved with EVP_MAC_CTX_get_params(), or with EVP_MAC_CTX_get_mac_size(). 🫢

heads up bestie: the length of the "size" parameter should not exceed that of a size_t. like, don't be messy about it. πŸ’€

now, the parameter menu, one by one:

  • "key" (aka OSSL_MAC_PARAM_KEY), type <octet string> β€” sets the MAC key. setting this parameter is identical to passing a key to EVP_MAC_init(3). same thing, different outfit πŸ’…
  • "size" (aka OSSL_MAC_PARAM_SIZE), type <unsigned integer> β€” sets the MAC size. that's it. she does what she says on the label. ✨
  • "c-rounds" (aka OSSL_MAC_PARAM_C_ROUNDS), type <unsigned integer> β€” specifies the number of rounds per message block. by default this is 2. yes, TWO. by default. πŸ‘‘
  • "d-rounds" (aka OSSL_MAC_PARAM_D_ROUNDS), type <unsigned integer> β€” specifies the number of finalisation rounds. by default this is 4. four. a whole four. πŸ”₯

that's the whole parameter list, nothing hiding under the couch, i promise. πŸ“


πŸ‘€ SEE ALSO πŸ‘€

go be nosy, she's not jealous:


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>.

like, read the license, bestie, it's literally right there πŸ™ˆ


✨ mwah xoxo, that's the whole page ✨

this little love letter to Siphash is brought to you by version 3.5.6, dated 2026-04-07 β€” catch you on the flip side πŸ¦‹πŸ’–

πŸ“¦ where this page comes from