9#ifndef BOTAN_BLAKE2MAC_H_
10#define BOTAN_BLAKE2MAC_H_
13#include <botan/internal/blake2b.h>
27 std::string
name()
const override {
return m_blake.
name(); }
31 std::unique_ptr<MessageAuthenticationCode>
new_object()
const override;
33 void clear()
override;
40 void key_schedule(std::span<const uint8_t> key)
override { m_blake.
set_key(key); }
42 void add_data(std::span<const uint8_t> input)
override {
47 void final_result(std::span<uint8_t> out)
override {
BLAKE2bMAC & operator=(const BLAKE2bMAC &)=delete
std::unique_ptr< MessageAuthenticationCode > new_object() const override
size_t output_length() const override
bool has_keying_material() const override
std::string name() const override
BLAKE2bMAC(const BLAKE2bMAC &)=delete
BLAKE2bMAC(size_t output_bits=512)
Key_Length_Specification key_spec() const override
Key_Length_Specification key_spec() const override
size_t output_length() const override
std::string name() const override
bool has_keying_material() const override
void update(const uint8_t in[], size_t length)
void final(uint8_t out[])
void set_key(const SymmetricKey &key)
void assert_key_material_set() const
int(* final)(unsigned char *, CTX *)