# AES128 Class Reference

128-bit Advanced Encryption Standard. More...

`#include <AES128.h>`

List of all members.

## Public Member Functions

void | set_key (const unsigned char in_key[16])
void | encrypt16 (unsigned char buffer[16])
void | decrypt16 (unsigned char buffer[16])

## Protected Member Functions

unsigned char | GF2M (unsigned char k, unsigned char b)
void | AddRoundKey (unsigned char *m, unsigned char *rk)
void | ShiftRows (unsigned char *m)
void | iShiftRows (unsigned char *m)
void | Substitution (unsigned char *m)
void | iSubstitution (unsigned char *m)
void | MixColumns (unsigned char *m)
void | iMixColumns (unsigned char *m)
unsigned int | RolSubByte (unsigned int n)

## Private Attributes

unsigned char | key_schedule [11][16]

## Detailed Description

128-bit Advanced Encryption Standard.

A class providing encryption facilities. It provide 128-bits Advanced Encryption Standard.

## Member Function Documentation

void AES128::AddRoundKey | ( | unsigned char * | m,
|  | unsigned char * | rk
| ) | `[protected]`

void AES128::decrypt16 | ( | unsigned char | buffer[16] | ) |

Decrypt 16 byte of data

Parameters:

  | buffer | 16 byte length buffer of data to decrypt

void AES128::encrypt16 | ( | unsigned char | buffer[16] | ) |

Crypt 16 byte of data

Parameters:

  | buffer | 16 byte length buffer of data to crypt

unsigned char AES128::GF2M | ( | unsigned char | k,
|  | unsigned char | b
| ) | `[protected]`

void AES128::iMixColumns | ( | unsigned char * | m | ) | `[protected]`

void AES128::iShiftRows | ( | unsigned char * | m | ) | `[protected]`

void AES128::iSubstitution | ( | unsigned char * | m | ) | `[protected]`

void AES128::MixColumns | ( | unsigned char * | m | ) | `[protected]`

unsigned int AES128::RolSubByte | ( | unsigned int | n | ) | `[protected]`

void AES128::set_key | ( | const unsigned char | in_key[16] | ) |

Set the current key

Parameters:

  | in_key | The key to use for encryption

void AES128::ShiftRows | ( | unsigned char * | m | ) | `[protected]`

void AES128::Substitution | ( | unsigned char * | m | ) | `[protected]`

## Member Data Documentation

unsigned char AES128::key_schedule[11][16]`[private]`

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

- Projects/raknet/include/raknet/AES128.h
- Projects/raknet/Source/AES128.cpp