1e71b7053SJung-uk Kim=pod 2e71b7053SJung-uk Kim 3e71b7053SJung-uk Kim=head1 NAME 4e71b7053SJung-uk Kim 5e71b7053SJung-uk KimEVP_sha224, 6e71b7053SJung-uk KimEVP_sha256, 7e71b7053SJung-uk KimEVP_sha512_224, 8e71b7053SJung-uk KimEVP_sha512_256, 9e71b7053SJung-uk KimEVP_sha384, 10e71b7053SJung-uk KimEVP_sha512 11e71b7053SJung-uk Kim- SHA-2 For EVP 12e71b7053SJung-uk Kim 13e71b7053SJung-uk Kim=head1 SYNOPSIS 14e71b7053SJung-uk Kim 15e71b7053SJung-uk Kim #include <openssl/evp.h> 16e71b7053SJung-uk Kim 17e71b7053SJung-uk Kim const EVP_MD *EVP_sha224(void); 18e71b7053SJung-uk Kim const EVP_MD *EVP_sha256(void); 19e71b7053SJung-uk Kim const EVP_MD *EVP_sha512_224(void); 20e71b7053SJung-uk Kim const EVP_MD *EVP_sha512_256(void); 21e71b7053SJung-uk Kim const EVP_MD *EVP_sha384(void); 22e71b7053SJung-uk Kim const EVP_MD *EVP_sha512(void); 23e71b7053SJung-uk Kim 24e71b7053SJung-uk Kim=head1 DESCRIPTION 25e71b7053SJung-uk Kim 26e71b7053SJung-uk KimSHA-2 (Secure Hash Algorithm 2) is a family of cryptographic hash functions 27e71b7053SJung-uk Kimstandardized in NIST FIPS 180-4, first published in 2001. 28e71b7053SJung-uk Kim 29e71b7053SJung-uk Kim=over 4 30e71b7053SJung-uk Kim 31e71b7053SJung-uk Kim=item EVP_sha224(), 32e71b7053SJung-uk KimEVP_sha256(), 33e71b7053SJung-uk KimEVP_sha512_224, 34e71b7053SJung-uk KimEVP_sha512_256, 35e71b7053SJung-uk KimEVP_sha384(), 36e71b7053SJung-uk KimEVP_sha512() 37e71b7053SJung-uk Kim 38e71b7053SJung-uk KimThe SHA-2 SHA-224, SHA-256, SHA-512/224, SHA512/256, SHA-384 and SHA-512 39e71b7053SJung-uk Kimalgorithms, which generate 224, 256, 224, 256, 384 and 512 bits 40e71b7053SJung-uk Kimrespectively of output from a given input. 41e71b7053SJung-uk Kim 42e71b7053SJung-uk KimThe two algorithms: SHA-512/224 and SHA512/256 are truncated forms of the 43e71b7053SJung-uk KimSHA-512 algorithm. They are distinct from SHA-224 and SHA-256 even though 44e71b7053SJung-uk Kimtheir outputs are of the same size. 45e71b7053SJung-uk Kim 46e71b7053SJung-uk Kim=back 47e71b7053SJung-uk Kim 48b077aed3SPierre Pronchery=head1 NOTES 49b077aed3SPierre Pronchery 50b077aed3SPierre ProncheryDevelopers should be aware of the negative performance implications of 51b077aed3SPierre Proncherycalling these functions multiple times and should consider using 52*ad991e4cSEd MasteL<EVP_MD_fetch(3)> with L<EVP_MD-SHA2(7)>instead. 53b077aed3SPierre ProncherySee L<crypto(7)/Performance> for further information. 54e71b7053SJung-uk Kim 55e71b7053SJung-uk Kim=head1 RETURN VALUES 56e71b7053SJung-uk Kim 57e71b7053SJung-uk KimThese functions return a B<EVP_MD> structure that contains the 58b077aed3SPierre Proncheryimplementation of the message digest. See L<EVP_MD_meth_new(3)> for 59e71b7053SJung-uk Kimdetails of the B<EVP_MD> structure. 60e71b7053SJung-uk Kim 61e71b7053SJung-uk Kim=head1 CONFORMING TO 62e71b7053SJung-uk Kim 63e71b7053SJung-uk KimNIST FIPS 180-4. 64e71b7053SJung-uk Kim 65e71b7053SJung-uk Kim=head1 SEE ALSO 66e71b7053SJung-uk Kim 67e71b7053SJung-uk KimL<evp(7)>, 68e71b7053SJung-uk KimL<EVP_DigestInit(3)> 69e71b7053SJung-uk Kim 70e71b7053SJung-uk Kim=head1 COPYRIGHT 71e71b7053SJung-uk Kim 72b077aed3SPierre ProncheryCopyright 2017-2023 The OpenSSL Project Authors. All Rights Reserved. 73e71b7053SJung-uk Kim 74b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License"). You may not use 75e71b7053SJung-uk Kimthis file except in compliance with the License. You can obtain a copy 76e71b7053SJung-uk Kimin the file LICENSE in the source distribution or at 77e71b7053SJung-uk KimL<https://www.openssl.org/source/license.html>. 78e71b7053SJung-uk Kim 79e71b7053SJung-uk Kim=cut 80e71b7053SJung-uk Kim 81