AES-128 encryption class (running in Cipher Block Chaining mode)  
 More...
#include <aes128_encrypt.h>
|  | 
|  | AES128_Encrypt () | 
|  | Constructs a AES-128 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-128 encryption class (running in Cipher Block Chaining mode) 
◆ AES128_Encrypt()
      
        
          | clan::AES128_Encrypt::AES128_Encrypt | ( |  | ) |  | 
      
 
Constructs a AES-128 generator (running in Cipher Block Chaining mode) 
 
 
◆ add() [1/2]
      
        
          | void clan::AES128_Encrypt::add | ( | const DataBuffer & | data | ) |  | 
      
 
Add data to be encrypted. 
- Parameters
- 
  
  
 
 
◆ add() [2/2]
      
        
          | void clan::AES128_Encrypt::add | ( | const void * | data, | 
        
          |  |  | int | size ) | 
      
 
Adds data to be encrypted. 
 
 
◆ calculate()
      
        
          | void clan::AES128_Encrypt::calculate | ( |  | ) |  | 
      
 
 
◆ get_data()
      
        
          | DataBuffer clan::AES128_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::AES128_Encrypt::reset | ( |  | ) |  | 
      
 
 
◆ set_iv()
      
        
          | void clan::AES128_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::AES128_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::AES128_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::AES128_Encrypt::block_size = 16 |  | static | 
 
 
◆ iv_size
  
  | 
        
          | const int clan::AES128_Encrypt::iv_size = 16 |  | static | 
 
 
◆ key_size
  
  | 
        
          | const int clan::AES128_Encrypt::key_size = 16 |  | static | 
 
 
The documentation for this class was generated from the following file: