Rijndael Class Reference

## Public Types

enum | Direction { Encrypt, Decrypt, Encrypt, Decrypt }
enum | Mode { ECB, CBC, CFB1, ECB, CBC, CFB1 }
enum | KeyLength { Key16Bytes, Key24Bytes, Key32Bytes, Key16Bytes, Key24Bytes, Key32Bytes }
enum | Direction { Encrypt, Decrypt, Encrypt, Decrypt }
enum | Mode { ECB, CBC, CFB1, ECB, CBC, CFB1 }
enum | KeyLength { Key16Bytes, Key24Bytes, Key32Bytes, Key16Bytes, Key24Bytes, Key32Bytes }

## Public Member Functions

int | init (Mode mode, Direction dir, const uint8_t *key, KeyLength keyLen, uint8_t *initVector=0)
int | blockEncrypt (const uint8_t *input, int inputLen, uint8_t *outBuffer)
int | padEncrypt (const uint8_t *input, int inputOctets, uint8_t *outBuffer)
int | blockDecrypt (const uint8_t *input, int inputLen, uint8_t *outBuffer)
int | padDecrypt (const uint8_t *input, int inputOctets, uint8_t *outBuffer)
int | init (Mode mode, Direction dir, const uint8_t *key, KeyLength keyLen, uint8_t *initVector=0)
int | blockEncrypt (const uint8_t *input, int inputLen, uint8_t *outBuffer)
int | padEncrypt (const uint8_t *input, int inputOctets, uint8_t *outBuffer)
int | blockDecrypt (const uint8_t *input, int inputLen, uint8_t *outBuffer)
int | padDecrypt (const uint8_t *input, int inputOctets, uint8_t *outBuffer)

## Protected Types

enum | State { Valid, Invalid, Valid, Invalid }
enum | State { Valid, Invalid, Valid, Invalid }

## Protected Member Functions

void | keySched (uint8_t key[_MAX_KEY_COLUMNS][4])
void | keyEncToDec ()
void | encrypt (const uint8_t a[16], uint8_t b[16])
void | decrypt (const uint8_t a[16], uint8_t b[16])
void | keySched (uint8_t key[_MAX_KEY_COLUMNS][4])
void | keyEncToDec ()
void | encrypt (const uint8_t a[16], uint8_t b[16])
void | decrypt (const uint8_t a[16], uint8_t b[16])

## Protected Attributes

State | m_state
Mode | m_mode
Direction | m_direction
uint8_t | m_initVector [MAX_IV_SIZE]
uint32_t | m_uRounds
uint8_t | m_expandedKey [_MAX_ROUNDS+1][4][4]

The documentation for this class was generated from the following files:

- apps/elftosb/common/rijndael.h
- apps/elftosb/common/rijndael.cpp