# VMAC_Base Class Reference

`#include <vmac.h>`

Inheritance diagram for VMAC_Base:

List of all members.

## Detailed Description

Definition at line 10 of file vmac.h.

## Public Types
typedef T | HashWordType
## Public Member Functions
std::string | AlgorithmName () const
unsigned int | IVSize () const
unsigned int | MinIVLength () const
void | Resynchronize (const byte *nonce, int length=-1)
void | GetNextIV (RandomNumberGenerator &rng, byte *IV)
unsigned int | DigestSize () const
void | UncheckedSetKey (const byte *userKey, unsigned int keylength, const NameValuePairs &params)
void | TruncatedFinal (byte *mac, size_t size)
unsigned int | BlockSize () const
ByteOrder | GetByteOrder () const
unsigned int | OptimalBlockSize () const
unsigned int | OptimalDataAlignment () const
void | Update (const byte *input, size_t length)
byte * | CreateUpdateSpace (size_t &size)
void | Restart ()
## Protected Member Functions
virtual BlockCipher & | AccessCipher ()=0
virtual int | DefaultDigestSize () const =0
const BlockCipher & | GetCipher () const
void | HashEndianCorrectedBlock (const word64 *data)
size_t | HashMultipleBlocks (const word64 *input, size_t length)
void | Init ()
word64 * | StateBuf ()
word64 * | DataBuf ()
void | VHASH_Update_SSE2 (const word64 *data, size_t blocksRemainingInWord64, int tagPart)
template<bool T_128BitTag>
void | VHASH_Update_Template (const word64 *data, size_t blockRemainingInWord128)
void | VHASH_Update (const word64 *data, size_t blocksRemainingInWord128)
word64 * | m_polyState ()
size_t | SS1 ()
size_t | m_polyStateSize ()
word64 * | m_nhKey ()
size_t | SS2 ()
size_t | m_nhKeySize ()
byte * | m_data ()
size_t | SS3 ()
size_t | m_dataSize ()
word64 * | m_l3Key ()
size_t | SS4 ()
size_t | m_l3KeySize ()
byte * | m_nonce ()
size_t | SS5 ()
size_t | m_nonceSize ()
byte * | m_pad ()
size_t | SS6 ()
size_t | m_padSize ()
size_t | SST ()
void | AllocateBlocks ()
T | GetBitCountHi () const
T | GetBitCountLo () const
void | PadLastBlock (unsigned int lastBlockSize, byte padFirst=0x80)
virtual void | HashEndianCorrectedBlock (const HashWordType *data)=0
virtual size_t | HashMultipleBlocks (const T *input, size_t length)
void | HashBlock (const HashWordType *input)
## Protected Attributes
AlignedSecByteBlock | m_aggregate
bool | m_is128
bool | m_padCached
bool | m_isFirstBlock
int | m_L1KeyLength

The documentation for this class was generated from the following files:

- vmac.h
- vmac.cpp