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