summaryrefslogtreecommitdiffstats
path: root/botan/src/mac/ssl3mac/ssl3_mac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'botan/src/mac/ssl3mac/ssl3_mac.cpp')
-rw-r--r--botan/src/mac/ssl3mac/ssl3_mac.cpp90
1 files changed, 0 insertions, 90 deletions
diff --git a/botan/src/mac/ssl3mac/ssl3_mac.cpp b/botan/src/mac/ssl3mac/ssl3_mac.cpp
deleted file mode 100644
index c29296c..0000000
--- a/botan/src/mac/ssl3mac/ssl3_mac.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-* SSL3-MAC
-* (C) 1999-2004 Jack Lloyd
-*
-* Distributed under the terms of the Botan license
-*/
-
-#include <botan/ssl3_mac.h>
-
-namespace Botan {
-
-/*
-* Update a SSL3-MAC Calculation
-*/
-void SSL3_MAC::add_data(const byte input[], u32bit length)
- {
- hash->update(input, length);
- }
-
-/*
-* Finalize a SSL3-MAC Calculation
-*/
-void SSL3_MAC::final_result(byte mac[])
- {
- hash->final(mac);
- hash->update(o_key);
- hash->update(mac, OUTPUT_LENGTH);
- hash->final(mac);
- hash->update(i_key);
- }
-
-/*
-* SSL3-MAC Key Schedule
-*/
-void SSL3_MAC::key_schedule(const byte key[], u32bit length)
- {
- hash->clear();
- std::fill(i_key.begin(), i_key.end(), 0x36);
- std::fill(o_key.begin(), o_key.end(), 0x5C);
-
- i_key.copy(key, length);
- o_key.copy(key, length);
- hash->update(i_key);
- }
-
-/*
-* Clear memory of sensitive data
-*/
-void SSL3_MAC::clear() throw()
- {
- hash->clear();
- i_key.clear();
- o_key.clear();
- }
-
-/*
-* Return the name of this type
-*/
-std::string SSL3_MAC::name() const
- {
- return "SSL3-MAC(" + hash->name() + ")";
- }
-
-/*
-* Return a clone of this object
-*/
-MessageAuthenticationCode* SSL3_MAC::clone() const
- {
- return new SSL3_MAC(hash->clone());
- }
-
-/*
-* SSL3-MAC Constructor
-*/
-SSL3_MAC::SSL3_MAC(HashFunction* hash_in) :
- MessageAuthenticationCode(hash_in->OUTPUT_LENGTH,
- hash_in->OUTPUT_LENGTH),
- hash(hash_in)
- {
- if(hash->HASH_BLOCK_SIZE == 0)
- throw Invalid_Argument("SSL3-MAC cannot be used with " + hash->name());
-
- u32bit INNER_HASH_LENGTH =
- (hash->name() == "SHA-160") ? 60 : hash->HASH_BLOCK_SIZE;
-
- i_key.create(INNER_HASH_LENGTH);
- o_key.create(INNER_HASH_LENGTH);
- }
-
-}