23 #ifndef CRYPTO_SHAKE_h 
   24 #define CRYPTO_SHAKE_h 
   27 #include "KeccakCore.h" 
   37     void update(
const void *data, 
size_t len);
 
   39     void extend(uint8_t *data, 
size_t len);
 
   40     void encrypt(uint8_t *output, 
const uint8_t *input, 
size_t len);
 
   45     SHAKE(
size_t capacity);
 
Keccak core sponge function.
SHAKE Extendable-Output Function (XOF) with 128-bit security.
virtual ~SHAKE128()
Destroys this SHAKE128 object after clearing all sensitive information.
SHAKE128()
Constructs a SHAKE object with 128-bit security.
SHAKE Extendable-Output Function (XOF) with 256-bit security.
virtual ~SHAKE256()
Destroys this SHAKE256 object after clearing all sensitive information.
SHAKE256()
Constructs a SHAKE object with 256-bit security.
Abstract base class for the SHAKE Extendable-Output Functions (XOFs).
size_t blockSize() const
Size of the internal block used by the XOF algorithm, in bytes.
virtual ~SHAKE()
Destroys this SHAKE object after clearing all sensitive information.
void encrypt(uint8_t *output, const uint8_t *input, size_t len)
Encrypts an input buffer with extendable output from this XOF.
SHAKE(size_t capacity)
Constructs a SHAKE object.
void update(const void *data, size_t len)
Updates the XOF with more data.
void clear()
Clears the hash state, removing all sensitive data, and then resets the XOF ready for a new session.
void extend(uint8_t *data, size_t len)
Generates extendable output from this XOF.
void reset()
Resets the XOF ready for a new session.
Abstract base class for Extendable-Output Functions (XOFs).