summaryrefslogtreecommitdiff
path: root/ripemd.h
diff options
context:
space:
mode:
Diffstat (limited to 'ripemd.h')
-rw-r--r--ripemd.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/ripemd.h b/ripemd.h
index 6ac8e71..f128158 100644
--- a/ripemd.h
+++ b/ripemd.h
@@ -19,6 +19,45 @@ protected:
void Init();
};
+/*! Digest Length = 320 bits, Security = 160 bits */
+class RIPEMD320 : public IteratedHashWithStaticTransform<word32, LittleEndian, 64, RIPEMD320>
+{
+public:
+ enum {DIGESTSIZE = 40};
+ RIPEMD320() : IteratedHashWithStaticTransform<word32, LittleEndian, 64, RIPEMD320>(DIGESTSIZE) {Init();}
+ static void Transform(word32 *digest, const word32 *data);
+ static const char * StaticAlgorithmName() {return "RIPEMD-320";}
+
+protected:
+ void Init();
+};
+
+/*! Digest Length = 128 bits */
+class RIPEMD128 : public IteratedHashWithStaticTransform<word32, LittleEndian, 64, RIPEMD128>
+{
+public:
+ enum {DIGESTSIZE = 16};
+ RIPEMD128() : IteratedHashWithStaticTransform<word32, LittleEndian, 64, RIPEMD128>(DIGESTSIZE) {Init();}
+ static void Transform(word32 *digest, const word32 *data);
+ static const char * StaticAlgorithmName() {return "RIPEMD-128";}
+
+protected:
+ void Init();
+};
+
+/*! Digest Length = 256 bits, Security = 128 bits */
+class RIPEMD256 : public IteratedHashWithStaticTransform<word32, LittleEndian, 64, RIPEMD256>
+{
+public:
+ enum {DIGESTSIZE = 32};
+ RIPEMD256() : IteratedHashWithStaticTransform<word32, LittleEndian, 64, RIPEMD256>(DIGESTSIZE) {Init();}
+ static void Transform(word32 *digest, const word32 *data);
+ static const char * StaticAlgorithmName() {return "RIPEMD-256";}
+
+protected:
+ void Init();
+};
+
NAMESPACE_END
#endif