00001
#ifndef CRYPTOPP_TIGER_H
00002
#define CRYPTOPP_TIGER_H
00003
00004
#include "cryptopp_config.h"
00005
00006
#ifdef WORD64_AVAILABLE
00007
00008
#include "iterhash.h"
00009
00010 NAMESPACE_BEGIN(CryptoPP)
00011
00012
00013 class
Tiger : public IteratedHashWithStaticTransform<word64, LittleEndian, 64,
Tiger>
00014 {
00015
public:
00016
enum {DIGESTSIZE = 24};
00017 Tiger() : IteratedHashWithStaticTransform<word64, LittleEndian, 64, Tiger>(DIGESTSIZE) {Init();}
00018
static void Transform(word64 *digest,
const word64 *data);
00019
void TruncatedFinal(byte *hash,
unsigned int size);
00020
static const char * StaticAlgorithmName() {
return "Tiger";}
00021
00022
protected:
00023
void Init();
00024
00025
static const word64 table[4*256];
00026 };
00027
00028 NAMESPACE_END
00029
00030
#endif
00031
00032
#endif