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 "GpgFrontend.h"
33
34#include <openssl/aes.h>
35#include <openssl/evp.h>
36
38
49int 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
60uint8_t *aes_256_cbc_encrypt(EVP_CIPHER_CTX *e, uint8_t *plaintext, int *len);
61
70uint8_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