version 1.1, 2013/07/22 00:51:38
|
version 1.1.1.2, 2013/10/14 07:56:35
|
Line 58
|
Line 58
|
# include "compat/endian.h" |
# include "compat/endian.h" |
#endif |
#endif |
|
|
|
#include "missing.h" |
#include "sha2.h" |
#include "sha2.h" |
|
|
/* |
/* |
Line 117
|
Line 118
|
#define g(i) T[(6-i)&7] |
#define g(i) T[(6-i)&7] |
#define h(i) T[(7-i)&7] |
#define h(i) T[(7-i)&7] |
|
|
extern void zero_bytes(volatile void *, size_t); |
|
|
|
void |
void |
SHA224Init(SHA2_CTX *ctx) |
SHA224Init(SHA2_CTX *ctx) |
{ |
{ |
Line 249 SHA256Transform(uint32_t state[8], const uint8_t data[
|
Line 248 SHA256Transform(uint32_t state[8], const uint8_t data[
|
state[6] += g(0); |
state[6] += g(0); |
state[7] += h(0); |
state[7] += h(0); |
/* Cleanup */ |
/* Cleanup */ |
zero_bytes(T, sizeof(T)); | memset_s(T, sizeof(T), 0, sizeof(T)); |
zero_bytes(W, sizeof(W)); | memset_s(W, sizeof(W), 0, sizeof(W)); |
} |
} |
|
|
#undef S0 |
#undef S0 |
Line 466 SHA512Transform(uint64_t state[8], const uint8_t data[
|
Line 465 SHA512Transform(uint64_t state[8], const uint8_t data[
|
state[6] += g(0); |
state[6] += g(0); |
state[7] += h(0); |
state[7] += h(0); |
/* Cleanup. */ |
/* Cleanup. */ |
zero_bytes(T, sizeof(T)); | memset_s(T, sizeof(T), 0, sizeof(T)); |
zero_bytes(W, sizeof(W)); | memset_s(W, sizeof(W), 0, sizeof(W)); |
} |
} |
|
|
void |
void |