EVP_SHA3_224(3ossl)

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

✨ EVP_SHA3_224 ✨

okay so bestie, you found the 3ossl page for the SHA-3 family in OpenSSL, and honestly? it's giving cryptographic royalty πŸ‘‘. Let's get into it πŸ’…


πŸ’– NAME πŸ’–

EVP_sha3_224, EVP_sha3_256, EVP_sha3_384, EVP_sha3_512, EVP_shake128, EVP_shake256 β€” SHA-3 For EVP πŸ¦‹


🌸 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);

πŸŽ€ DESCRIPTION πŸŽ€

SHA-3 (Secure Hash Algorithm 3) is a whole family of cryptographic hash functions, standardized in NIST FIPS 202 and first published in 2015. It's based on the Keccak algorithm β€” like, the origin story of this whole squad πŸ’œ.

🧚 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 β€” one per size, no cap. They produce 224, 256, 384 and 512 bits of output from a given input. Pick your vibe, pick your bit count ✨

🫢 EVP_shake128(), EVP_shake256()

These two are the SHAKE-128 and SHAKE-256 Extendable Output Functions (XOF) β€” yes, XOF, the main character acronym πŸ”₯ β€” and they can generate a variable hash length. Obsessed, honestly.

Specifically: EVP_shake128 gives you an overall security of 128 bits, while EVP_shake256 gives you that of 256 bits. Different strengths, same slay πŸ’…


⚠️ NOTES ⚠️

bestie, please read this part, i'm literally begging 😭

Developers 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-SHA3(7) or EVP_MD-SHAKE(7) instead. See "Performance" in crypto(7) for further information β€” it's the glow-up your hot path deserves 🌈


πŸ’« RETURN VALUES πŸ’«

These functions return an EVP_MD structure that contains the implementation of the message digest. See EVP_MD_meth_new(3) for details of the EVP_MD structure. That's it, that's the return πŸŽ€


πŸ‘‘ CONFORMING TO πŸ‘‘

NIST FIPS 202. periodt. ⭐


πŸ¦‹ SEE ALSO πŸ¦‹

go read them, iykyk πŸ’–


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


k that's the whole page bestie, go hash something gorgeous πŸ’œβœ¨ this was OpenSSL 3.5.0, dated 2026-09-25, signing off β€” mwah πŸ«ΆπŸ’…

πŸ“¦ where this page comes from