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 
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
Definition: aes_ssl.h:37
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
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
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