#ifndef CRYPTOPP_WHIRLPOOL_H
#define CRYPTOPP_WHIRLPOOL_H
#include "config.h"
#ifdef WORD64_AVAILABLE
#include "iterhash.h"
NAMESPACE_BEGIN(CryptoPP)
//! Whirlpool
/*! 512 Bit Hash */
class Whirlpool : public IteratedHashWithStaticTransform
{
public:
enum {DIGESTSIZE = 64};
Whirlpool() : IteratedHashWithStaticTransform(DIGESTSIZE) {Init();}
static void Transform(word64 *digest, const word64 *data);
void TruncatedFinal(byte *hash, unsigned int size);
static const char * StaticAlgorithmName() {return "Whirlpool";}
protected:
void Init();
};
NAMESPACE_END
#endif
#endif