diff options
author | lloyd <[email protected]> | 2006-09-26 16:12:54 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2006-09-26 16:12:54 +0000 |
commit | 8ce4920a386eb78e8435cdae851f8c911f890094 (patch) | |
tree | cf786f1732c085425a2c63c5dca65aca55fb5bae /src/kdf.cpp | |
parent | e74918f172aa49d42e2ab64e24ca7a5cd5ff4c44 (diff) |
Move the KDF base class code into kdf.cpp; this prevents the pk_util.cpp
object code from being linked in when a user just wants to use a PRF
Diffstat (limited to 'src/kdf.cpp')
-rw-r--r-- | src/kdf.cpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/kdf.cpp b/src/kdf.cpp index c9a86796f..3dfef5dcf 100644 --- a/src/kdf.cpp +++ b/src/kdf.cpp @@ -12,6 +12,60 @@ namespace Botan { /************************************************* +* Derive a key * +*************************************************/ +SecureVector<byte> KDF::derive_key(u32bit key_len, + const MemoryRegion<byte>& secret, + const std::string& salt) const + { + return derive_key(key_len, secret, secret.size(), + (const byte*)salt.c_str(), salt.length()); + } + +/************************************************* +* Derive a key * +*************************************************/ +SecureVector<byte> KDF::derive_key(u32bit key_len, + const MemoryRegion<byte>& secret, + const byte salt[], u32bit salt_len) const + { + return derive_key(key_len, secret.begin(), secret.size(), + salt, salt_len); + } + +/************************************************* +* Derive a key * +*************************************************/ +SecureVector<byte> KDF::derive_key(u32bit key_len, + const MemoryRegion<byte>& secret, + const MemoryRegion<byte>& salt) const + { + return derive_key(key_len, secret.begin(), secret.size(), + salt.begin(), salt.size()); + } + +/************************************************* +* Derive a key * +*************************************************/ +SecureVector<byte> KDF::derive_key(u32bit key_len, + const byte secret[], u32bit secret_len, + const std::string& salt) const + { + return derive_key(key_len, secret, secret_len, + (const byte*)salt.c_str(), salt.length()); + } + +/************************************************* +* Derive a key * +*************************************************/ +SecureVector<byte> KDF::derive_key(u32bit key_len, + const byte secret[], u32bit secret_len, + const byte salt[], u32bit salt_len) const + { + return derive(key_len, secret, secret_len, salt, salt_len); + } + +/************************************************* * KDF1 Key Derivation Mechanism * *************************************************/ SecureVector<byte> KDF1::derive(u32bit, |