EVP_sha3_224.3ossl - Man Page

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 family of cryptographic hash functions standardized in NIST FIPS 202, first published in 2015. It is based on the Keccak algorithm.

EVP_sha3_224(),  EVP_sha3_256(),  EVP_sha3_384(),  EVP_sha3_512()

The SHA-3 SHA-3-224, SHA-3-256, SHA-3-384, and SHA-3-512 algorithms respectively. They produce 224, 256, 384 and 512 bits of output from a given input.

EVP_shake128(),  EVP_shake256()

The SHAKE-128 and SHAKE-256 Extendable Output Functions (XOF) that can generate a variable hash length.

Specifically, EVP_shake128 provides an overall security of 128 bits, while EVP_shake256 provides that of 256 bits.

Notes

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.

Return Values

These functions return a EVP_MD structure that contains the implementation of the message digest. See EVP_MD_meth_new(3) for details of the EVP_MD structure.

Conforming to

NIST FIPS 202.

See Also

evp(7), EVP_DigestInit(3)

Referenced By

EVP_DigestInit.3ossl(3).

The man pages EVP_sha3_256.3ossl(3), EVP_sha3_384.3ossl(3), EVP_sha3_512.3ossl(3), EVP_shake128.3ossl(3) and EVP_shake256.3ossl(3) are aliases of EVP_sha3_224.3ossl(3).

2024-04-04 3.2.1 OpenSSL