EVP_SHA3_224(3ossl)
π EVP_SHA3_224 β SHA-3 For EVP π
okay bestie, gather round, because we're talking about the <openssl/evp.h> girlies today. this is from the 3ossl manual, and it's literally all about the SHA-3 family living inside EVP. no cap. β¨
πΈ SYNOPSIS πΈ
#include <openssl/evp.h>
const EVP_MD *EVP_sha3_224(void);
const EVP_MD *EVP_sha3_256(void);
const EVP_MD *EVP_sha3_384(void);
const EVP_MD *EVP_sha3_512(void);
const EVP_MD *EVP_shake128(void);
const EVP_MD *EVP_shake256(void);
look at those six little functions just vibing π
π¦ DESCRIPTION π¦
so SHA-3 (aka Secure Hash Algorithm 3) is this whole family of cryptographic hash functions, standardized in NIST FIPS 202, and it first got published in 2015. it's based on the Keccak algorithm. iconic origin story tbh. π₯
EVP_sha3_224(),EVP_sha3_256(),EVP_sha3_384(),EVP_sha3_512()β these are the SHA-3-224, SHA-3-256, SHA-3-384, and SHA-3-512 algorithms respectively. and the way they work?? they produce 224, 256, 384 and 512 bits of output from whatever input you hand them. main character energy, each with their own length. πEVP_shake128(),EVP_shake256()β these are the SHAKE-128 and SHAKE-256 Extendable Output Functions (XOF) π«Ά and the whole point of them is that they can generate a variable hash length. yes bestie, variable. they said "fixed length? never heard of her."
specifically, EVP_shake128 provides an overall security of 128 bits, while EVP_shake256 provides that of 256 bits. slay. β¨
π NOTES π
okay so real talk for a sec, because this one's important. developers should be aware of the negative performance implications of calling these functions multiple times π like, it's not free, bestie, there's a cost.
instead, you should consider using EVP_MD_fetch(3) with EVP_MD-SHA3(7) or EVP_MD-SHAKE(7). see "Performance" in crypto(7) for further information. fr fr, go read that. π«‘
π RETURN VALUES π
these functions return a EVP_MD structure that contains the implementation of the message digest. if you want the details of the EVP_MD structure itself, check out EVP_MD_meth_new(3). iykyk π
β CONFORMING TO β
NIST FIPS 202. periodt. π
π SEE ALSO π
π COPYRIGHT π
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 EVP_SHA3_224(3ossl) from OpenSSL version 3.5.9, dated 2026-09-29. go hash something cute. mwah. πβ¨π
π¦ where this page comes from
- fedora 43: openssl-devel 1:3.5.9-1.fc43 Β· Apache-2.0
- fedora 43: openssl-devel 1:3.5.9-1.fc43 Β· Apache-2.0
- fedora 44: openssl-devel 1:3.5.9-1.fc44 Β· Apache-2.0
- fedora 44: openssl-devel 1:3.5.9-1.fc44 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms