8 #ifndef BOTAN_CBC_MAC_H__
9 #define BOTAN_CBC_MAC_H__
11 #include <botan/mac.h>
12 #include <botan/block_cipher.h>
22 std::string name()
const override;
24 size_t output_length()
const override {
return m_cipher->block_size(); }
25 void clear()
override;
29 return m_cipher->key_spec();
37 void add_data(
const uint8_t[],
size_t)
override;
38 void final_result(uint8_t[])
override;
39 void key_schedule(
const uint8_t[],
size_t)
override;
41 std::unique_ptr<BlockCipher> m_cipher;
43 size_t m_position = 0;
std::vector< T, secure_allocator< T >> secure_vector
Key_Length_Specification key_spec() const override
size_t output_length() const override