XMACC_Base< T > Class Template Reference

Inheritance diagram for XMACC_Base< T >:

FixedKeyLength< DigestSizeSubtract4Workaround< T >::RESULT, SimpleKeyingInterface::INTERNALLY_GENERATED_IV > IteratedHash< T::HashWordType, T::ByteOrderClass, T::BLOCKSIZE, MessageAuthenticationCode > IteratedHashBase< T::HashWordType, MessageAuthenticationCode > MessageAuthenticationCode HashTransformation SimpleKeyingInterface Algorithm Clonable SimpleKeyingInterfaceImpl< XMACC_Base< T >, XMACC_Base< T > > AlgorithmImpl< SimpleKeyingInterfaceImpl< XMACC_Base< T >, XMACC_Base< T > >, XMACC_Base< T > > MessageAuthenticationCodeImpl< XMACC_Base< T > > ClonableImpl< XMACC< T >, MessageAuthenticationCodeImpl< XMACC_Base< T > > > XMACC< T > List of all members.

Detailed Description

template<class T>
class XMACC_Base< T >

Definition at line 19 of file xormac.h.

Public Types

typedef T::HashWordType HashWordType
typedef T::ByteOrderClass ByteOrderClass

Public Member Functions

 XMACC_Base ()
void UncheckedSetKey (const byte *key, unsigned int length, const NameValuePairs &params)
void Resynchronize (const byte *IV)
 resynchronize with an IV
unsigned int IVSize () const
 returns size of IVs used by this object
void GetNextIV (byte *IV)
 get a secure IV for the next message
word32 CurrentCounter () const
void TruncatedFinal (byte *mac, size_t size)
 truncated version of Final()
bool TruncatedVerify (const byte *mac, size_t length)
 truncated version of Verify()
unsigned int DigestSize () const
 size of the hash returned by Final()
ByteOrder GetByteOrder () const
unsigned int BlockSize () const
 block size of underlying compression function, or 0 if not block based
unsigned int OptimalBlockSize () const
 input to Update() should have length a multiple of this for optimal speed
unsigned int OptimalDataAlignment () const
 returns how input should be aligned for optimal performance
void Update (const byte *input, size_t length)
 process more input
byte * CreateUpdateSpace (size_t &size)
 request space to write input into
void Restart ()
 discard the current state, and restart with a new message

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 const int DIGESTSIZE = 4+T::DIGESTSIZE
static const int KEYLENGTH
static const int MIN_KEYLENGTH
static const int MAX_KEYLENGTH
static const int DEFAULT_KEYLENGTH
static const int IV_REQUIREMENT
static const int IV_LENGTH
static const int BLOCKSIZE
static CompileAssert<((T_BlockSize
&(T_BlockSize-1))==0)> 
cryptopp_assert___LINE__

Protected Member Functions

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 size_t HashMultipleBlocks (const T::HashWordType *input, size_t length)
void HashBlock (const HashWordType *input)

Protected Attributes

SecBlock< T::HashWordType > m_data
SecBlock< T::HashWordType > m_digest


Member Function Documentation

template<class T>
void XMACC_Base< T >::GetNextIV ( byte *  IV  )  [inline, virtual]

get a secure IV for the next message

This method should be called after you finish encrypting one message and are ready to start the next one. After calling it, you must call SetKey() or Resynchronize() before using this object again. This method is not implemented on decryption objects.

Reimplemented from SimpleKeyingInterface.

Definition at line 37 of file xormac.h.


The documentation for this class was generated from the following file:
Generated on Sat Dec 23 02:07:38 2006 for Crypto++ by  doxygen 1.5.1-p1