154359Sroberto=pod
2285612Sdelphij
3285612Sdelphij=head1 NAME
4285612Sdelphij
5285612SdelphijEVP_sha224,
6285612SdelphijEVP_sha256,
7285612SdelphijEVP_sha512_224,
8285612SdelphijEVP_sha512_256,
954359SrobertoEVP_sha384,
1054359SrobertoEVP_sha512
11285612Sdelphij- SHA-2 For EVP
12285612Sdelphij
1354359Sroberto=head1 SYNOPSIS
14182007Sroberto
15285612Sdelphij #include <openssl/evp.h>
1654359Sroberto
1754359Sroberto const EVP_MD *EVP_sha224(void);
1854359Sroberto const EVP_MD *EVP_sha256(void);
19285612Sdelphij const EVP_MD *EVP_sha512_224(void);
2054359Sroberto const EVP_MD *EVP_sha512_256(void);
2154359Sroberto const EVP_MD *EVP_sha384(void);
22285612Sdelphij const EVP_MD *EVP_sha512(void);
23285612Sdelphij
24285612Sdelphij=head1 DESCRIPTION
25285612Sdelphij
2654359SrobertoSHA-2 (Secure Hash Algorithm 2) is a family of cryptographic hash functions
27285612Sdelphijstandardized in NIST FIPS 180-4, first published in 2001.
28285612Sdelphij
29285612Sdelphij=over 4
30285612Sdelphij
31285612Sdelphij=item EVP_sha224(),
32285612SdelphijEVP_sha256(),
33285612SdelphijEVP_sha512_224,
34285612SdelphijEVP_sha512_256,
35285612SdelphijEVP_sha384(),
36285612SdelphijEVP_sha512()
37285612Sdelphij
38285612SdelphijThe SHA-2 SHA-224, SHA-256, SHA-512/224, SHA512/256, SHA-384 and SHA-512
39285612Sdelphijalgorithms, which generate 224, 256, 224, 256, 384 and 512 bits
40285612Sdelphijrespectively of output from a given input.
41285612Sdelphij
42285612SdelphijThe two algorithms: SHA-512/224 and SHA512/256 are truncated forms of the
43285612SdelphijSHA-512 algorithm. They are distinct from SHA-224 and SHA-256 even though
44285612Sdelphijtheir outputs are of the same size.
45285612Sdelphij
46285612Sdelphij=back
47285612Sdelphij
48285612Sdelphij=head1 NOTES
4954359Sroberto
50285612SdelphijDevelopers should be aware of the negative performance implications of
51285612Sdelphijcalling these functions multiple times and should consider using
52285612SdelphijL<EVP_MD_fetch(3)> with L<EVP_MD-SHA2(7)>instead.
53285612SdelphijSee L<crypto(7)/Performance> for further information.
54285612Sdelphij
55285612Sdelphij=head1 RETURN VALUES
5654359Sroberto
57285612SdelphijThese functions return a B<EVP_MD> structure that contains the
58285612Sdelphijimplementation of the message digest. See L<EVP_MD_meth_new(3)> for
59285612Sdelphijdetails of the B<EVP_MD> structure.
6054359Sroberto
61285612Sdelphij=head1 CONFORMING TO
62285612Sdelphij
63285612SdelphijNIST FIPS 180-4.
64285612Sdelphij
65285612Sdelphij=head1 SEE ALSO
66285612Sdelphij
67285612SdelphijL<evp(7)>,
68285612SdelphijL<EVP_DigestInit(3)>
69285612Sdelphij
70285612Sdelphij=head1 COPYRIGHT
71285612Sdelphij
7254359SrobertoCopyright 2017-2023 The OpenSSL Project Authors. All Rights Reserved.
7354359Sroberto
7454359SrobertoLicensed under the Apache License 2.0 (the "License").  You may not use
7554359Srobertothis file except in compliance with the License.  You can obtain a copy
7654359Srobertoin the file LICENSE in the source distribution or at
7754359SrobertoL<https://www.openssl.org/source/license.html>.
7854359Sroberto
7954359Sroberto=cut
8054359Sroberto
81285612Sdelphij