1#ifndef TLS_TRANSCRIPT_H
2#define TLS_TRANSCRIPT_H
5#include "crypto/symmetric/hash/hash/sha384.h"
#define SHA256_DIGEST
digest length in bytes
Definition sha256.h:11
Streaming SHA-256 state.
Definition sha256.h:18
Incremental SHA-512 state: running hash, total bytes absorbed, and the partial-block buffer.
Definition sha512.h:13
Cumulative Transcript-Hash state.
Definition transcript.h:11
sha256_ctx h
running SHA-256 over the handshake messages
Definition transcript.h:12
sha512_ctx h384
running SHA-384 over the same messages (the suite is not known until the ClientHello is parsed)
Definition transcript.h:13
void transcript_hash_suite(const transcript *t, u16 suite, u8 *out)
Running hash under suite's hash (SHA-384 for TLS_AES_256_GCM_SHA384, else SHA-256); t is left unchang...
void transcript_add(transcript *t, const u8 *msg, usz len)
Fold a handshake message into the transcript.
void transcript_hash(const transcript *t, u8 out[SHA256_DIGEST])
Running hash at the current point; t is left unchanged.
void transcript_init(transcript *t)
Start an empty transcript.
u64 usz
unsigned size (size_t equivalent)
Definition types.h:20
unsigned short u16
unsigned 16-bit integer
Definition types.h:17
unsigned char u8
unsigned 8-bit integer / byte
Definition types.h:18