32#include <openssl/evp.h>
65 const std::string &
mode,
size_t block_size);
85 unsigned int source_length,
unsigned char *dest,
86 const unsigned char *
key,
unsigned int key_length,
88 bool padding,
size_t *encrypted_length);
91 unsigned int source_length,
unsigned char *dest,
92 const unsigned char *
key,
unsigned int key_length,
94 bool padding,
size_t *decrypted_length);
std::string data_id_
Definition: aes.h:74
Keyring_aes_opmode opmode() const
Definition: aes.h:69
std::string data_id() const
Definition: aes.h:67
std::string auth_id() const
Definition: aes.h:68
bool valid() const
Definition: aes.h:70
Keyring_aes_opmode opmode_
Definition: aes.h:76
bool valid_
Definition: aes.h:77
Aes_operation_context(std::string data_id, std::string auth_id, const std::string &mode, size_t block_size)
Definition: aes.cc:48
std::string auth_id_
Definition: aes.h:75
static const Known_block_mode_map s_blockmodes
Definition: aes.h:71
~Aes_operation_context()=default
aes_return_status
Definition: aes.h:48
@ AES_OP_OK
Definition: aes.h:49
@ AES_DECRYPTION_ERROR
Definition: aes.h:56
@ AES_IV_EMPTY
Definition: aes.h:54
@ AES_CTX_ALLOCATION_ERROR
Definition: aes.h:52
@ AES_INVALID_BLOCK_MODE
Definition: aes.h:53
@ AES_KEY_TRANSFORMATION_ERROR
Definition: aes.h:51
@ AES_OUTPUT_SIZE_NULL
Definition: aes.h:50
@ AES_ENCRYPTION_ERROR
Definition: aes.h:55
const EVP_CIPHER * aes_evp_type(const Keyring_aes_opmode mode)
Definition: aes.cc:71
aes_return_status aes_decrypt(const unsigned char *source, unsigned int source_length, unsigned char *dest, const unsigned char *key, unsigned int key_length, enum Keyring_aes_opmode mode, const unsigned char *iv, bool padding, size_t *decrypted_length)
Definition: aes.cc:190
aes_return_status aes_encrypt(const unsigned char *source, unsigned int source_length, unsigned char *dest, const unsigned char *key, unsigned int key_length, Keyring_aes_opmode mode, const unsigned char *iv, bool padding, size_t *encrypted_length)
Definition: aes.cc:140
Keyring_aes_opmode
Supported AES cipher/block mode combos.
Definition: aes.h:37
@ keyring_aes_opmode_invalid
std::pair< std::string, size_t > block_mode_key
Definition: aes.h:59
size_t get_ciphertext_size(size_t input_size, const Keyring_aes_opmode mode)
Definition: aes.cc:130
std::map< block_mode_key, Keyring_aes_opmode > Known_block_mode_map
Definition: aes.h:60
mode
Definition: file_handle.h:61
required string key
Definition: replication_asynchronous_connection_failover.proto:60
repeated Source source
Definition: replication_asynchronous_connection_failover.proto:42