mirror of
https://github.com/openssl/openssl.git
synced 2025-01-06 13:26:43 +08:00
66c27d06e0
The upper limit of the output size is the default output size of the respective algorithm variants. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/22659)
85 lines
2.0 KiB
Plaintext
85 lines
2.0 KiB
Plaintext
=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
|