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