AES-192 encryption class (running in Cipher Block Chaining mode). More...
#include <aes192_encrypt.h>
Public Member Functions | |
Construction | |
| CL_AES192_Encrypt () | |
| Constructs a AES-192 generator (running in Cipher Block Chaining mode). | |
Attributes | |
| CL_DataBuffer | get_data () const |
| Get encrypted data. | |
Operations | |
|
| |
| static const int | iv_size = 16 |
| static const int | key_size = 24 |
| static const int | block_size = 16 |
| void | reset () |
| Resets the encryption. | |
| void | set_iv (const unsigned char iv[iv_size]) |
| Sets the initialisation vector. | |
| void | set_key (const unsigned char key[key_size]) |
| Sets the cipher key. | |
| void | set_padding (bool value=true, bool use_pkcs7=true, unsigned int num_additional_padded_blocks=0) |
| Enable AES Padding. | |
| void | add (const void *data, int size) |
| Adds data to be encrypted. | |
| void | add (const CL_DataBuffer &data) |
| Add data to be encrypted. | |
| void | calculate () |
| Finalize encryption. | |
AES-192 encryption class (running in Cipher Block Chaining mode).
| CL_AES192_Encrypt::CL_AES192_Encrypt | ( | ) |
Constructs a AES-192 generator (running in Cipher Block Chaining mode).
| void CL_AES192_Encrypt::add | ( | const void * | data, | |
| int | size | |||
| ) |
Adds data to be encrypted.
| void CL_AES192_Encrypt::add | ( | const CL_DataBuffer & | data | ) |
Add data to be encrypted.
| data | = Data Buffer |
| void CL_AES192_Encrypt::calculate | ( | ) |
Finalize encryption.
| CL_DataBuffer CL_AES192_Encrypt::get_data | ( | ) | const |
Get encrypted data.
This is the databuffer used internally to store the encrypted data. You may call "set_size()" to clear the buffer, inbetween calls to "add()" You may call "set_capacity()" to optimise storage requirements before the add() call
| void CL_AES192_Encrypt::reset | ( | ) |
Resets the encryption.
| void CL_AES192_Encrypt::set_iv | ( | const unsigned char | iv[iv_size] | ) |
Sets the initialisation vector.
This should be a random number
This must be called before the initial add()
| void CL_AES192_Encrypt::set_key | ( | const unsigned char | key[key_size] | ) |
Sets the cipher key.
This must be called before the initial add()
| void CL_AES192_Encrypt::set_padding | ( | bool | value = true, |
|
| bool | use_pkcs7 = true, |
|||
| unsigned int | num_additional_padded_blocks = 0 | |||
| ) |
Enable AES Padding.
Example (use_pkcs7==true) : ... 0x03 0x03 0x03 (3 octets of padding) Example (use_pkcs7==false) : ... 0x02 0x02 0x02 (3 octets of padding, the last octet is the length)
| value | = true = Enable padding (default) | |
| use_pkcs7 | = true = This uses the PKCS#7/RFC3369 method (Enabled by default). false = use the TLS method (rfc2246) | |
| num_additional_padded_blocks | = (Only valid when use_pkcs7==false). Set to "frustrate attacks on a protocol based on analysis of the lengths of exchanged messages". (Range 0 to 15) |
const int CL_AES192_Encrypt::block_size = 16 [static] |
const int CL_AES192_Encrypt::iv_size = 16 [static] |
const int CL_AES192_Encrypt::key_size = 24 [static] |
1.7.1