Kinetis Bootloader Host  2.0.0
Host Tools for Kinetis devices
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: