MD5MAC_Base Class Reference

Inheritance diagram for MD5MAC_Base:

FixedKeyLength< 16 > IteratedHash< T_HashWordType, T_Endianness, T_BlockSize, T_Base > IteratedHashBase< T_HashWordType, T_Base > SimpleKeyingInterfaceImpl< MD5MAC_Base, MD5MAC_Base > AlgorithmImpl< SimpleKeyingInterfaceImpl< MD5MAC_Base, MD5MAC_Base >, MD5MAC_Base > MessageAuthenticationCodeImpl< MD5MAC_Base > ClonableImpl< MessageAuthenticationCodeFinal< MD5MAC_Base >, MessageAuthenticationCodeImpl< MD5MAC_Base > > MessageAuthenticationCodeFinal< MD5MAC_Base > MD5MAC List of all members.

Detailed Description

Definition at line 12 of file md5mac.h.

Public Types

enum  { DIGESTSIZE = 16 }
enum  
enum  
enum  { BLOCKSIZE = T_BlockSize }
typedef T_Endianness ByteOrderClass
typedef T_HashWordType HashWordType

Public Member Functions

 MD5MAC_Base ()
void UncheckedSetKey (const byte *userKey, unsigned int keylength)
void TruncatedFinal (byte *mac, size_t size)
unsigned int DigestSize () const
ByteOrder GetByteOrder () const
unsigned int BlockSize () const
unsigned int OptimalBlockSize () const
unsigned int OptimalDataAlignment () const
void Update (const byte *input, size_t length)
byte * CreateUpdateSpace (size_t &size)
void Restart ()

Static Public Member Functions

static std::string StaticAlgorithmName ()
static size_t __cdecl StaticGetValidKeyLength (size_t)
static void CorrectEndianess (HashWordType *out, const HashWordType *in, size_t byteCount)

Static Public Attributes

static CompileAssert<((BLOCKSIZE
&(BLOCKSIZE-1))==0)> 
cryptopp_assert___LINE__

Protected Member Functions

void HashEndianCorrectedBlock (const word32 *data)
void Init ()
void SetBlockSize (unsigned int blockSize)
void SetStateSize (unsigned int stateSize)
T_HashWordType GetBitCountHi () const
T_HashWordType GetBitCountLo () const
void PadLastBlock (unsigned int lastBlockSize, byte padFirst=0x80)
virtual void HashEndianCorrectedBlock (const HashWordType *data)=0
virtual size_t HashMultipleBlocks (const T_HashWordType *input, size_t length)
void HashBlock (const HashWordType *input)

Static Protected Member Functions

static void Transform (word32 *buf, const word32 *in, const word32 *key)

Protected Attributes

FixedSizeSecBlock< word32, 12 > m_key
SecBlock< T_HashWordType > m_data
SecBlock< T_HashWordType > m_digest

Static Protected Attributes

static const word32 T [12]


The documentation for this class was generated from the following files:
Generated on Thu Nov 23 16:17:08 2006 for Crypto++ by  doxygen 1.5.1-p1