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_MD-BLAKE2 - The BLAKE2 EVP_MD implementation

Description

Support for computing BLAKE2 digests through the EVP_MD API. Identities This implementation is only available with the default provider, and includes the following varieties: BLAKE2S-256 Known names are "BLAKE2S-256" and "BLAKE2s256". BLAKE2B-512 Known names are "BLAKE2B-512" and "BLAKE2b512". SettableParameters "BLAKE2B-512" supports the following EVP_MD_CTX_set_params() key described in "PARAMETERS" in EVP_DigestInit(3). "size" (OSSL_DIGEST_PARAM_SIZE) <unsigned integer> GettableParameters This implementation supports the common gettable parameters described in EVP_MD-common(7). SettableContextParameters The implementation supports the following OSSL_PARAM(3) entries which are settable for an EVP_MD_CTX with EVP_DigestInit_ex2(3) or EVP_MD_CTX_set_params(3): "size" (OSSL_DIGEST_PARAM_SIZE) <unsigned integer> Sets a different digest length for the EVP_DigestFinal(3) output. The value of the "size" parameter must not exceed the default digest length of the respective BLAKE2 algorithm variants, 64 for BLAKE2B-512 and 32 for BLAKE2S-256. The parameter must be set with the EVP_DigestInit_ex2(3) call to have an immediate effect. When set with EVP_MD_CTX_set_params(3) it will have an effect only if the EVP_MD_CTX context is reinitialized.

History

This functionality was added in OpenSSL 3.0. The variable size support was added in OpenSSL 3.2 for BLAKE2B-512 and in OpenSSL 3.3 for BLAKE2S-256.

Name

EVP_MD-BLAKE2 - The BLAKE2 EVP_MD implementation

See Also

provider-digest(7), OSSL_PROVIDER-default(7)

See Also