diff options
Diffstat (limited to 'old/botan/src/kdf/kdf.cpp')
-rw-r--r-- | old/botan/src/kdf/kdf.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/old/botan/src/kdf/kdf.cpp b/old/botan/src/kdf/kdf.cpp new file mode 100644 index 0000000..4be8475 --- /dev/null +++ b/old/botan/src/kdf/kdf.cpp @@ -0,0 +1,68 @@ +/* +* KDF Base Class +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ + +#include <botan/kdf.h> + +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(), + reinterpret_cast<const byte*>(salt.data()), + 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, + reinterpret_cast<const byte*>(salt.data()), + 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); + } + +} |