10#include <botan/internal/ascon_xof128.h>
12#include <botan/assert.h>
19constexpr Ascon_p initial_state_of_ascon_xof_permutation({
20 .init_and_final_rounds = 12,
21 .processing_rounds = 12,
38 return std::make_unique<Ascon_XOF128>(*
this);
42 return std::make_unique<Ascon_XOF128>();
45void Ascon_XOF128::add_data(std::span<const uint8_t> input) {
50void Ascon_XOF128::generate_bytes(std::span<uint8_t> output) {
51 if(!m_output_generated) {
52 m_output_generated =
true;
59void Ascon_XOF128::reset() {
60 m_ascon_p = initial_state_of_ascon_xof_permutation;
61 m_output_generated =
false;
#define BOTAN_STATE_CHECK(expr)
std::unique_ptr< XOF > copy_state() const override
std::unique_ptr< XOF > new_object() const override
void absorb(std::span< const uint8_t > input, std::optional< uint8_t > permutation_rounds=std::nullopt)