MySQL 9.0.0
Source Code Documentation
aes.h File Reference
#include <functional>
#include <map>
#include <string>
#include <utility>
#include <openssl/evp.h>

Go to the source code of this file.

Classes

class  keyring_common::aes_encryption::Aes_operation_context
 

Namespaces

namespace  keyring_common
 
namespace  keyring_common::aes_encryption
 

Typedefs

using keyring_common::aes_encryption::block_mode_key = std::pair< std::string, size_t >
 
using keyring_common::aes_encryption::Known_block_mode_map = std::map< block_mode_key, Keyring_aes_opmode >
 

Enumerations

enum class  keyring_common::aes_encryption::Keyring_aes_opmode {
  keyring_common::aes_encryption::keyring_aes_256_ecb = 0 , keyring_common::aes_encryption::keyring_aes_256_cbc , keyring_common::aes_encryption::keyring_aes_256_cfb1 , keyring_common::aes_encryption::keyring_aes_256_cfb8 ,
  keyring_common::aes_encryption::keyring_aes_256_cfb128 , keyring_common::aes_encryption::keyring_aes_256_ofb , keyring_common::aes_encryption::keyring_aes_opmode_invalid
}
 Supported AES cipher/block mode combos. More...
 
enum  keyring_common::aes_encryption::aes_return_status {
  keyring_common::aes_encryption::AES_OP_OK , keyring_common::aes_encryption::AES_OUTPUT_SIZE_NULL , keyring_common::aes_encryption::AES_KEY_TRANSFORMATION_ERROR , keyring_common::aes_encryption::AES_CTX_ALLOCATION_ERROR ,
  keyring_common::aes_encryption::AES_INVALID_BLOCK_MODE , keyring_common::aes_encryption::AES_IV_EMPTY , keyring_common::aes_encryption::AES_ENCRYPTION_ERROR , keyring_common::aes_encryption::AES_DECRYPTION_ERROR
}
 

Functions

const EVP_CIPHER * keyring_common::aes_encryption::aes_evp_type (const Keyring_aes_opmode mode)
 
size_t keyring_common::aes_encryption::get_ciphertext_size (size_t input_size, const Keyring_aes_opmode mode)
 
aes_return_status keyring_common::aes_encryption::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)
 
aes_return_status keyring_common::aes_encryption::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)