11 #include <botan/mac.h>
12 #include <botan/block_cipher.h>
22 std::string name()
const override;
23 size_t output_length()
const override {
return m_cipher->block_size(); }
26 void clear()
override;
30 return m_cipher->key_spec();
45 CMAC& operator=(
const CMAC&) =
delete;
47 void add_data(
const uint8_t[],
size_t)
override;
48 void final_result(uint8_t[])
override;
49 void key_schedule(
const uint8_t[],
size_t)
override;
51 std::unique_ptr<BlockCipher> m_cipher;
size_t output_length() const override
std::vector< T, secure_allocator< T >> secure_vector
Key_Length_Specification key_spec() const override