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:61
 
required string key
Definition: replication_asynchronous_connection_failover.proto:60
 
repeated Source source
Definition: replication_asynchronous_connection_failover.proto:42