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

# tiger.h

    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
    00012 /// <a href="http://www.weidai.com/scan-mirror/md.html#Tiger">Tiger</a>
    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