GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
aes_ssl.h
1 
29 #pragma once
30 
31 #include <openssl/aes.h>
32 #include <openssl/evp.h>
33 
34 #include "GpgFrontend.h"
35 
37 
48 int aes_256_cbc_init(uint8_t *key_data, int key_data_len, uint8_t *salt,
49  EVP_CIPHER_CTX *e_ctx, EVP_CIPHER_CTX *d_ctx);
50 
59 uint8_t *aes_256_cbc_encrypt(EVP_CIPHER_CTX *e, uint8_t *plaintext, int *len);
60 
69 uint8_t *aes_256_cbc_decrypt(EVP_CIPHER_CTX *e, uint8_t *ciphertext, int *len);
70 
71 } // namespace GpgFrontend::RawAPI
Definition: aes_ssl.h:36
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