**3.1 AES key expansion**

Add Round Key transformation uses a sub-key for every round, which corresponds to the number of bytes from the initial key. For example, AES-128 converts to 44 bytes per word, and every word are indexed as W[index] = [0 … 43]. The first set of columns (W0, W1, W2, and W3) are all full with the given cipher key and the columns in locations that are multiples of four (W4, W8, W12, … , W40) are all generated using the following three operations:

