logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

EVP_sha3_224, EVP_sha3_256, EVP_sha3_384, EVP_sha3_512, EVP_shake128, EVP_shake256 - SHA-3 For EVP

Conforming To

       NIST FIPS 202.

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.

Name

       EVP_sha3_224, EVP_sha3_256, EVP_sha3_384, EVP_sha3_512, EVP_shake128, EVP_shake256 - SHA-3 For EVP

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.

See Also

evp(7), EVP_DigestInit(3)

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

See Also