123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- =pod
- =head1 NAME
- EVP_MD-BLAKE2 - The BLAKE2 EVP_MD implementation
- =head1 DESCRIPTION
- Support for computing BLAKE2 digests through the B<EVP_MD> API.
- =head2 Identities
- This implementation is only available with the default provider, and
- includes the following varieties:
- =over 4
- =item BLAKE2S-256
- Known names are "BLAKE2S-256" and "BLAKE2s256".
- =item BLAKE2B-512
- Known names are "BLAKE2B-512" and "BLAKE2b512".
- =back
- =head2 Settable Parameters
- "BLAKE2B-512" supports the following EVP_MD_CTX_set_params() key
- described in L<EVP_DigestInit(3)/PARAMETERS>.
- =over 4
- =item "xoflen" (B<OSSL_DIGEST_PARAM_XOFLEN>) <unsigned integer>
- =back
- =head2 Gettable Parameters
- This implementation supports the common gettable parameters described
- in L<EVP_MD-common(7)>.
- =head2 Settable Context Parameters
- The implementation supports the following L<OSSL_PARAM(3)> entries which
- are settable for an B<EVP_MD_CTX> with L<EVP_DigestInit_ex2(3)> or
- L<EVP_MD_CTX_set_params(3)>:
- =over 4
- =item "size" (B<OSSL_DIGEST_PARAM_SIZE>) <unsigned integer>
- Sets a different digest length for the L<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
- L<EVP_DigestInit_ex2(3)> call to have an immediate effect. When set with
- L<EVP_MD_CTX_set_params(3)> it will have an effect only if the B<EVP_MD_CTX>
- context is reinitialized.
- =back
- =head1 SEE ALSO
- L<provider-digest(7)>, L<OSSL_PROVIDER-default(7)>
- =head1 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.
- =head1 COPYRIGHT
- Copyright 2020-2022 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
- L<https://www.openssl.org/source/license.html>.
- =cut
|