diff options
Diffstat (limited to 'src/lib/libcrypto/sha/sha256.c')
-rw-r--r-- | src/lib/libcrypto/sha/sha256.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/lib/libcrypto/sha/sha256.c b/src/lib/libcrypto/sha/sha256.c index 86c7f6c61a..906628f29b 100644 --- a/src/lib/libcrypto/sha/sha256.c +++ b/src/lib/libcrypto/sha/sha256.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sha256.c,v 1.12 2023/03/26 16:40:07 jsing Exp $ */ | 1 | /* $OpenBSD: sha256.c,v 1.13 2023/03/26 17:06:14 jsing Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 2004 The OpenSSL Project. All rights reserved | 3 | * Copyright (c) 2004 The OpenSSL Project. All rights reserved |
4 | * according to the OpenSSL license [found in ../../LICENSE]. | 4 | * according to the OpenSSL license [found in ../../LICENSE]. |
@@ -21,6 +21,7 @@ int | |||
21 | SHA224_Init(SHA256_CTX *c) | 21 | SHA224_Init(SHA256_CTX *c) |
22 | { | 22 | { |
23 | memset (c, 0, sizeof(*c)); | 23 | memset (c, 0, sizeof(*c)); |
24 | |||
24 | c->h[0] = 0xc1059ed8UL; | 25 | c->h[0] = 0xc1059ed8UL; |
25 | c->h[1] = 0x367cd507UL; | 26 | c->h[1] = 0x367cd507UL; |
26 | c->h[2] = 0x3070dd17UL; | 27 | c->h[2] = 0x3070dd17UL; |
@@ -29,7 +30,9 @@ SHA224_Init(SHA256_CTX *c) | |||
29 | c->h[5] = 0x68581511UL; | 30 | c->h[5] = 0x68581511UL; |
30 | c->h[6] = 0x64f98fa7UL; | 31 | c->h[6] = 0x64f98fa7UL; |
31 | c->h[7] = 0xbefa4fa4UL; | 32 | c->h[7] = 0xbefa4fa4UL; |
33 | |||
32 | c->md_len = SHA224_DIGEST_LENGTH; | 34 | c->md_len = SHA224_DIGEST_LENGTH; |
35 | |||
33 | return 1; | 36 | return 1; |
34 | } | 37 | } |
35 | 38 | ||
@@ -37,6 +40,7 @@ int | |||
37 | SHA256_Init(SHA256_CTX *c) | 40 | SHA256_Init(SHA256_CTX *c) |
38 | { | 41 | { |
39 | memset (c, 0, sizeof(*c)); | 42 | memset (c, 0, sizeof(*c)); |
43 | |||
40 | c->h[0] = 0x6a09e667UL; | 44 | c->h[0] = 0x6a09e667UL; |
41 | c->h[1] = 0xbb67ae85UL; | 45 | c->h[1] = 0xbb67ae85UL; |
42 | c->h[2] = 0x3c6ef372UL; | 46 | c->h[2] = 0x3c6ef372UL; |
@@ -45,7 +49,9 @@ SHA256_Init(SHA256_CTX *c) | |||
45 | c->h[5] = 0x9b05688cUL; | 49 | c->h[5] = 0x9b05688cUL; |
46 | c->h[6] = 0x1f83d9abUL; | 50 | c->h[6] = 0x1f83d9abUL; |
47 | c->h[7] = 0x5be0cd19UL; | 51 | c->h[7] = 0x5be0cd19UL; |
52 | |||
48 | c->md_len = SHA256_DIGEST_LENGTH; | 53 | c->md_len = SHA256_DIGEST_LENGTH; |
54 | |||
49 | return 1; | 55 | return 1; |
50 | } | 56 | } |
51 | 57 | ||
@@ -57,10 +63,13 @@ SHA224(const unsigned char *d, size_t n, unsigned char *md) | |||
57 | 63 | ||
58 | if (md == NULL) | 64 | if (md == NULL) |
59 | md = m; | 65 | md = m; |
66 | |||
60 | SHA224_Init(&c); | 67 | SHA224_Init(&c); |
61 | SHA256_Update(&c, d, n); | 68 | SHA256_Update(&c, d, n); |
62 | SHA256_Final(md, &c); | 69 | SHA256_Final(md, &c); |
70 | |||
63 | explicit_bzero(&c, sizeof(c)); | 71 | explicit_bzero(&c, sizeof(c)); |
72 | |||
64 | return (md); | 73 | return (md); |
65 | } | 74 | } |
66 | 75 | ||
@@ -72,10 +81,13 @@ SHA256(const unsigned char *d, size_t n, unsigned char *md) | |||
72 | 81 | ||
73 | if (md == NULL) | 82 | if (md == NULL) |
74 | md = m; | 83 | md = m; |
84 | |||
75 | SHA256_Init(&c); | 85 | SHA256_Init(&c); |
76 | SHA256_Update(&c, d, n); | 86 | SHA256_Update(&c, d, n); |
77 | SHA256_Final(md, &c); | 87 | SHA256_Final(md, &c); |
88 | |||
78 | explicit_bzero(&c, sizeof(c)); | 89 | explicit_bzero(&c, sizeof(c)); |
90 | |||
79 | return (md); | 91 | return (md); |
80 | } | 92 | } |
81 | 93 | ||
@@ -130,9 +142,9 @@ SHA224_Final(unsigned char *md, SHA256_CTX *c) | |||
130 | #define HASH_FINAL SHA256_Final | 142 | #define HASH_FINAL SHA256_Final |
131 | #define HASH_BLOCK_DATA_ORDER sha256_block_data_order | 143 | #define HASH_BLOCK_DATA_ORDER sha256_block_data_order |
132 | #ifndef SHA256_ASM | 144 | #ifndef SHA256_ASM |
133 | static | 145 | static |
134 | #endif | 146 | #endif |
135 | void sha256_block_data_order (SHA256_CTX *ctx, const void *in, size_t num); | 147 | void sha256_block_data_order (SHA256_CTX *ctx, const void *in, size_t num); |
136 | 148 | ||
137 | #include "md32_common.h" | 149 | #include "md32_common.h" |
138 | 150 | ||
@@ -232,7 +244,6 @@ sha256_block_data_order(SHA256_CTX *ctx, const void *in, size_t num) | |||
232 | ctx->h[5] += f; | 244 | ctx->h[5] += f; |
233 | ctx->h[6] += g; | 245 | ctx->h[6] += g; |
234 | ctx->h[7] += h; | 246 | ctx->h[7] += h; |
235 | |||
236 | } | 247 | } |
237 | } | 248 | } |
238 | 249 | ||