hash.h

SHA-256 (and perhaps eventually SHA-384) implementation.

Author

Anthony Cagliano

Author

Adam Beckingham

Defines

TLS_SHA256_DIGEST_LEN

Enums

enum _hash_algorithms

Values:

enumerator TLS_HASH_SHA256

Functions

bool tls_sha256_init(struct tls_sha256_context *ctx)

init, update, and digest functions for SHA-256.

void tls_sha256_update(struct tls_sha256_context *ctx, const uint8_t *data, size_t len)
void tls_sha256_digest(struct tls_sha256_context *ctx, uint8_t *digest)
bool tls_hash_context_init(struct tls_hash_context *ctx, uint8_t algorithm)
void tls_hash_update(struct tls_hash_context *ctx, const uint8_t *data, size_t len)
void tls_hash_digest(struct tls_hash_context *ctx, uint8_t *digest)
bool tls_mgf1(const uint8_t *data, size_t datalen, uint8_t *outbuf, size_t outlen, uint8_t hash_alg)
struct tls_sha256_context
#include <hash.h>

Public Members

uint8_t data[64]
uint8_t datalen
uint64_t bitlen
uint32_t state[8]
struct tls_hash_context
#include <hash.h>

Public Members

uint8_t digestlen
bool (*init)(void *ctx)
void (*update)(void *ctx, const uint8_t *data, size_t len)
void (*digest)(void *ctx, uint8_t *digest)
struct tls_sha256_context sha256
union tls_hash_context _private