IteratedHashWithStaticTransform< T_HashWordType, T_Endianness, T_BlockSize, T_StateSize, T_Transform, T_DigestSize, T_StateAligned > Class Template Reference

Iterated hash with a static transformation function. More...

`#include <iterhash.h>`

Inheritance diagram for IteratedHashWithStaticTransform< T_HashWordType, T_Endianness, T_BlockSize, T_StateSize, T_Transform, T_DigestSize, T_StateAligned >:

## Public Member Functions

unsigned int | DigestSize () const
| Provides the digest size of the hash.
Public Member Functions inherited from ClonableImpl< T_Transform, AlgorithmImpl< IteratedHash< T_HashWordType, T_Endianness, T_BlockSize >, T_Transform > >
Clonable * | Clone () const
| Create a copy of this object.
Public Member Functions inherited from AlgorithmImpl< IteratedHash< T_HashWordType, T_Endianness, T_BlockSize >, T_Transform >
std::string | AlgorithmName () const
| The algorithm name.
Public Member Functions inherited from IteratedHash< T_HashWordType, T_Endianness, T_BlockSize, T_Base >
unsigned int | BlockSize () const
| Provides the block size of the hash.
ByteOrder | GetByteOrder () const
| Provides the byte order of the hash.
void | CorrectEndianess (HashWordType *out, const HashWordType *in, size_t byteCount)
| Adjusts the byte ordering of the hash.
Public Member Functions inherited from IteratedHashBase< T, BASE >
| IteratedHashBase ()
| Construct an IteratedHashBase.
unsigned int | OptimalBlockSize () const
| Provides the input block size most efficient for this cipher.
unsigned int | OptimalDataAlignment () const
| Provides input and output data alignment for optimal performance.
void | Update (const byte *input, size_t length)
| Updates a hash with additional input.
byte * | CreateUpdateSpace (size_t &size)
| Requests space which can be written into by the caller.
void | Restart ()
| Restart the hash.
void | TruncatedFinal (byte *digest, size_t digestSize)
| Computes the hash of the current message.
virtual std::string | AlgorithmProvider () const
| Retrieve the provider of this algorithm.

## Static Public Attributes

static const int | DIGESTSIZE = T_DigestSize ? T_DigestSize : T_StateSize
Static Public Attributes inherited from IteratedHash< T_HashWordType, T_Endianness, T_BlockSize, T_Base >
static const int | BLOCKSIZE = T_BlockSize

## Additional Inherited Members

Public Types inherited from IteratedHash< T_HashWordType, T_Endianness, T_BlockSize, T_Base >
typedef T_Endianness | ByteOrderClass
typedef T_HashWordType | HashWordType
Public Types inherited from IteratedHashBase< T, BASE >
typedef T | HashWordType
Static Public Member Functions inherited from AlgorithmImpl< IteratedHash< T_HashWordType, T_Endianness, T_BlockSize >, T_Transform >
static std::string | StaticAlgorithmName ()
| The algorithm name.

## Detailed Description

template<class T_HashWordType, class T_Endianness, unsigned int T_BlockSize, unsigned int T_StateSize, class T_Transform, unsigned int T_DigestSize = 0, bool T_StateAligned = false>
class IteratedHashWithStaticTransform< T_HashWordType, T_Endianness, T_BlockSize, T_StateSize, T_Transform, T_DigestSize, T_StateAligned >

Iterated hash with a static transformation function.

Template Parameters

  T_HashWordType | Hash word type
  T_Endianness | Endianness type of hash
  T_BlockSize | Block size of the hash
  T_StateSize | Internal state size of the hash
  T_Transform | HashTransformation derived class
  T_DigestSize | Digest size of the hash
  T_StateAligned | Flag indicating if state is 16-byte aligned

See also
  HashTransformation, MessageAuthenticationCode

Definition at line 180 of file iterhash.h.

## Constructor & Destructor Documentation

## ~IteratedHashWithStaticTransform()

template<class T_HashWordType , class T_Endianness , unsigned int T_BlockSize, unsigned int T_StateSize, class T_Transform , unsigned int T_DigestSize = 0, bool T_StateAligned = false>

virtual IteratedHashWithStaticTransform< T_HashWordType, T_Endianness, T_BlockSize, T_StateSize, T_Transform, T_DigestSize, T_StateAligned >::~IteratedHashWithStaticTransform | ( |  | ) |

inline virtual

Definition at line 186 of file iterhash.h.

## Member Function Documentation

## DigestSize()

template<class T_HashWordType , class T_Endianness , unsigned int T_BlockSize, unsigned int T_StateSize, class T_Transform , unsigned int T_DigestSize = 0, bool T_StateAligned = false>

unsigned int IteratedHashWithStaticTransform< T_HashWordType, T_Endianness, T_BlockSize, T_StateSize, T_Transform, T_DigestSize, T_StateAligned >::DigestSize | ( |  | ) | const

inline

Provides the digest size of the hash.

Returns
  the digest size of the hash, in bytes

DigestSize() returns `DIGESTSIZE`.

Definition at line 191 of file iterhash.h.

## Member Data Documentation

## DIGESTSIZE

template<class T_HashWordType , class T_Endianness , unsigned int T_BlockSize, unsigned int T_StateSize, class T_Transform , unsigned int T_DigestSize = 0, bool T_StateAligned = false>

const int IteratedHashWithStaticTransform< T_HashWordType, T_Endianness, T_BlockSize, T_StateSize, T_Transform, T_DigestSize, T_StateAligned >::DIGESTSIZE = T_DigestSize ? T_DigestSize : T_StateSize

static

Definition at line 184 of file iterhash.h.

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

- iterhash.h