#include <prf_tls.h>
|
| void | clear () |
| |
| KDF * | clone () const |
| |
| secure_vector< byte > | derive (size_t key_len, const byte secret[], size_t secret_len, const byte seed[], size_t seed_len) const |
| |
| secure_vector< byte > | derive_key (size_t key_len, const secure_vector< byte > &secret, const std::string &salt="") const |
| |
| template<typename Alloc , typename Alloc2 > |
| secure_vector< byte > | derive_key (size_t key_len, const std::vector< byte, Alloc > &secret, const std::vector< byte, Alloc2 > &salt) const |
| |
| secure_vector< byte > | derive_key (size_t key_len, const secure_vector< byte > &secret, const byte salt[], size_t salt_len) const |
| |
| secure_vector< byte > | derive_key (size_t key_len, const byte secret[], size_t secret_len, const std::string &salt="") const |
| |
| secure_vector< byte > | derive_key (size_t key_len, const byte secret[], size_t secret_len, const byte salt[], size_t salt_len) const |
| |
| std::string | name () const |
| |
| | TLS_PRF () |
| |
| | ~TLS_PRF () |
| |
PRF used in TLS 1.0/1.1
Definition at line 20 of file prf_tls.h.
| Botan::TLS_PRF::TLS_PRF |
( |
| ) |
|
Definition at line 62 of file prf_tls.cpp.
64 hmac_md5 =
new HMAC(
new MD5);
65 hmac_sha1 =
new HMAC(
new SHA_160);
| Botan::TLS_PRF::~TLS_PRF |
( |
| ) |
|
| void Botan::KDF::clear |
( |
| ) |
|
|
inlinevirtualinherited |
| KDF* Botan::TLS_PRF::clone |
( |
| ) |
const |
|
inlinevirtual |
| secure_vector< byte > Botan::TLS_PRF::derive |
( |
size_t |
key_len, |
|
|
const byte |
secret[], |
|
|
size_t |
secret_len, |
|
|
const byte |
seed[], |
|
|
size_t |
seed_len |
|
) |
| const |
|
virtual |
Implements Botan::KDF.
Definition at line 77 of file prf_tls.cpp.
81 secure_vector<byte> output(key_len);
83 size_t S1_len = (secret_len + 1) / 2,
84 S2_len = (secret_len + 1) / 2;
85 const byte* S1 = secret;
86 const byte* S2 = secret + (secret_len - S2_len);
88 P_hash(output, hmac_md5, S1, S1_len, seed, seed_len);
89 P_hash(output, hmac_sha1, S2, S2_len, seed, seed_len);
template<typename Alloc , typename Alloc2 >
| secure_vector<byte> Botan::KDF::derive_key |
( |
size_t |
key_len, |
|
|
const std::vector< byte, Alloc > & |
secret, |
|
|
const std::vector< byte, Alloc2 > & |
salt |
|
) |
| const |
|
inlineinherited |
Derive a key
- Parameters
-
| key_len | the desired output length in bytes |
| secret | the secret input |
| salt | a diversifier |
Definition at line 40 of file kdf.h.
References Botan::TLS::derive_key().
44 return derive_key(key_len, &secret[0], secret.size(),
45 &salt[0], salt.size());
Derive a key
- Parameters
-
| key_len | the desired output length in bytes |
| secret | the secret input |
| salt | a diversifier |
| salt_len | size of salt in bytes |
Definition at line 27 of file kdf.cpp.
References Botan::KDF::derive_key().
31 return derive_key(key_len, &secret[0], secret.size(),
| secure_vector< byte > Botan::KDF::derive_key |
( |
size_t |
key_len, |
|
|
const byte |
secret[], |
|
|
size_t |
secret_len, |
|
|
const std::string & |
salt = "" |
|
) |
| const |
|
inherited |
Derive a key
- Parameters
-
| key_len | the desired output length in bytes |
| secret | the secret input |
| secret_len | size of secret in bytes |
| salt | a diversifier |
Definition at line 38 of file kdf.cpp.
References Botan::KDF::derive_key().
43 reinterpret_cast<const byte*>(salt.data()),
| secure_vector< byte > Botan::KDF::derive_key |
( |
size_t |
key_len, |
|
|
const byte |
secret[], |
|
|
size_t |
secret_len, |
|
|
const byte |
salt[], |
|
|
size_t |
salt_len |
|
) |
| const |
|
inherited |
Derive a key
- Parameters
-
| key_len | the desired output length in bytes |
| secret | the secret input |
| secret_len | size of secret in bytes |
| salt | a diversifier |
| salt_len | size of salt in bytes |
Definition at line 50 of file kdf.cpp.
54 return derive(key_len, secret, secret_len, salt, salt_len);
| std::string Botan::TLS_PRF::name |
( |
| ) |
const |
|
inlinevirtual |
The documentation for this class was generated from the following files: