diff options
-rw-r--r-- | src/cipher/serpent/serpent.h | 2 | ||||
-rw-r--r-- | src/cipher/serpent_ia32/serp_ia32.h | 9 | ||||
-rw-r--r-- | src/hash/md4/md4.h | 2 | ||||
-rw-r--r-- | src/hash/md4_ia32/info.txt | 3 | ||||
-rw-r--r-- | src/hash/md4_ia32/md4_ia32.cpp | 22 | ||||
-rw-r--r-- | src/hash/md4_ia32/md4_ia32.h | 11 | ||||
-rw-r--r-- | src/hash/md5/md5.h | 2 | ||||
-rw-r--r-- | src/hash/md5_ia32/md5_ia32.cpp | 22 | ||||
-rw-r--r-- | src/hash/md5_ia32/md5_ia32.h | 11 |
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; }; } |