10#include <botan/internal/shake_xof.h>
12#include <botan/assert.h>
17 m_keccak({.capacity_bits = capacity, .padding =
KeccakPadding::shake()}), m_output_generated(
false) {
21void SHAKE_XOF::reset() {
23 m_output_generated =
false;
26void SHAKE_XOF::add_data(std::span<const uint8_t> input) {
31void SHAKE_XOF::generate_bytes(std::span<uint8_t> output) {
32 if(!m_output_generated) {
33 m_output_generated =
true;
#define BOTAN_ASSERT_NOMSG(expr)
#define BOTAN_STATE_CHECK(expr)
void squeeze(std::span< uint8_t > output)
Expand output data from the current Keccak state.
void absorb(std::span< const uint8_t > input)
Absorb input data into the Keccak sponge.
void finish()
Add final padding (as provided in the constructor) and permute.
SHAKE_XOF(size_t capacity)
std::array< uint8_t, count > output()
static constexpr KeccakPadding shake()
NIST FIPS 202 Section 6.2.