aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/cipher/serpent/serpent.h2
-rw-r--r--src/cipher/serpent_ia32/serp_ia32.h9
-rw-r--r--src/hash/md4/md4.h2
-rw-r--r--src/hash/md4_ia32/info.txt3
-rw-r--r--src/hash/md4_ia32/md4_ia32.cpp22
-rw-r--r--src/hash/md4_ia32/md4_ia32.h11
-rw-r--r--src/hash/md5/md5.h2
-rw-r--r--src/hash/md5_ia32/md5_ia32.cpp22
-rw-r--r--src/hash/md5_ia32/md5_ia32.h11
9 files changed, 10 insertions, 74 deletions
diff --git a/src/cipher/serpent/serpent.h b/src/cipher/serpent/serpent.h
index 685470e4c..76acff487 100644
--- a/src/cipher/serpent/serpent.h
+++ b/src/cipher/serpent/serpent.h
@@ -20,7 +20,7 @@ class BOTAN_DLL Serpent : public BlockCipher
std::string name() const { return "Serpent"; }
BlockCipher* clone() const { return new Serpent; }
Serpent() : BlockCipher(16, 16, 32, 8) {}
- private:
+ protected:
void enc(const byte[], byte[]) const;
void dec(const byte[], byte[]) const;
void key(const byte[], u32bit);
diff --git a/src/cipher/serpent_ia32/serp_ia32.h b/src/cipher/serpent_ia32/serp_ia32.h
index 26f870188..83079e9c2 100644
--- a/src/cipher/serpent_ia32/serp_ia32.h
+++ b/src/cipher/serpent_ia32/serp_ia32.h
@@ -6,26 +6,21 @@
#ifndef BOTAN_SERPENT_IA32_H__
#define BOTAN_SERPENT_IA32_H__
-#include <botan/base.h>
+#include <botan/serpent.h>
namespace Botan {
/*************************************************
* Serpent *
*************************************************/
-class BOTAN_DLL Serpent_IA32 : public BlockCipher
+class BOTAN_DLL Serpent_IA32 : public Serpent
{
public:
- void clear() throw() { round_key.clear(); }
- std::string name() const { return "Serpent"; }
BlockCipher* clone() const { return new Serpent_IA32; }
- Serpent_IA32() : BlockCipher(16, 16, 32, 8) {}
private:
void enc(const byte[], byte[]) const;
void dec(const byte[], byte[]) const;
void key(const byte[], u32bit);
-
- SecureBuffer<u32bit, 132> round_key;
};
}
diff --git a/src/hash/md4/md4.h b/src/hash/md4/md4.h
index 4bb5e3903..bb0fac576 100644
--- a/src/hash/md4/md4.h
+++ b/src/hash/md4/md4.h
@@ -20,7 +20,7 @@ class BOTAN_DLL MD4 : public MDx_HashFunction
std::string name() const { return "MD4"; }
HashFunction* clone() const { return new MD4; }
MD4() : MDx_HashFunction(16, 64, false, true) { clear(); }
- private:
+ protected:
void hash(const byte[]);
void copy_out(byte[]);
diff --git a/src/hash/md4_ia32/info.txt b/src/hash/md4_ia32/info.txt
index afc150768..b2ad76ca3 100644
--- a/src/hash/md4_ia32/info.txt
+++ b/src/hash/md4_ia32/info.txt
@@ -12,8 +12,7 @@ md4_ia32.h
<requires>
asm_ia32
-mdx_hash
-utils
+md4
</requires>
<arch>
diff --git a/src/hash/md4_ia32/md4_ia32.cpp b/src/hash/md4_ia32/md4_ia32.cpp
index a34cbb3a6..1483d0e8f 100644
--- a/src/hash/md4_ia32/md4_ia32.cpp
+++ b/src/hash/md4_ia32/md4_ia32.cpp
@@ -18,26 +18,4 @@ void MD4_IA32::hash(const byte input[])
botan_md4_ia32_compress(digest, input, M);
}
-/*************************************************
-* Copy out the digest *
-*************************************************/
-void MD4_IA32::copy_out(byte output[])
- {
- for(u32bit j = 0; j != OUTPUT_LENGTH; j += 4)
- store_le(digest[j/4], output + j);
- }
-
-/*************************************************
-* Clear memory of sensitive data *
-*************************************************/
-void MD4_IA32::clear() throw()
- {
- MDx_HashFunction::clear();
- M.clear();
- digest[0] = 0x67452301;
- digest[1] = 0xEFCDAB89;
- digest[2] = 0x98BADCFE;
- digest[3] = 0x10325476;
- }
-
}
diff --git a/src/hash/md4_ia32/md4_ia32.h b/src/hash/md4_ia32/md4_ia32.h
index c6640435e..94ee3b028 100644
--- a/src/hash/md4_ia32/md4_ia32.h
+++ b/src/hash/md4_ia32/md4_ia32.h
@@ -6,26 +6,19 @@
#ifndef BOTAN_MD4_IA32_H__
#define BOTAN_MD4_IA32_H__
-#include <botan/mdx_hash.h>
+#include <botan/md4.h>
namespace Botan {
/*************************************************
* MD4 *
*************************************************/
-class BOTAN_DLL MD4_IA32 : public MDx_HashFunction
+class BOTAN_DLL MD4_IA32 : public MD4
{
public:
- void clear() throw();
- std::string name() const { return "MD4"; }
HashFunction* clone() const { return new MD4_IA32; }
- MD4_IA32() : MDx_HashFunction(16, 64, false, true) { clear(); }
private:
void hash(const byte[]);
- void copy_out(byte[]);
-
- SecureBuffer<u32bit, 48> M;
- SecureBuffer<u32bit, 4> digest;
};
}
diff --git a/src/hash/md5/md5.h b/src/hash/md5/md5.h
index 9634c526d..bcd32507a 100644
--- a/src/hash/md5/md5.h
+++ b/src/hash/md5/md5.h
@@ -20,7 +20,7 @@ class BOTAN_DLL MD5 : public MDx_HashFunction
std::string name() const { return "MD5"; }
HashFunction* clone() const { return new MD5; }
MD5() : MDx_HashFunction(16, 64, false, true) { clear(); }
- private:
+ protected:
void hash(const byte[]);
void copy_out(byte[]);
diff --git a/src/hash/md5_ia32/md5_ia32.cpp b/src/hash/md5_ia32/md5_ia32.cpp
index b95eb0c56..7616292e3 100644
--- a/src/hash/md5_ia32/md5_ia32.cpp
+++ b/src/hash/md5_ia32/md5_ia32.cpp
@@ -23,26 +23,4 @@ void MD5_IA32::hash(const byte input[])
botan_md5_ia32_compress(digest, input, M);
}
-/*************************************************
-* Copy out the digest *
-*************************************************/
-void MD5_IA32::copy_out(byte output[])
- {
- for(u32bit j = 0; j != OUTPUT_LENGTH; j += 4)
- store_le(digest[j/4], output + j);
- }
-
-/*************************************************
-* Clear memory of sensitive data *
-*************************************************/
-void MD5_IA32::clear() throw()
- {
- MDx_HashFunction::clear();
- M.clear();
- digest[0] = 0x67452301;
- digest[1] = 0xEFCDAB89;
- digest[2] = 0x98BADCFE;
- digest[3] = 0x10325476;
- }
-
}
diff --git a/src/hash/md5_ia32/md5_ia32.h b/src/hash/md5_ia32/md5_ia32.h
index cf5038c1c..7ff463799 100644
--- a/src/hash/md5_ia32/md5_ia32.h
+++ b/src/hash/md5_ia32/md5_ia32.h
@@ -6,26 +6,19 @@
#ifndef BOTAN_MD5_IA32_H__
#define BOTAN_MD5_IA32_H__
-#include <botan/mdx_hash.h>
+#include <botan/md5.h>
namespace Botan {
/*************************************************
* MD5 *
*************************************************/
-class BOTAN_DLL MD5_IA32 : public MDx_HashFunction
+class BOTAN_DLL MD5_IA32 : public MD5
{
public:
- void clear() throw();
- std::string name() const { return "MD5"; }
HashFunction* clone() const { return new MD5_IA32; }
- MD5_IA32() : MDx_HashFunction(16, 64, false, true) { clear(); }
private:
void hash(const byte[]);
- void copy_out(byte[]);
-
- SecureBuffer<u32bit, 16> M;
- SecureBuffer<u32bit, 4> digest;
};
}