8#include <botan/ssl3_mac.h>
15void SSL3_MAC::add_data(
const byte input[],
size_t length)
17 hash->update(input, length);
23void SSL3_MAC::final_result(
byte mac[])
35void SSL3_MAC::key_schedule(
const byte key[],
size_t length)
38 std::fill(i_key.begin(), i_key.end(), 0x36);
39 std::fill(o_key.begin(), o_key.end(), 0x5C);
41 i_key.copy(key, length);
42 o_key.copy(key, length);
61 return "SSL3-MAC(" + hash->name() +
")";
77 if(hash->hash_block_size() == 0)
81 const size_t INNER_HASH_LENGTH =
82 (hash->name() ==
"SHA-160") ? 60 : hash->hash_block_size();
84 i_key.resize(INNER_HASH_LENGTH);
85 o_key.resize(INNER_HASH_LENGTH);
SSL3_MAC(HashFunction *hash)
size_t output_length() const
MessageAuthenticationCode * clone() const
void zeroise(MemoryRegion< T > &vec)
std::invalid_argument Invalid_Argument