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