1 /*
2  * An implementation of the SHA-256 hash function.
3  *
4  * The Federal Information Processing Standards (FIPS) Specification
5  * can be found here (FIPS 180-3):
6  *   http://csrc.nist.gov/publications/PubsFIPS.html
7  *
8  * Written in 2010 by Lorenz Quack <don@amberfisharts.com>
9  *
10  * ===================================================================
11  * The contents of this file are dedicated to the public domain.  To
12  * the extent that dedication to the public domain is not available,
13  * everyone is granted a worldwide, perpetual, royalty-free,
14  * non-exclusive license to exercise all rights associated with the
15  * contents of this file for any purpose whatsoever.
16  * No rights are reserved.
17  *
18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
22  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
23  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25  * SOFTWARE.
26  * ===================================================================
27  *
28  */
29 
30 #define MODULE_NAME SHA256
31 #define DIGEST_SIZE (256/8)
32 #define WORD_SIZE 4
33 
34 #include "common.h"
35 
36 /* Initial Values H */
37 static const uint32_t H[8] = {
38     0x6a09e667,
39     0xbb67ae85,
40     0x3c6ef372,
41     0xa54ff53a,
42     0x510e527f,
43     0x9b05688c,
44     0x1f83d9ab,
45     0x5be0cd19
46 };
47 
48 #include "hash_SHA2_template.c"
49