MySQL 8.0.40
Source Code Documentation
|
Classes | |
class | Aes_operation_context |
Typedefs | |
using | block_mode_key = std::pair< std::string, size_t > |
using | Known_block_mode_map = std::map< block_mode_key, Keyring_aes_opmode > |
Enumerations | |
enum class | Keyring_aes_opmode { keyring_aes_256_ecb = 0 , keyring_aes_256_cbc , keyring_aes_256_cfb1 , keyring_aes_256_cfb8 , keyring_aes_256_cfb128 , keyring_aes_256_ofb , keyring_aes_opmode_invalid } |
Supported AES cipher/block mode combos. More... | |
enum | aes_return_status { AES_OP_OK , AES_OUTPUT_SIZE_NULL , AES_KEY_TRANSFORMATION_ERROR , AES_CTX_ALLOCATION_ERROR , AES_INVALID_BLOCK_MODE , AES_IV_EMPTY , AES_ENCRYPTION_ERROR , AES_DECRYPTION_ERROR } |
Functions | |
const EVP_CIPHER * | aes_evp_type (const Keyring_aes_opmode mode) |
bool | aes_create_key (const unsigned char *key, unsigned int key_length, std::unique_ptr< unsigned char[]> &rkey, size_t *rkey_size, Keyring_aes_opmode opmode) |
Transforms an arbitrary long key into a fixed length AES key. More... | |
size_t | get_ciphertext_size (size_t input_size, const Keyring_aes_opmode mode) |
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) |
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) |
Variables | |
size_t | aes_opmode_key_sizes [] |
using keyring_common::aes_encryption::block_mode_key = typedef std::pair<std::string, size_t> |
using keyring_common::aes_encryption::Known_block_mode_map = typedef std::map<block_mode_key, Keyring_aes_opmode> |
|
strong |
bool keyring_common::aes_encryption::aes_create_key | ( | const unsigned char * | key, |
unsigned int | key_length, | ||
std::unique_ptr< unsigned char[]> & | rkey, | ||
size_t * | rkey_size, | ||
Keyring_aes_opmode | opmode | ||
) |
Transforms an arbitrary long key into a fixed length AES key.
[in] | key | Key to use for real key creation |
[in] | key_length | Length of the key |
[out] | rkey | Generated key |
[out] | rkey_size | Size of generated key |
[in] | opmode | encryption mode |
true | Success |
false | Error |
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 | ||
) |
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 | ||
) |
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 | ||
) |
size_t keyring_common::aes_encryption::aes_opmode_key_sizes[] |