21 KMAC(std::unique_ptr<cSHAKE_XOF> cshake,
size_t output_bit_length);
37 void start_msg(std::span<const uint8_t> nonce)
final;
38 void add_data(std::span<const uint8_t>)
final;
39 void final_result(std::span<uint8_t>)
final;
40 void key_schedule(std::span<const uint8_t>)
final;
43 size_t m_output_bit_length;
45 bool m_message_started;
55 KMAC128(
size_t output_bit_length);
56 std::string
name()
const override;
57 std::unique_ptr<MessageAuthenticationCode>
new_object()
const override;
65 KMAC256(
size_t output_bit_length);
66 std::string
name()
const override;
67 std::unique_ptr<MessageAuthenticationCode> new_object()
const override;
KMAC(std::unique_ptr< cSHAKE_XOF > cshake, size_t output_bit_length)
KMAC & operator=(const KMAC &)=delete
bool has_keying_material() const final
size_t output_length() const final
Key_Length_Specification key_spec() const final
std::string provider() const final
KMAC(const KMAC &)=delete
virtual std::unique_ptr< MessageAuthenticationCode > new_object() const =0
virtual std::string name() const =0
std::vector< T, secure_allocator< T > > secure_vector