GNU libmicrohttpd 1.0.0
|
Calculation of SHA-256 digest as defined in FIPS PUB 180-4 (2015) More...
Go to the source code of this file.
Macros | |
#define | Ch(x, y, z) ( (z) ^ ((x) & ((y) ^ (z))) ) |
#define | Maj(x, y, z) ( ((x) & (y)) ^ ((z) & ((x) ^ (y))) ) |
#define | SIG0(x) |
#define | SIG1(x) |
#define | sig0(x) |
#define | sig1(x) |
#define | SHA2STEP32(vA, vB, vC, vD, vE, vF, vG, vH, kt, wt) |
#define | GET_W_FROM_DATA(buf, t) |
#define | Wgen(w, t) |
#define | SHA256_SIZE_OF_LEN_ADD (64 / 8) |
Functions | |
void | MHD_SHA256_init (struct Sha256Ctx *ctx) |
static MHD_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE_ void | sha256_transform (uint32_t H[SHA256_DIGEST_SIZE_WORDS], const void *data) |
void | MHD_SHA256_update (struct Sha256Ctx *ctx, const uint8_t *data, size_t length) |
void | MHD_SHA256_finish (struct Sha256Ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE]) |
Calculation of SHA-256 digest as defined in FIPS PUB 180-4 (2015)
Definition in file sha256.c.
#define SHA256_SIZE_OF_LEN_ADD (64 / 8) |
Size of "length" padding addition in bytes. See FIPS PUB 180-4 paragraph 5.1.1.
Definition at line 464 of file sha256.c.
Referenced by MHD_SHA256_finish().
Finalise SHA256 calculation, return digest.
ctx_ | must be a struct Sha256Ctx * | |
[out] | digest | set to the hash, must be SHA256_DIGEST_SIZE bytes |
< Number of processed bits
< Number of bytes in buffer
Definition at line 473 of file sha256.c.
References _MHD_PUT_32BIT_BE, _MHD_PUT_64BIT_BE_SAFE(), _MHD_UINT32_ALIGN, Sha256Ctx::buffer, Sha256Ctx::count, Sha256Ctx::H, MHD_HTTP_OK, SHA256_BLOCK_SIZE, SHA256_BLOCK_SIZE_WORDS, SHA256_BYTES_IN_WORD, SHA256_DIGEST_SIZE, SHA256_DIGEST_SIZE_WORDS, SHA256_SIZE_OF_LEN_ADD, and sha256_transform().
Referenced by digest_calc_hash().
Initialise structure for SHA256 calculation.
ctx | must be a struct Sha256Ctx * |
Definition at line 41 of file sha256.c.
References Sha256Ctx::count, Sha256Ctx::H, and MHD_HTTP_OK.
Process portion of bytes.
ctx_ | must be a struct Sha256Ctx * |
data | bytes to add to hash |
length | number of bytes in data |
< Number of bytes in buffer
Definition at line 410 of file sha256.c.
References Sha256Ctx::buffer, Sha256Ctx::count, data, Sha256Ctx::H, mhd_assert, MHD_HTTP_OK, NULL, SHA256_BLOCK_SIZE, and sha256_transform().
Referenced by digest_update().
|
static |
Base of SHA-256 transformation. Gets full 64 bytes block of data and updates hash values;
H | hash values |
data | data, must be exactly 64 bytes long |
Definition at line 70 of file sha256.c.
References _MHD_UINT32_ALIGN, data, GET_W_FROM_DATA, MHD_HTTP_OK, SHA256_BLOCK_SIZE, SHA2STEP32, and Wgen.
Referenced by MHD_SHA256_finish(), and MHD_SHA256_update().