EVP_SHA3_224(3SSL)

✨ SHA-3 but make it EVP πŸ’… (the EVP_SHA3_224(3SSL) page)

okay bestie, welcome to the OpenSSL manual page for EVP_SHA3_224(3SSL) β€” yes it's a whole family of functions and yes they're all gorgeous. let's get into it πŸ¦‹


🌸 NAME 🌸

EVP_sha3_224, EVP_sha3_256, EVP_sha3_384, EVP_sha3_512, EVP_shake128, EVP_shake256 β€” that's the SHA-3 lineup, but for EVP. the whole squad fr πŸ’–


πŸŽ€ 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);

like yes, that's six functions and they all return the same type. they're all const EVP_MD * and they all take void β€” no arguments, no drama πŸ’…


🌈 DESCRIPTION 🌈

okay so SHA-3 (Secure Hash Algorithm 3) is a whole family of cryptographic hash functions, standardized in NIST FIPS 202, first published in 2015. it's built 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 β€” like, in that exact order, matching up one-to-one. they produce 224, 256, 384 and 512 bits of output from a given input. fixed length, no wiggle room, just vibes of a certain size ✨

πŸ¦‹ EVP_shake128(), EVP_shake256() πŸ¦‹

these two are the SHAKE-128 and SHAKE-256 Extendable Output Functions (XOF) and the way they can generate a variable hash length?? main character energy, lowkey obsessed πŸ‘‘

specifically: EVP_shake128 provides an overall security of 128 bits, while EVP_shake256 provides that of 256 bits. periodt.


πŸ‘‘ NOTES πŸ‘‘

bestie, listen up, this part matters πŸ™ˆ β€” developers should be aware of the negative performance implications of calling these functions multiple times. if you're doing that, you 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. iykyk πŸ’€


⭐ RETURN VALUES ⭐

these functions return a EVP_MD structure that contains the implementation of the message digest. that's it, that's the return value 🫢


🌟 CONFORMING TO 🌟

NIST FIPS 202. no cap, that's the standard πŸ’―


πŸ”₯ 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>.


okay that's the whole page bestie, you ate πŸ“βœ¨ this was OpenSSL 4.0.3, dated 2026-09-29, brought to you with love in the EVP_SHA3_224(3SSL) manual. go hash something cute πŸ’–πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from