Skip to content

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