Crypto++
|
00001 #ifndef CRYPTOPP_WHIRLPOOL_H 00002 #define CRYPTOPP_WHIRLPOOL_H 00003 00004 #include "config.h" 00005 #include "iterhash.h" 00006 00007 NAMESPACE_BEGIN(CryptoPP) 00008 00009 //! <a href="http://www.cryptolounge.org/wiki/Whirlpool">Whirlpool</a> 00010 class Whirlpool : public IteratedHashWithStaticTransform<word64, BigEndian, 64, 64, Whirlpool> 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 "Whirlpool";} 00017 }; 00018 00019 NAMESPACE_END 00020 00021 #endif