33 #include "../System/databuffer.h"
42 static std::shared_ptr<AES256_Encrypt>
create();
56 virtual void reset() = 0;
62 virtual void set_iv(
const unsigned char iv[iv_size]) = 0;
67 virtual void set_key(
const unsigned char key[key_size]) = 0;
77 virtual void set_padding(
bool value =
true,
bool use_pkcs7 =
true,
unsigned int num_additional_padded_blocks = 0) = 0;
80 virtual void add(
const void *
data,
int size) = 0;
virtual DataBufferPtr data() const =0
Get encrypted data.
static const int key_size
Definition: aes256_encrypt.h:52
virtual void calculate()=0
Finalize encryption.
virtual void set_padding(bool value=true, bool use_pkcs7=true, unsigned int num_additional_padded_blocks=0)=0
Enable AES Padding.
AES-256 encryption class (running in Cipher Block Chaining mode)
Definition: aes256_encrypt.h:38
virtual void set_iv(const unsigned char iv[iv_size])=0
Sets the initialisation vector.
virtual void add(const void *data, int size)=0
Adds data to be encrypted.
virtual void set_key(const unsigned char key[key_size])=0
Sets the cipher key.
static std::shared_ptr< AES256_Encrypt > create()
Constructs a AES-256 generator (running in Cipher Block Chaining mode)
std::shared_ptr< AES256_Encrypt > AES256_EncryptPtr
Definition: aes256_encrypt.h:91
static const int iv_size
Definition: aes256_encrypt.h:51
std::shared_ptr< DataBuffer > DataBufferPtr
Definition: databuffer.h:66
static const int block_size
Definition: aes256_encrypt.h:53
Definition: Application/application.h:35
virtual void reset()=0
Resets the encryption.