Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

IteratedHashBase Class Template Reference

#include <iterhash.h>

Inheritance diagram for IteratedHashBase:

HashModule IteratedHash HAVAL MD5 MD5MAC PanamaHash RIPEMD160 SHA SHA256 SHA384 SHA512 Tiger XMACC List of all members.

Public Types

typedef T HashWordType

Public Methods

 IteratedHashBase (unsigned int blockSize,unsigned int digestSize)
unsigned int DigestSize ()const
 size of the hash returned by Final(). More...

void Update (const byte *input,unsigned int length)
 process more input. More...


Protected Methods

virtual unsigned int HashMultipleBlocks (const T *input,unsigned int length)
void PadLastBlock (unsigned int lastBlockSize,byte padFirst=0x80)
void Reinit ()
virtual void Init ()=0
virtual void HashBlock (const T *input)=0

Protected Attributes

unsigned int blockSize
word32 countLo
word32 countHi
SecBlock<T> data
SecBlock<T> digest

Detailed Description

template<class T> class IteratedHashBase

The following classes are explicitly instantiated in iterhash.cpp

IteratedHashBase<word32> IteratedHashBase<word64> // ifdef WORD64_AVAILABLE

Definition at line 15 of file iterhash.h.


Member Typedef Documentation

template<class T>
typedef T IteratedHashBase<T>::HashWordType
 

Definition at line 18 of file iterhash.h.


Constructor & Destructor Documentation

template<class T>
IteratedHashBase< T >::IteratedHashBase<T> ( unsigned int blockSize,
unsigned int digestSize )
 

Definition at line 9 of file iterhash.cpp.


Member Function Documentation

template<class T>
unsigned int IteratedHashBase<T>::DigestSize ( ) const [inline, virtual]
 

size of the hash returned by Final().

Reimplemented from HashModule.

Reimplemented in HAVAL, PanamaHash, SHA384, and XMACC.

Definition at line 21 of file iterhash.h.

template<class T>
void IteratedHashBase< T >::HashBlock ( const T * input ) [protected, pure virtual]
 

Definition at line 101 of file iterhash.cpp.

template<class T>
unsigned int IteratedHashBase< T >::HashMultipleBlocks ( const T * input,
unsigned int length ) [protected, virtual]
 

Definition at line 66 of file iterhash.cpp.

template<class T>
void IteratedHashBase< T >::Init ( ) [protected, pure virtual]
 

Definition at line 100 of file iterhash.cpp.

template<class T>
void IteratedHashBase< T >::PadLastBlock ( unsigned int lastBlockSize,
byte padFirst = 0x80 ) [protected]
 

Definition at line 78 of file iterhash.cpp.

template<class T>
void IteratedHashBase< T >::Reinit ( ) [protected]
 

Definition at line 93 of file iterhash.cpp.

template<class T>
void IteratedHashBase< T >::Update ( const byte * input,
unsigned int len ) [virtual]
 

process more input.

Reimplemented from HashModule.

Definition at line 15 of file iterhash.cpp.


Member Data Documentation

template<class T>
unsigned int IteratedHashBase<T>::blockSize [protected]
 

Definition at line 31 of file iterhash.h.

template<class T>
word32 IteratedHashBase<T>::countHi [protected]
 

Definition at line 32 of file iterhash.h.

template<class T>
word32 IteratedHashBase<T>::countLo [protected]
 

Definition at line 32 of file iterhash.h.

template<class T>
SecBlock< T > IteratedHashBase<T>::data [protected]
 

Definition at line 33 of file iterhash.h.

template<class T>
SecBlock< T > IteratedHashBase<T>::digest [protected]
 

Definition at line 34 of file iterhash.h.


The documentation for this class was generated from the following files:
Generated at Mon Jan 15 01:16:53 2001 for Crypto++ by doxygen1.2.4 written by Dimitri van Heesch, © 1997-2000