Public Member Functions | |
size_t | byte_rate () const |
size_t | get_hash (uint8_t hashvalue[HASHBITS/8]) |
void | reset () |
void | squeeze_digest (uint8_t *output, size_t n_out) |
void | update (const uint8_t *data, size_t length) |
Protected Member Functions | |
void | absorb_padding (size_t offset, uint8_t trail=0x01) |
SHAKE_Base (size_t rate) | |
size_t | xor_state (size_t offset, const uint8_t *input, size_t n_in) |
|
protected |
|
protected |
Add stream data up to block size into Keccak state via XOR.
|
protected |
Pad stream from offset to block boundary into Keccak state via XOR. The trail argument must contain the termination bit, optionally preceeded by additional (LSB) bits for domain separation. A permutation is carried out if the trailing padding bits do not fit into the remaining block length.
size_t byte_rate | ( | ) | const |
void reset | ( | ) |
void update | ( | const uint8_t * | data, |
size_t | length | ||
) |
size_t get_hash | ( | uint8_t | hashvalue[HASHBITS/8] | ) |
Switch from absorbing into squeezing mode and return digest.
void squeeze_digest | ( | uint8_t * | output, |
size_t | n_out | ||
) |
Read out the current Keccak state and permute as needed.