11#include <botan/parsing.h>
12#include <botan/internal/xor_buf.h>
24 const byte in[],
size_t length)
26 for(
size_t i = 0; i != BLOCK_SIZE - 1; ++i)
29 mac->update(in, length);
114void EAX_Encryption::write(
const byte input[],
size_t length)
118 size_t copied = std::min<size_t>(length,
ctr_buf.
size());
134 SecureVector<byte> data_mac =
cmac->
final();
virtual BlockCipher * clone() const =0
void update(const byte in[], size_t length)
virtual size_t output_length() const =0
CMAC(BlockCipher *cipher)
CTR_BE(BlockCipher *cipher)
SecureVector< byte > ctr_buf
SecureVector< byte > header_mac
MessageAuthenticationCode * cmac
EAX_Base(BlockCipher *cipher, size_t tag_size)
void set_header(const byte header[], size_t header_len)
SecureVector< byte > nonce_mac
void set_iv(const InitializationVector &iv)
void set_key(const SymmetricKey &key)
bool valid_keylength(size_t key_len) const
void send(const byte in[], size_t length)
const byte * begin() const
virtual void cipher(const byte in[], byte out[], size_t len)=0
virtual void set_iv(const byte iv[], size_t iv_len)
bool valid_keylength(size_t length) const
void set_key(const SymmetricKey &key)
std::string to_string(u64bit n, size_t min_len)
void xor_buf(byte out[], const byte in[], size_t length)
std::invalid_argument Invalid_Argument
OctetString InitializationVector