|
static void | LoadByte (AES_state *s, uint8_t byte, int r, int c) |
| Convert a byte to sliced form, storing it corresponding to given row and column in s. More...
|
|
static void | LoadBytes (AES_state *s, const uint8_t *data16) |
| Load 16 bytes of data into 8 sliced integers. More...
|
|
static void | SaveBytes (uint8_t *data16, const AES_state *s) |
| Convert 8 sliced integers into 16 bytes of data. More...
|
|
static void | SubBytes (AES_state *s, int inv) |
|
static void | ShiftRows (AES_state *s) |
|
static void | InvShiftRows (AES_state *s) |
|
static void | MixColumns (AES_state *s, int inv) |
|
static void | AddRoundKey (AES_state *s, const AES_state *round) |
|
static void | GetOneColumn (AES_state *s, const AES_state *a, int c) |
| column_0(s) = column_c(a) More...
|
|
static void | KeySetupColumnMix (AES_state *s, AES_state *r, const AES_state *a, int c1, int c2) |
| column_c1(r) |= (column_0(s) ^= column_c2(a)) More...
|
|
static void | KeySetupTransform (AES_state *s, const AES_state *r) |
| Rotate the rows in s one position upwards, and xor in r. More...
|
|
static void | MultX (AES_state *s) |
|
static void | AES_setup (AES_state *rounds, const uint8_t *key, int nkeywords, int nrounds) |
| Expand the cipher key into the key schedule. More...
|
|
static void | AES_encrypt (const AES_state *rounds, int nrounds, uint8_t *cipher16, const uint8_t *plain16) |
|
static void | AES_decrypt (const AES_state *rounds, int nrounds, uint8_t *plain16, const uint8_t *cipher16) |
|
void | AES128_init (AES128_ctx *ctx, const uint8_t *key16) |
|
void | AES128_encrypt (const AES128_ctx *ctx, size_t blocks, uint8_t *cipher16, const uint8_t *plain16) |
|
void | AES128_decrypt (const AES128_ctx *ctx, size_t blocks, uint8_t *plain16, const uint8_t *cipher16) |
|
void | AES192_init (AES192_ctx *ctx, const uint8_t *key24) |
|
void | AES192_encrypt (const AES192_ctx *ctx, size_t blocks, uint8_t *cipher16, const uint8_t *plain16) |
|
void | AES192_decrypt (const AES192_ctx *ctx, size_t blocks, uint8_t *plain16, const uint8_t *cipher16) |
|
void | AES256_init (AES256_ctx *ctx, const uint8_t *key32) |
|
void | AES256_encrypt (const AES256_ctx *ctx, size_t blocks, uint8_t *cipher16, const uint8_t *plain16) |
|
void | AES256_decrypt (const AES256_ctx *ctx, size_t blocks, uint8_t *plain16, const uint8_t *cipher16) |
|
static void AES_setup |
( |
AES_state * |
rounds, |
|
|
const uint8_t * |
key, |
|
|
int |
nkeywords, |
|
|
int |
nrounds |
|
) |
| |
|
static |
Expand the cipher key into the key schedule.
state must be a pointer to an array of size nrounds + 1. key must be a pointer to 4 * nkeywords bytes.
AES128 uses nkeywords = 4, nrounds = 10 AES192 uses nkeywords = 6, nrounds = 12 AES256 uses nkeywords = 8, nrounds = 14
Definition at line 423 of file ctaes.c.