#include <dlies.h>
|
| DLIES_Encryptor (const DH_PrivateKey &own_priv_key, RandomNumberGenerator &rng, std::unique_ptr< KDF > kdf, std::unique_ptr< Cipher_Mode > cipher, size_t cipher_key_len, std::unique_ptr< MessageAuthenticationCode > mac, size_t mac_key_len=20) |
|
| DLIES_Encryptor (const DH_PrivateKey &own_priv_key, RandomNumberGenerator &rng, std::unique_ptr< KDF > kdf, std::unique_ptr< MessageAuthenticationCode > mac, size_t mac_key_len=20) |
|
std::vector< uint8_t > | encrypt (const uint8_t in[], size_t length, RandomNumberGenerator &rng) const |
|
std::vector< uint8_t > | encrypt (std::span< const uint8_t > in, RandomNumberGenerator &rng) const |
|
void | set_initialization_vector (const InitializationVector &iv) |
| Set the initialization vector for the data encryption method.
|
|
void | set_other_key (const std::vector< uint8_t > &other_pub_key) |
|
DLIES Encryption
Definition at line 23 of file dlies.h.
◆ DLIES_Encryptor() [1/2]
Stream mode: use KDF to provide a stream of bytes to xor with the message
- Parameters
-
own_priv_key | own (ephemeral) DH private key |
rng | the RNG to use |
kdf | the KDF that should be used |
mac | the MAC function that should be used |
mac_key_len | key length of the MAC function. Default = 20 bytes |
output = (ephemeral) public key + ciphertext + tag
Definition at line 14 of file dlies.cpp.
18 :
19 DLIES_Encryptor(own_priv_key, rng, std::move(kdf),
nullptr, 0, std::move(mac), mac_key_length)
20 {
21 }
DLIES_Encryptor(const DH_PrivateKey &own_priv_key, RandomNumberGenerator &rng, std::unique_ptr< KDF > kdf, std::unique_ptr< MessageAuthenticationCode > mac, size_t mac_key_len=20)
◆ DLIES_Encryptor() [2/2]
Block cipher mode
- Parameters
-
own_priv_key | own (ephemeral) DH private key |
rng | the RNG to use |
kdf | the KDF that should be used |
cipher | the block cipher that should be used |
cipher_key_len | the key length of the block cipher |
mac | the MAC function that should be used |
mac_key_len | key length of the MAC function. Default = 20 bytes |
output = (ephemeral) public key + ciphertext + tag
Definition at line 23 of file dlies.cpp.
29 :
30 m_other_pub_key(),
31 m_own_pub_key(own_priv_key.public_value()),
32 m_ka(own_priv_key, rng, "Raw"),
33 m_kdf(std::move(kdf)),
34 m_cipher(std::move(cipher)),
35 m_cipher_key_len(cipher_key_len),
36 m_mac(std::move(mac)),
37 m_mac_keylen(mac_key_length),
38 m_iv()
39 {
42 }
#define BOTAN_ASSERT_NONNULL(ptr)
References BOTAN_ASSERT_NONNULL.
◆ encrypt() [1/2]
std::vector< uint8_t > Botan::PK_Encryptor::encrypt |
( |
const uint8_t |
in[], |
|
|
size_t |
length, |
|
|
RandomNumberGenerator & |
rng |
|
) |
| const |
|
inlineinherited |
Encrypt a message.
- Parameters
-
in | the message as a byte array |
length | the length of the above byte array |
rng | the random number source to use |
- Returns
- encrypted message
Definition at line 38 of file pubkey.h.
40 {
41 return enc(in, length, rng);
42 }
Referenced by Botan::KeyPair::encryption_consistency_check().
◆ encrypt() [2/2]
std::vector< uint8_t > Botan::PK_Encryptor::encrypt |
( |
std::span< const uint8_t > |
in, |
|
|
RandomNumberGenerator & |
rng |
|
) |
| const |
|
inlineinherited |
Encrypt a message.
- Parameters
-
in | the message |
rng | the random number source to use |
- Returns
- encrypted message
Definition at line 50 of file pubkey.h.
52 {
53 return enc(in.data(), in.size(), rng);
54 }
◆ set_initialization_vector()
Set the initialization vector for the data encryption method.
Definition at line 71 of file dlies.h.
◆ set_other_key()
void Botan::DLIES_Encryptor::set_other_key |
( |
const std::vector< uint8_t > & |
other_pub_key | ) |
|
|
inline |
Definition at line 65 of file dlies.h.
66 {
67 m_other_pub_key = other_pub_key;
68 }
The documentation for this class was generated from the following files: