11#include <botan/block_cipher.h>
21 std::string
name()
const override;
25 std::unique_ptr<MessageAuthenticationCode>
new_object()
const override;
27 void clear()
override;
35 explicit CMAC(std::unique_ptr<BlockCipher> cipher);
41 void add_data(std::span<const uint8_t>)
override;
42 void final_result(std::span<uint8_t>)
override;
43 void key_schedule(std::span<const uint8_t>)
override;
45 std::unique_ptr<BlockCipher> m_cipher;
47 const size_t m_block_size;
size_t output_length() const override
CMAC(std::unique_ptr< BlockCipher > cipher)
std::unique_ptr< MessageAuthenticationCode > new_object() const override
bool has_keying_material() const override
std::string name() const override
CMAC(const CMAC &)=delete
Key_Length_Specification key_spec() const override
CMAC & operator=(const CMAC &)=delete
int(* final)(unsigned char *, CTX *)
std::vector< T, secure_allocator< T > > secure_vector