8 #include <botan/ssl3_mac.h>
15 void SSL3_MAC::add_data(
const byte input[],
size_t length)
17 hash->
update(input, length);
23 void SSL3_MAC::final_result(
byte mac[])
35 void 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() +
")";
81 const size_t INNER_HASH_LENGTH =
84 i_key.
resize(INNER_HASH_LENGTH);
85 o_key.
resize(INNER_HASH_LENGTH);
size_t output_length() const
std::invalid_argument Invalid_Argument
MessageAuthenticationCode * clone() const
virtual HashFunction * clone() const =0
void copy(const T in[], size_t n)
MessageAuthenticationCode * mac
void update(const byte in[], size_t length)
virtual std::string name() const =0
virtual size_t hash_block_size() const
SSL3_MAC(HashFunction *hash)
void zeroise(MemoryRegion< T > &vec)