8#include <botan/internal/keypair.h>
9#include <botan/pubkey.h>
20 std::string_view padding)
32 std::vector<uint8_t> plaintext;
35 std::vector<uint8_t> ciphertext = encryptor.
encrypt(plaintext, rng);
36 if(ciphertext == plaintext)
39 std::vector<uint8_t> decrypted =
unlock(decryptor.
decrypt(ciphertext));
41 return (plaintext == decrypted);
50 std::string_view padding)
52 PK_Signer signer(private_key, rng, padding);
55 std::vector<uint8_t> message(32);
56 rng.
randomize(message.data(), message.size());
58 std::vector<uint8_t> signature;
secure_vector< uint8_t > decrypt(const uint8_t in[], size_t length) const
size_t maximum_input_size() const override
std::vector< uint8_t > encrypt(const uint8_t in[], size_t length, RandomNumberGenerator &rng) const
std::vector< uint8_t > sign_message(const uint8_t in[], size_t length, RandomNumberGenerator &rng)
bool verify_message(const uint8_t msg[], size_t msg_length, const uint8_t sig[], size_t sig_length)
void randomize(std::span< uint8_t > output)
void random_vec(std::span< uint8_t > v)
bool signature_consistency_check(RandomNumberGenerator &rng, const Private_Key &private_key, const Public_Key &public_key, std::string_view padding)
bool encryption_consistency_check(RandomNumberGenerator &rng, const Private_Key &private_key, const Public_Key &public_key, std::string_view padding)
std::vector< T > unlock(const secure_vector< T > &in)