33 void expand_key(uint8_t previous_key[16],uint8_t round);
64 uint8_t
_mult(uint8_t a, uint8_t b);
void aes128_encrypt(uint8_t txt[16], uint8_t key[16])
encrypts a block of 16 bytes (128 bits)
Definition: aes_encryption.c:151
void expand_key(uint8_t key[16], uint8_t round_nbr)
expand_key generates the next key in the key schedule
Definition: aes_encryption.c:83
uint8_t s(uint8_t c)
s is a transformation that maps an 8-bit input, c, to an 8-bit output according to the S-Box...
Definition: aes_encryption.c:14
uint8_t _mult(uint8_t a, uint8_t b)
does the multiplication of 2 elements in Galois Field GF(2^8). it can do only multiplication of any e...
Definition: aes_encryption.c:115
void shift_rows(uint8_t block[16])
does a circular left shift on the rows of the input 4x4 matrix. 1st row is not shifted, 2nd row is shifted 1 element, 3d row is shifted 2 elements, 4th row is shifted 3 elements.
Definition: aes_encryption.c:27
void mix_columns(uint8_t B[16])
performs a linear transformation on every column in the 4x4 input matrix. Every column is multiplied ...
Definition: aes_encryption.c:135