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