8#include <botan/x919_mac.h>
15void ANSI_X919_MAC::add_data(
const uint8_t input[],
size_t length)
19 size_t xored = std::min(8 - m_position, length);
20 xor_buf(&m_state[m_position], input, xored);
23 if(m_position < 8)
return;
25 m_des1->encrypt(m_state);
31 m_des1->encrypt(m_state);
36 xor_buf(m_state, input, length);
43void ANSI_X919_MAC::final_result(uint8_t mac[])
46 m_des1->encrypt(m_state);
47 m_des2->decrypt(m_state.data(), mac);
56void ANSI_X919_MAC::key_schedule(
const uint8_t key[],
size_t length)
60 m_des1->set_key(key, 8);
65 m_des2->set_key(key, 8);
94 m_des2(m_des1->clone()),
MessageAuthenticationCode * clone() const override
std::string name() const override
void verify_key_set(bool cond) const
void zeroise(std::vector< T, Alloc > &vec)
void zap(std::vector< T, Alloc > &vec)
void xor_buf(uint8_t out[], const uint8_t in[], size_t length)