aboutsummaryrefslogtreecommitdiffstats
path: root/src/kdf/kdf1
diff options
context:
space:
mode:
authorlloyd <[email protected]>2008-09-30 05:41:04 +0000
committerlloyd <[email protected]>2008-09-30 05:41:04 +0000
commit75ef07ee5378341adf054bd729232167c73e9e47 (patch)
tree7c84c43a431f0313b4f08b4267ff066650948bb0 /src/kdf/kdf1
parentbc9e881d7c7a569664b5e753c12e4c8cbde06d2d (diff)
Remove lookup/libstate dependency on Lion, KDF1, KDF2, EMSA[1-4]
Diffstat (limited to 'src/kdf/kdf1')
-rw-r--r--src/kdf/kdf1/kdf1.cpp13
-rw-r--r--src/kdf/kdf1/kdf1.h13
2 files changed, 9 insertions, 17 deletions
diff --git a/src/kdf/kdf1/kdf1.cpp b/src/kdf/kdf1/kdf1.cpp
index aac32db80..0ea375b30 100644
--- a/src/kdf/kdf1/kdf1.cpp
+++ b/src/kdf/kdf1/kdf1.cpp
@@ -4,8 +4,6 @@
*************************************************/
#include <botan/kdf1.h>
-#include <botan/lookup.h>
-#include <memory>
namespace Botan {
@@ -16,20 +14,9 @@ SecureVector<byte> KDF1::derive(u32bit,
const byte secret[], u32bit secret_len,
const byte P[], u32bit P_len) const
{
- std::auto_ptr<HashFunction> hash(get_hash(hash_name));
-
hash->update(secret, secret_len);
hash->update(P, P_len);
return hash->final();
}
-/*************************************************
-* KDF1 Constructor *
-*************************************************/
-KDF1::KDF1(const std::string& h_name) : hash_name(h_name)
- {
- if(!have_hash(hash_name))
- throw Algorithm_Not_Found(hash_name);
- }
-
}
diff --git a/src/kdf/kdf1/kdf1.h b/src/kdf/kdf1/kdf1.h
index 9aaa81d2b..6a4b0f113 100644
--- a/src/kdf/kdf1/kdf1.h
+++ b/src/kdf/kdf1/kdf1.h
@@ -7,6 +7,7 @@
#define BOTAN_KDF1_H__
#include <botan/kdf.h>
+#include <botan/base.h>
namespace Botan {
@@ -16,12 +17,16 @@ namespace Botan {
class BOTAN_DLL KDF1 : public KDF
{
public:
- SecureVector<byte> derive(u32bit, const byte[], u32bit,
- const byte[], u32bit) const;
+ SecureVector<byte> derive(u32bit,
+ const byte secret[], u32bit secret_len,
+ const byte P[], u32bit P_len) const;
- KDF1(const std::string&);
+ KDF1(HashFunction* h) : hash(h) {}
+ KDF1(const KDF1& other) : hash(other.hash->clone()) {}
+
+ ~KDF1() { delete hash; }
private:
- const std::string hash_name;
+ HashFunction* hash;
};
}