32#include <openssl/evp.h>
35namespace aes_encryption {
66 const std::string
mode,
size_t block_size);
86 unsigned int source_length,
unsigned char *dest,
87 const unsigned char *
key,
unsigned int key_length,
89 bool padding,
size_t *encrypted_length);
92 unsigned int source_length,
unsigned char *dest,
93 const unsigned char *
key,
unsigned int key_length,
95 bool padding,
size_t *decrypted_length);
std::string data_id_
Definition: aes.h:75
Keyring_aes_opmode opmode() const
Definition: aes.h:70
bool valid() const
Definition: aes.h:71
Keyring_aes_opmode opmode_
Definition: aes.h:77
Aes_operation_context(const std::string data_id, const std::string auth_id, const std::string mode, size_t block_size)
Definition: aes.cc:49
bool valid_
Definition: aes.h:78
const std::string data_id() const
Definition: aes.h:68
std::string auth_id_
Definition: aes.h:76
static const Known_block_mode_map s_blockmodes
Definition: aes.h:72
~Aes_operation_context()=default
const std::string auth_id() const
Definition: aes.h:69
aes_return_status
Definition: aes.h:49
@ AES_OP_OK
Definition: aes.h:50
@ AES_DECRYPTION_ERROR
Definition: aes.h:57
@ AES_IV_EMPTY
Definition: aes.h:55
@ AES_CTX_ALLOCATION_ERROR
Definition: aes.h:53
@ AES_INVALID_BLOCK_MODE
Definition: aes.h:54
@ AES_KEY_TRANSFORMATION_ERROR
Definition: aes.h:52
@ AES_OUTPUT_SIZE_NULL
Definition: aes.h:51
@ AES_ENCRYPTION_ERROR
Definition: aes.h:56
const EVP_CIPHER * aes_evp_type(const Keyring_aes_opmode mode)
Definition: aes.cc:72
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:191
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:141
Keyring_aes_opmode
Supported AES cipher/block mode combos.
Definition: aes.h:38
@ keyring_aes_opmode_invalid
std::pair< std::string, size_t > block_mode_key
Definition: aes.h:60
size_t get_ciphertext_size(size_t input_size, const Keyring_aes_opmode mode)
Definition: aes.cc:131
std::map< block_mode_key, Keyring_aes_opmode > Known_block_mode_map
Definition: aes.h:61
Definition: keyring_encryption_service_definition.h:32
mode
Definition: file_handle.h:60
required string key
Definition: replication_asynchronous_connection_failover.proto:60
repeated Source source
Definition: replication_asynchronous_connection_failover.proto:42