10#ifndef BOTAN_KECCAK_PERM_H_
11#define BOTAN_KECCAK_PERM_H_
13#include <botan/internal/sponge.h>
81 void absorb(std::span<const uint8_t> input);
90 void squeeze(std::span<uint8_t> output);
103#if defined(BOTAN_HAS_KECCAK_PERM_BMI2)
108 KeccakPadding m_padding;
void squeeze(std::span< uint8_t > output)
Expand output data from the current Keccak state.
std::string provider() const
constexpr Keccak_Permutation(Config config)
Instantiate a Keccak permutation.
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.
static constexpr size_t state_bits()
constexpr Sponge(Config config)
static constexpr KeccakPadding sha3()
The number of relevant bits in 'padding'.
static constexpr KeccakPadding shake()
NIST FIPS 202 Section 6.2.
static constexpr KeccakPadding cshake()
NIST SP.800-185 Section 3.3.
uint8_t bit_len
The padding bits in little-endian order.
static constexpr KeccakPadding keccak1600()
Keccak submission, prior to the introduction of an algorithm specific padding.