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

PanamaHash< B > Class Template Reference

#include <panama.h>

Inheritance diagram for PanamaHash< B >:

Panama< B > IteratedHash< word32, NativeByteOrder, 32 > IteratedHashBase2< word32, NativeByteOrder, HashTransformation > HashTransformation Algorithm Clonable PanamaMAC_Base< B > List of all members.

Detailed Description

template<class B = LittleEndian>
class PanamaHash< B >

Panama Hash

Definition at line 29 of file panama.h.

Public Types

enum  { DIGESTSIZE = 32 }
typedef NativeByteOrder ByteOrderClass
typedef IteratedHashBase<
word32, HashTransformation
>::HashWordType 
HashWordType

Public Member Functions

unsigned int DigestSize () const
 size of the hash returned by Final()

void TruncatedFinal (byte *hash, unsigned int size)
 truncated version of Final()

unsigned int OptimalBlockSize () const
void Update (const byte *input, unsigned int length)
byte * CreateUpdateSpace (unsigned int &size)
void Restart ()
virtual void Final (byte *digest)
 compute hash for current message, then restart for a new message

virtual void CalculateDigest (byte *digest, const byte *input, unsigned int 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

virtual bool VerifyDigest (const byte *digest, const byte *input, unsigned int 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, unsigned int digestSize, const byte *input, unsigned int length)
 truncated version of CalculateDigest()

virtual bool TruncatedVerify (const byte *digest, unsigned int digestLength)
 truncated version of Verify()

virtual bool VerifyTruncatedDigest (const byte *digest, unsigned int digestLength, const byte *input, unsigned int length)
 truncated version of VerifyDigest()

virtual std::string AlgorithmName () const
 returns name of this algorithm, not universally implemented yet

virtual ClonableClone () const
 this is not implemented by most classes yet


Static Public Member Functions

void CorrectEndianess (HashWordType *out, const HashWordType *in, unsigned int byteCount)

Protected Types

typedef word32 Stage [8]
enum  { STAGES = 32 }

Protected Member Functions

void Init ()
void vTransform (const word32 *data)
unsigned int HashMultipleBlocks (const word32 *input, unsigned int length)
void Reset ()
void Iterate (unsigned int count, const word32 *p=NULL, word32 *z=NULL, const word32 *y=NULL)
unsigned int BlockSize () const
 block size of underlying compression function, or 0 if not block based

void HashBlock (const HashWordType *input)
virtual void HashBlock (const word32 *input)=0
virtual void vTransform (const HashWordType *data)=0
word32 GetBitCountHi () const
word32 GetBitCountLo () const
void PadLastBlock (unsigned int lastBlockSize, byte padFirst=0x80)
void ThrowIfInvalidTruncatedSize (unsigned int size) const

Protected Attributes

FixedSizeSecBlock< word32,
17 *2+STAGES *sizeof(Stage) 
m_state )
unsigned int m_bstart
SecBlock< word32 > m_data
SecBlock< word32 > m_digest


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().

Reimplemented in PKCS_DecoratedHashModule< H >, SignatureEncodingMethodWithRecovery, and EMSA2DecoratedHashModule< H >.

Definition at line 526 of file cryptlib.h.

Referenced by HashFilter::Put2(), PK_SignerBase< H >::SignAndRestart(), and PK_VerifierBase< H >::VerifyAndRestart().

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.

Reimplemented in SignatureEncodingMethodWithRecovery.

Definition at line 549 of file cryptlib.h.

Referenced by VerifierWithRecoveryTemplate< TF, H >::VerifyAndRestart().


The documentation for this class was generated from the following files:
Generated on Tue Jul 8 23:35:17 2003 for Crypto++ by doxygen 1.3.2