12#include <botan/cipher_mode.h>
16#include <botan/pubkey.h>
41 std::unique_ptr<KDF> kdf,
42 std::unique_ptr<MessageAuthenticationCode> mac,
43 size_t mac_key_len = 20);
61 std::unique_ptr<KDF> kdf,
62 std::unique_ptr<Cipher_Mode> cipher,
63 size_t cipher_key_len,
64 std::unique_ptr<MessageAuthenticationCode> mac,
65 size_t mac_key_len = 20);
68 inline void set_other_key(
const std::vector<uint8_t>& other_pub_key) { m_other_pub_key = other_pub_key; }
78 std::vector<uint8_t> enc(
const uint8_t in[],
size_t length,
RandomNumberGenerator& rng)
const override;
84 std::vector<uint8_t> m_other_pub_key;
85 std::vector<uint8_t> m_own_pub_key;
87 std::unique_ptr<KDF> m_kdf;
88 std::unique_ptr<Cipher_Mode> m_cipher;
89 const size_t m_cipher_key_len;
90 std::unique_ptr<MessageAuthenticationCode> m_mac;
91 const size_t m_mac_keylen;
114 std::unique_ptr<KDF> kdf,
115 std::unique_ptr<MessageAuthenticationCode> mac,
116 size_t mac_key_len = 20);
134 std::unique_ptr<KDF> kdf,
135 std::unique_ptr<Cipher_Mode> cipher,
136 size_t cipher_key_len,
137 std::unique_ptr<MessageAuthenticationCode> mac,
138 size_t mac_key_len = 20);
150 size_t plaintext_length(
size_t ctext_len)
const override;
154 const size_t m_pub_key_size;
156 std::unique_ptr<KDF> m_kdf;
157 std::unique_ptr<Cipher_Mode> m_cipher;
158 const size_t m_cipher_key_len;
159 std::unique_ptr<MessageAuthenticationCode> m_mac;
160 const size_t m_mac_keylen;
#define BOTAN_DEPRECATED_HEADER(hdr)
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_DEPRECATED(msg)
void set_initialization_vector(const InitializationVector &iv)
DLIES_Decryptor(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(const DH_PrivateKey &own_priv_key, RandomNumberGenerator &rng, std::unique_ptr< KDF > kdf, std::unique_ptr< MessageAuthenticationCode > mac, size_t mac_key_len=20)
void set_initialization_vector(const InitializationVector &iv)
void set_other_key(const std::vector< uint8_t > &other_pub_key)
virtual size_t ciphertext_length(size_t ptext_len) const =0
virtual size_t maximum_input_size() const =0
OctetString InitializationVector
std::vector< T, secure_allocator< T > > secure_vector