- Main Page
- Namespaces
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# HermeticHashFunctionMAC< T_Hash, T_Info > Class Template Reference

`#include <panama.h>`

Inheritance diagram for HermeticHashFunctionMAC< T_Hash, T_Info >:

List of all members.

## Detailed Description

### template<class T_Hash, class T_Info = T_Hash>
class HermeticHashFunctionMAC< T_Hash, T_Info >

MAC construction using a hermetic hash function.

Definition at line 46 of file panama.h.

## Public Member Functions
void | SetKey (const byte *key, size_t length, const NameValuePairs &params=g_nullNameValuePairs)
| set or reset the key of this object
void | Restart ()
| discard the current state, and restart with a new message
void | Update (const byte *input, size_t length)
| process more input
void | TruncatedFinal (byte *digest, size_t digestSize)
| truncated version of Final()
unsigned int | DigestSize () const
| size of the hash returned by Final()
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
std::string | AlgorithmName () const
| returns name of this algorithm, not universally implemented yet
size_t | MinKeyLength () const
| returns smallest valid key length in bytes */
size_t | MaxKeyLength () const
| returns largest valid key length in bytes */
size_t | DefaultKeyLength () const
| returns default (recommended) key length in bytes */
size_t | GetValidKeyLength (size_t n) const
| returns the smallest valid key length in bytes that is >= min(n, GetMaxKeyLength())
TwoBases< MessageAuthenticationCode, VariableKeyLength< 32, 0, UINT_MAX > >::IV_Requirement | IVRequirement () const
| returns the minimal requirement for secure IVs
## Static Public Member Functions
static std::string __cdecl | StaticAlgorithmName ()
## Protected Member Functions
void | KeyHash ()
void | AssertValidKeyLength (size_t length)
## Protected Attributes
T_Hash | m_hash
bool | m_keyed
SecByteBlock | m_key

## Member Function Documentation

template<class T_Hash, class T_Info = T_Hash>

void HermeticHashFunctionMAC< T_Hash, T_Info >::SetKey | ( | const byte * | key,
|  | size_t | length,
|  | const NameValuePairs & | params = `g_nullNameValuePairs` |
| ) |  |  | `[inline, virtual]`

set or reset the key of this object

Parameters:

  | params | is used to specify Rounds, BlockSize, etc

Implements SimpleKeyingInterface.

Definition at line 49 of file panama.h.

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

- panama.h