diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/base.cpp | 13 | ||||
-rw-r--r-- | src/core/base.h | 35 | ||||
-rw-r--r-- | src/core/info.txt | 1 | ||||
-rw-r--r-- | src/core/mac.h | 56 |
4 files changed, 58 insertions, 47 deletions
diff --git a/src/core/base.cpp b/src/core/base.cpp index 0682affe9..ff7fa5d4e 100644 --- a/src/core/base.cpp +++ b/src/core/base.cpp @@ -4,6 +4,7 @@ *************************************************/ #include <botan/base.h> +#include <botan/mac.h> #include <botan/version.h> namespace Botan { @@ -76,18 +77,6 @@ BufferedComputation::BufferedComputation(u32bit olen) : OUTPUT_LENGTH(olen) } /************************************************* -* MessageAuthenticationCode Constructor * -*************************************************/ -MessageAuthenticationCode::MessageAuthenticationCode(u32bit mlen, - u32bit key_min, - u32bit key_max, - u32bit key_mod) : - BufferedComputation(mlen), - SymmetricAlgorithm(key_min, key_max, key_mod) - { - } - -/************************************************* * Default MAC verification operation * *************************************************/ bool MessageAuthenticationCode::verify_mac(const byte mac[], u32bit length) diff --git a/src/core/base.h b/src/core/base.h index b7b50c402..64186f903 100644 --- a/src/core/base.h +++ b/src/core/base.h @@ -298,41 +298,6 @@ class BOTAN_DLL BufferedComputation virtual void final_result(byte[]) = 0; }; -/** -* This class represents Message Authentication Code (MAC) objects. -*/ -class BOTAN_DLL MessageAuthenticationCode : public BufferedComputation, - public SymmetricAlgorithm - { - public: - /** - * Verify a MAC. - * @param in the MAC to verify as a byte array - * @param length the length of the byte array - * @return true if the MAC is valid, false otherwise - */ - virtual bool verify_mac(const byte[], u32bit); - - /** - * Get a new object representing the same algorithm as *this - */ - virtual MessageAuthenticationCode* clone() const = 0; - - /** - * Get the name of this algorithm. - * @return the name of this algorithm - */ - virtual std::string name() const = 0; - - /** - * Reset the internal state of this object. - */ - virtual void clear() throw() = 0; - - MessageAuthenticationCode(u32bit, u32bit, u32bit = 0, u32bit = 1); - virtual ~MessageAuthenticationCode() {} - }; - } #endif diff --git a/src/core/info.txt b/src/core/info.txt index 34705048b..45c8f7b9e 100644 --- a/src/core/info.txt +++ b/src/core/info.txt @@ -26,6 +26,7 @@ enums.h exceptn.cpp exceptn.h hash.h +mac.h mem_pool.cpp mem_pool.h mutex.h diff --git a/src/core/mac.h b/src/core/mac.h new file mode 100644 index 000000000..e7bdada14 --- /dev/null +++ b/src/core/mac.h @@ -0,0 +1,56 @@ +/** +* Base class for message authentiction codes +* (C) 1999-2007 Jack Lloyd +*/ + +#ifndef BOTAN_MESSAGE_AUTH_CODE_BASE_H__ +#define BOTAN_MESSAGE_AUTH_CODE_BASE_H__ + +#include <botan/base.h> + +namespace Botan { + +/** +* This class represents Message Authentication Code (MAC) objects. +*/ +class BOTAN_DLL MessageAuthenticationCode : public BufferedComputation, + public SymmetricAlgorithm + { + public: + /** + * Verify a MAC. + * @param in the MAC to verify as a byte array + * @param length the length of the byte array + * @return true if the MAC is valid, false otherwise + */ + virtual bool verify_mac(const byte[], u32bit); + + /** + * Get a new object representing the same algorithm as *this + */ + virtual MessageAuthenticationCode* clone() const = 0; + + /** + * Get the name of this algorithm. + * @return the name of this algorithm + */ + virtual std::string name() const = 0; + + /** + * Reset the internal state of this object. + */ + virtual void clear() throw() = 0; + + MessageAuthenticationCode(u32bit mac_len, + u32bit key_min, + u32bit key_max = 0, + u32bit key_mod = 1) : + BufferedComputation(mac_len), + SymmetricAlgorithm(key_min, key_max, key_mod) {} + + virtual ~MessageAuthenticationCode() {} + }; + +} + +#endif |