8 #ifndef BOTAN_CBC_MAC_H_ 9 #define BOTAN_CBC_MAC_H_ 11 #include <botan/mac.h> 12 #include <botan/block_cipher.h> 24 std::string
name()
const override;
26 size_t output_length()
const override {
return m_cipher->block_size(); }
27 void clear()
override;
31 return m_cipher->key_spec();
39 void add_data(
const uint8_t[],
size_t)
override;
40 void final_result(uint8_t[])
override;
41 void key_schedule(
const uint8_t[],
size_t)
override;
43 std::unique_ptr<BlockCipher> m_cipher;
45 size_t m_position = 0;
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
virtual std::string name() const =0
Key_Length_Specification key_spec() const override
virtual MessageAuthenticationCode * clone() const =0
std::vector< T, secure_allocator< T > > secure_vector
size_t output_length() const override
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr)