00001
00002
00003
00004
00005
00006 #ifndef CRYPTOPP_RIPEMD_H
00007 #define CRYPTOPP_RIPEMD_H
00008
00009 #include "iterhash.h"
00010
00011 NAMESPACE_BEGIN(CryptoPP)
00012
00013
00014
00015 class RIPEMD160 : public IteratedHashWithStaticTransform<word32, LittleEndian, 64, 20, RIPEMD160>
00016 {
00017 public:
00018 static void InitState(HashWordType *state);
00019 static void Transform(word32 *digest, const word32 *data);
00020 static const char * StaticAlgorithmName() {return "RIPEMD-160";}
00021 };
00022
00023
00024 class RIPEMD320 : public IteratedHashWithStaticTransform<word32, LittleEndian, 64, 40, RIPEMD320>
00025 {
00026 public:
00027 static void InitState(HashWordType *state);
00028 static void Transform(word32 *digest, const word32 *data);
00029 static const char * StaticAlgorithmName() {return "RIPEMD-320";}
00030 };
00031
00032
00033
00034 class RIPEMD128 : public IteratedHashWithStaticTransform<word32, LittleEndian, 64, 16, RIPEMD128>
00035 {
00036 public:
00037 static void InitState(HashWordType *state);
00038 static void Transform(word32 *digest, const word32 *data);
00039 static const char * StaticAlgorithmName() {return "RIPEMD-128";}
00040 };
00041
00042
00043
00044 class RIPEMD256 : public IteratedHashWithStaticTransform<word32, LittleEndian, 64, 32, RIPEMD256>
00045 {
00046 public:
00047 static void InitState(HashWordType *state);
00048 static void Transform(word32 *digest, const word32 *data);
00049 static const char * StaticAlgorithmName() {return "RIPEMD-256";}
00050 };
00051
00052 NAMESPACE_END
00053
00054 #endif