#include <prf_ssl3.h>
|
| void | clear () |
| KDF * | clone () const |
| SecureVector< byte > | derive (size_t, const byte[], size_t, const byte[], size_t) const |
| SecureVector< byte > | derive_key (size_t key_len, const byte secret[], size_t secret_len, const byte salt[], size_t salt_len) const |
| SecureVector< byte > | derive_key (size_t key_len, const byte secret[], size_t secret_len, const std::string &salt="") const |
| SecureVector< byte > | derive_key (size_t key_len, const MemoryRegion< byte > &secret, const byte salt[], size_t salt_len) const |
| SecureVector< byte > | derive_key (size_t key_len, const MemoryRegion< byte > &secret, const MemoryRegion< byte > &salt) const |
| SecureVector< byte > | derive_key (size_t key_len, const MemoryRegion< byte > &secret, const std::string &salt="") const |
| std::string | name () const |
PRF used in SSLv3
Definition at line 18 of file prf_ssl3.h.
◆ clear()
| void Botan::KDF::clear |
( |
| ) |
|
|
inlinevirtualinherited |
◆ clone()
| KDF * Botan::SSL3_PRF::clone |
( |
| ) |
const |
|
inlinevirtual |
◆ derive()
| SecureVector< byte > Botan::SSL3_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 50 of file prf_ssl3.cpp.
53 {
54 if(key_len > 416)
56
57 MD5 md5;
58 SHA_160 sha1;
59
60 OctetString output;
61
62 int counter = 0;
63 while(key_len)
64 {
65 const size_t produce = std::min<size_t>(key_len, md5.output_length());
66
67 output = output + next_hash(counter++, produce, md5, sha1,
68 secret, secret_len, seed, seed_len);
69
70 key_len -= produce;
71 }
72
73 return output.bits_of();
74 }
std::invalid_argument Invalid_Argument
References Botan::OctetString::bits_of(), and Botan::MD5::output_length().
◆ derive_key() [1/5]
| SecureVector< 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 61 of file kdf.cpp.
64 {
65 return derive(key_len, secret, secret_len, salt, salt_len);
66 }
◆ derive_key() [2/5]
| SecureVector< 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 49 of file kdf.cpp.
52 {
54 reinterpret_cast<const byte*>(salt.data()),
55 salt.length());
56 }
SecureVector< byte > derive_key(size_t key_len, const MemoryRegion< byte > &secret, const std::string &salt="") const
References derive_key().
◆ derive_key() [3/5]
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.
30 {
31 return derive_key(key_len, &secret[0], secret.size(),
32 salt, salt_len);
33 }
References derive_key(), and Botan::MemoryRegion< T >::size().
◆ derive_key() [4/5]
◆ derive_key() [5/5]
◆ name()
| std::string Botan::SSL3_PRF::name |
( |
| ) |
const |
|
inlinevirtual |
The documentation for this class was generated from the following files: