AES-192 encryption class (running in Cipher Block Chaining mode)
More...
#include <aes192_encrypt.h>
|
| | AES192_Encrypt () |
| | Constructs a AES-192 generator (running in Cipher Block Chaining mode)
|
| |
| void | add (const DataBuffer &data) |
| | Add data to be encrypted.
|
| |
| void | add (const void *data, int size) |
| | Adds data to be encrypted.
|
| |
| void | calculate () |
| | Finalize encryption.
|
| |
| DataBuffer | get_data () const |
| | Get encrypted data.
|
| |
| 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.
|
| |
AES-192 encryption class (running in Cipher Block Chaining mode)
◆ AES192_Encrypt()
| clan::AES192_Encrypt::AES192_Encrypt |
( |
| ) |
|
Constructs a AES-192 generator (running in Cipher Block Chaining mode)
◆ add() [1/2]
| void clan::AES192_Encrypt::add |
( |
const DataBuffer & | data | ) |
|
Add data to be encrypted.
- Parameters
-
◆ add() [2/2]
| void clan::AES192_Encrypt::add |
( |
const void * | data, |
|
|
int | size ) |
Adds data to be encrypted.
◆ calculate()
| void clan::AES192_Encrypt::calculate |
( |
| ) |
|
◆ get_data()
| DataBuffer clan::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
◆ reset()
| void clan::AES192_Encrypt::reset |
( |
| ) |
|
◆ set_iv()
| void clan::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()
◆ set_key()
| void clan::AES192_Encrypt::set_key |
( |
const unsigned char | key[key_size] | ) |
|
Sets the cipher key.
This must be called before the initial add()
◆ set_padding()
| void clan::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)
- Parameters
-
| 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) |
◆ block_size
| const int clan::AES192_Encrypt::block_size = 16 |
|
static |
◆ iv_size
| const int clan::AES192_Encrypt::iv_size = 16 |
|
static |
◆ key_size
| const int clan::AES192_Encrypt::key_size = 24 |
|
static |
The documentation for this class was generated from the following file: