Crypto++
|
00001 #ifndef CRYPTOPP_TIGER_H 00002 #define CRYPTOPP_TIGER_H 00003 00004 #include "config.h" 00005 #include "iterhash.h" 00006 00007 NAMESPACE_BEGIN(CryptoPP) 00008 00009 /// <a href="http://www.cryptolounge.org/wiki/Tiger">Tiger</a> 00010 class Tiger : public IteratedHashWithStaticTransform<word64, LittleEndian, 64, 24, Tiger> 00011 { 00012 public: 00013 static void InitState(HashWordType *state); 00014 static void Transform(word64 *digest, const word64 *data); 00015 void TruncatedFinal(byte *hash, size_t size); 00016 static const char * StaticAlgorithmName() {return "Tiger";} 00017 00018 protected: 00019 static const word64 table[4*256+3]; 00020 }; 00021 00022 NAMESPACE_END 00023 00024 #endif