Class Ase::SHAKE_Base
template <size_t HASHBITS, uint8_t DOMAINBITS>
ClassList > Ase > SHAKE_Base
Inherited by the following classes: Ase::SHA3_224::State, Ase::SHA3_256::State, Ase::SHA3_384::State, Ase::SHA3_512::State, Ase::SHAKE128::State, Ase::SHAKE256::State
Public Functions
Type | Name |
---|---|
size_t | byte_rate () const |
size_t | get_hash (uint8_t hashvalue) Switch from absorbing into squeezing mode and return digest. |
void | reset () |
void | squeeze_digest (uint8_t * output, size_t n_out) Read out the current Keccak state and permute as needed. |
void | update (const uint8_t * data, size_t length) |
Protected Functions
Type | Name |
---|---|
SHAKE_Base (size_t rate) |
|
void | absorb_padding (size_t offset, uint8_t trail=0x01) |
size_t | xor_state (size_t offset, const uint8_t * input, size_t n_in) Add stream data up to block size into Keccak state via XOR. |
Public Functions Documentation
function byte_rate
inline size_t Ase::SHAKE_Base::byte_rate () const
function get_hash
inline size_t Ase::SHAKE_Base::get_hash (
uint8_t hashvalue
)
function reset
inline void Ase::SHAKE_Base::reset ()
function squeeze_digest
inline void Ase::SHAKE_Base::squeeze_digest (
uint8_t * output,
size_t n_out
)
function update
inline void Ase::SHAKE_Base::update (
const uint8_t * data,
size_t length
)
Protected Functions Documentation
function SHAKE_Base
inline Ase::SHAKE_Base::SHAKE_Base (
size_t rate
)
function absorb_padding
inline void Ase::SHAKE_Base::absorb_padding (
size_t offset,
uint8_t trail=0x01
)
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.
function xor_state
inline size_t Ase::SHAKE_Base::xor_state (
size_t offset,
const uint8_t * input,
size_t n_in
)
The documentation for this class was generated from the following file /__w/anklang/anklang/ase/randomhash.cc