xref: /freebsd/crypto/openssl/doc/man3/EVP_blake2b512.pod (revision ad991e4c142ebabad7aef488ad97b189ecabb270)
1e71b7053SJung-uk Kim=pod
2e71b7053SJung-uk Kim
3e71b7053SJung-uk Kim=head1 NAME
4e71b7053SJung-uk Kim
5e71b7053SJung-uk KimEVP_blake2b512,
6e71b7053SJung-uk KimEVP_blake2s256
7e71b7053SJung-uk Kim- BLAKE2 For EVP
8e71b7053SJung-uk Kim
9e71b7053SJung-uk Kim=head1 SYNOPSIS
10e71b7053SJung-uk Kim
11e71b7053SJung-uk Kim #include <openssl/evp.h>
12e71b7053SJung-uk Kim
13e71b7053SJung-uk Kim const EVP_MD *EVP_blake2b512(void);
14e71b7053SJung-uk Kim const EVP_MD *EVP_blake2s256(void);
15e71b7053SJung-uk Kim
16e71b7053SJung-uk Kim=head1 DESCRIPTION
17e71b7053SJung-uk Kim
18e71b7053SJung-uk KimBLAKE2 is an improved version of BLAKE, which was submitted to the NIST SHA-3
19e71b7053SJung-uk Kimalgorithm competition. The BLAKE2s and BLAKE2b algorithms are described in
20e71b7053SJung-uk KimRFC 7693.
21e71b7053SJung-uk Kim
22e71b7053SJung-uk Kim=over 4
23e71b7053SJung-uk Kim
24e71b7053SJung-uk Kim=item EVP_blake2s256()
25e71b7053SJung-uk Kim
26e71b7053SJung-uk KimThe BLAKE2s algorithm that produces a 256-bit output from a given input.
27e71b7053SJung-uk Kim
28e71b7053SJung-uk Kim=item EVP_blake2b512()
29e71b7053SJung-uk Kim
30e71b7053SJung-uk KimThe BLAKE2b algorithm that produces a 512-bit output from a given input.
31e71b7053SJung-uk Kim
32e71b7053SJung-uk Kim=back
33e71b7053SJung-uk Kim
34b077aed3SPierre Pronchery=head1 NOTES
35b077aed3SPierre Pronchery
36b077aed3SPierre ProncheryDevelopers should be aware of the negative performance implications of
37b077aed3SPierre Proncherycalling these functions multiple times and should consider using
38*ad991e4cSEd MasteL<EVP_MD_fetch(3)> with L<EVP_MD-BLAKE2(7)> instead.
39b077aed3SPierre ProncherySee L<crypto(7)/Performance> for further information.
40b077aed3SPierre Pronchery
41b077aed3SPierre ProncheryWhile the BLAKE2b and BLAKE2s algorithms supports a variable length digest,
42b077aed3SPierre Proncherythis implementation outputs a digest of a fixed length (the maximum length
43b077aed3SPierre Proncherysupported), which is 512-bits for BLAKE2b and 256-bits for BLAKE2s.
44b077aed3SPierre Pronchery
45e71b7053SJung-uk Kim=head1 RETURN VALUES
46e71b7053SJung-uk Kim
47e71b7053SJung-uk KimThese functions return a B<EVP_MD> structure that contains the
48b077aed3SPierre Proncheryimplementation of the message digest. See L<EVP_MD_meth_new(3)> for
49e71b7053SJung-uk Kimdetails of the B<EVP_MD> structure.
50e71b7053SJung-uk Kim
51e71b7053SJung-uk Kim=head1 CONFORMING TO
52e71b7053SJung-uk Kim
53e71b7053SJung-uk KimRFC 7693.
54e71b7053SJung-uk Kim
55e71b7053SJung-uk Kim=head1 SEE ALSO
56e71b7053SJung-uk Kim
57e71b7053SJung-uk KimL<evp(7)>,
58e71b7053SJung-uk KimL<EVP_DigestInit(3)>
59e71b7053SJung-uk Kim
60e71b7053SJung-uk Kim=head1 COPYRIGHT
61e71b7053SJung-uk Kim
62b077aed3SPierre ProncheryCopyright 2017-2023 The OpenSSL Project Authors. All Rights Reserved.
63e71b7053SJung-uk Kim
64b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
65e71b7053SJung-uk Kimthis file except in compliance with the License.  You can obtain a copy
66e71b7053SJung-uk Kimin the file LICENSE in the source distribution or at
67e71b7053SJung-uk KimL<https://www.openssl.org/source/license.html>.
68e71b7053SJung-uk Kim
69e71b7053SJung-uk Kim=cut
70e71b7053SJung-uk Kim
71