aes_ssl.h
#ifndef GPGFRONTEND_AES_SSL_H
#define GPGFRONTEND_AES_SSL_H
#include <openssl/aes.h>
#include <openssl/evp.h>
#include "GpgFrontend.h"
namespace GpgFrontend::RawAPI {
int aes_256_cbc_init(uint8_t *key_data, int key_data_len, uint8_t *salt,
EVP_CIPHER_CTX *e_ctx, EVP_CIPHER_CTX *d_ctx);
uint8_t *aes_256_cbc_encrypt(EVP_CIPHER_CTX *e, uint8_t *plaintext, int *len);
uint8_t *aes_256_cbc_decrypt(EVP_CIPHER_CTX *e, uint8_t *ciphertext, int *len);
} // namespace GpgFrontend::RawAPI
#endif // GPGFRONTEND_AES_SSL_H
GpgFrontend::RawAPI::aes_256_cbc_decrypt
uint8_t * aes_256_cbc_decrypt(EVP_CIPHER_CTX *e, uint8_t *ciphertext, int *len)
Decrypt *len bytes of ciphertext.
Definition: aes_ssl_cbc.cpp:86
GpgFrontend::RawAPI
Definition: aes_ssl.h:37
GpgFrontend::RawAPI::aes_256_cbc_encrypt
uint8_t * aes_256_cbc_encrypt(EVP_CIPHER_CTX *e, uint8_t *plaintext, int *len)
Encrypt *len bytes of data All data going in & out is considered binary (uint8_t[])
Definition: aes_ssl_cbc.cpp:58
GpgFrontend::RawAPI::aes_256_cbc_init
int aes_256_cbc_init(uint8_t *key_data, int key_data_len, uint8_t *salt, EVP_CIPHER_CTX *e_ctx, EVP_CIPHER_CTX *d_ctx)
Create a 256 bit key and IV using the supplied key_data. salt can be added for taste....
Definition: aes_ssl_cbc.cpp:24