GpgFrontend Project A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.

aes_ssl.h
1
29 #ifndef GPGFRONTEND_AES_SSL_H
30 #define GPGFRONTEND_AES_SSL_H
31
32 #include <openssl/aes.h>
33 #include <openssl/evp.h>
34
35 #include "GpgFrontend.h"
36
37 namespace GpgFrontend::RawAPI {
38
49 int aes_256_cbc_init(uint8_t *key_data, int key_data_len, uint8_t *salt,
50 EVP_CIPHER_CTX *e_ctx, EVP_CIPHER_CTX *d_ctx);
51
60 uint8_t *aes_256_cbc_encrypt(EVP_CIPHER_CTX *e, uint8_t *plaintext, int *len);
61
70 uint8_t *aes_256_cbc_decrypt(EVP_CIPHER_CTX *e, uint8_t *ciphertext, int *len);
71
72 } // namespace GpgFrontend::RawAPI
73
74 #endif // GPGFRONTEND_AES_SSL_H
GpgFrontend::RawAPI
Definition: aes_ssl.h:37
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
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::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