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).