7 #ifndef BOTAN_PK_OPERATIONS_H_
8 #define BOTAN_PK_OPERATIONS_H_
21 #include <botan/pk_keys.h>
22 #include <botan/secmem.h>
26 class RandomNumberGenerator;
43 virtual size_t max_input_bits()
const = 0;
45 virtual size_t ciphertext_length(
size_t ptext_len)
const = 0;
57 const uint8_t ciphertext[],
58 size_t ciphertext_len) = 0;
60 virtual size_t plaintext_length(
size_t ctext_len)
const = 0;
76 virtual void update(
const uint8_t msg[],
size_t msg_len) = 0;
82 virtual bool is_valid_signature(
const uint8_t sig[],
size_t sig_len) = 0;
98 virtual void update(
const uint8_t msg[],
size_t msg_len) = 0;
109 virtual size_t signature_length()
const = 0;
121 const uint8_t other_key[],
size_t other_key_len,
122 const uint8_t salt[],
size_t salt_len) = 0;
124 virtual size_t agreed_value_size()
const = 0;
137 size_t desired_shared_key_len,
139 const uint8_t salt[],
150 size_t desired_shared_key_len,
151 const uint8_t salt[],
#define BOTAN_PUBLIC_API(maj, min)
std::vector< T, secure_allocator< T >> secure_vector
std::string decrypt(const uint8_t input[], size_t input_len, const std::string &passphrase)
int(* update)(CTX *, const void *, CC_LONG len)
std::string encrypt(const uint8_t input[], size_t input_len, const std::string &passphrase, RandomNumberGenerator &rng)