Weak::PanamaHash< B > Class Template Reference

Panama Hash More...

`#include <panama.h>`

Inheritance diagram for Weak::PanamaHash< B >:

## Public Types

typedef NativeByteOrder | ByteOrderClass
typedef word32 | HashWordType

## Public Member Functions

unsigned int | DigestSize () const
| size of the hash/digest/MAC returned by Final()
void | TruncatedFinal (byte *hash, size_t size)
| truncated version of Final()
std::string | AlgorithmName () const
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 ()
HashTransformation & | Ref ()
| return a reference to this object, useful for passing a temporary object to a function that takes a non-const reference
virtual void | Final (byte *digest)
| compute hash for current message, then restart for a new message More...
unsigned int | TagSize () const
| same as DigestSize()
virtual void | CalculateDigest (byte *digest, const byte *input, size_t length)
| use this if your input is in one piece and you don't want to call Update() and Final() separately
virtual bool | Verify (const byte *digest)
| verify that digest is a valid digest for the current message, then reinitialize the object More...
virtual bool | VerifyDigest (const byte *digest, const byte *input, size_t length)
| use this if your input is in one piece and you don't want to call Update() and Verify() separately
virtual void | CalculateTruncatedDigest (byte *digest, size_t digestSize, const byte *input, size_t length)
| truncated version of CalculateDigest()
virtual bool | TruncatedVerify (const byte *digest, size_t digestLength)
| truncated version of Verify()
virtual bool | VerifyTruncatedDigest (const byte *digest, size_t digestLength, const byte *input, size_t length)
| truncated version of VerifyDigest()
virtual Clonable * | Clone () const
| this is not implemented by most classes yet

## Static Public Member Functions

static const char * | StaticAlgorithmName ()
static void | CorrectEndianess (HashWordType *out, const HashWordType *in, size_t byteCount)

## Static Public Attributes

static const int | DIGESTSIZE = 32
static const int | BLOCKSIZE
static CompileAssert <((T_BlockSize &(T_BlockSize-1))==0)> | cryptopp_assert___LINE__

## Protected Types

typedef word32 | Stage [8]

## Protected Member Functions

void | Init ()
void | HashEndianCorrectedBlock (const word32 *data)
size_t | HashMultipleBlocks (const word32 *input, size_t length)
word32 * | StateBuf ()
void | Reset ()
void | Iterate (size_t count, const word32 *p=NULL, byte *output=NULL, const byte *input=NULL, KeystreamOperation operation=WRITE_KEYSTREAM)
word32 * | DataBuf ()
word32 | GetBitCountHi () const
word32 | GetBitCountLo () const
void | PadLastBlock (unsigned int lastBlockSize, byte padFirst=0x80)
void | HashBlock (const HashWordType *input)
void | ThrowIfInvalidTruncatedSize (size_t size) const

## Protected Attributes

FixedSizeAlignedSecBlock < word32, 20+8 *32 > | m_state
FixedSizeSecBlock< word32, T_BlockSize/sizeof(word32)> | m_data

## Static Protected Attributes

static const int | STAGES = 32

## Detailed Description

### template<class B = LittleEndian>
class Weak::PanamaHash< B >

Panama Hash

Definition at line 27 of file panama.h.

## Member Function Documentation

virtual void HashTransformation::Final | ( | byte * | digest | ) |

inline virtual inherited

compute hash for current message, then restart for a new message

Precondition
  size of digest == DigestSize().

Definition at line 544 of file cryptlib.h.

Referenced by PKCS5_PBKDF2_HMAC< T >::DeriveKey().

virtual bool HashTransformation::Verify | ( | const byte * | digest | ) |

inline virtual inherited

verify that digest is a valid digest for the current message, then reinitialize the object

Default implementation is to call Final() and do a bitwise comparison between its output and digest.

Definition at line 574 of file cryptlib.h.

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

- panama.h