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 π
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
- ubuntu stonking: libssl-doc 4.0.3-1ubuntu1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms