EVP_BLAKE2B512(3ossl)

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

πŸ’œ EVP_BLAKE2B512 β€” BLAKE2 For EVP ✨

okay so bestie, this is a page from the OpenSSL manual (that's 3ossl, the OpenSSL section of the manual pages), and it's literally all about the BLAKE2 fam showing up in EVP. it's short, it's sweet, and it's giving "small but mighty" 🫢


🌸 SYNOPSIS 🌸

like, here's the whole vibe in code form:

#include <openssl/evp.h>

const EVP_MD *EVP_blake2b512(void);
const EVP_MD *EVP_blake2s256(void);

two functions, no arguments, both handing you back a const EVP_MD *. that's it, that's the whole synopsis πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so real talk: BLAKE2 is the glow-up version of BLAKE β€” and BLAKE was literally submitted to the NIST SHA-3 algorithm competition back in the day πŸ‘‘. both the BLAKE2s and BLAKE2b algorithms are described in RFC 7693, so if you want the full lore, that's where it lives.

✨ EVP_blake2s256()

the BLAKE2s algorithm that produces a 256-bit output from a given input. smol but fierce πŸŽ€

✨ EVP_blake2b512()

the BLAKE2b algorithm that produces a 512-bit output from a given input. big output energy, no cap πŸ”₯


🧚 NOTES 🧚

okay listen, this part matters: devs should be aware of the negative performance implications of calling these functions multiple times 😭 and should consider using EVP_MD_fetch(3) with EVP_MD-BLAKE2(7) instead. for the whole story, peek at "Performance" in crypto(7) β€” it's all laid out there, iykyk.

also important: both algorithms support a variable-length digest, but that's only available through EVP_MD-BLAKE2(7). so if you're out here wanting custom digest lengths from these two functions... you can't, bestie πŸ™ˆ that's the other door.


⭐ RETURN VALUES ⭐

these functions return an EVP_MD structure that contains the implementation of the message digest. if you wanna know what's actually inside that EVP_MD structure, EVP_MD_meth_new(3) has the details for you 🫢


🌈 CONFORMING TO 🌈

RFC 7693. periodt. πŸ’…


πŸ”₯ SEE ALSO πŸ”₯


Copyright 2017-2023 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 version 3.5.6, dated 2026-04-07 β€” catch you on the next manpage, mwah πŸ’‹πŸ’œ

πŸ“¦ where this page comes from