Check out the new USENIX Web site. next up previous
Next: The transformation ByteSub Up: Description of the Advanced Previous: Description of the Advanced

The transformation AddRoundKey

The input to the transformation AddRoundKey is a state $ (a_{ij})$, $ 0\le i<4, 0\le j<$Nb, and a round key, which is an array of bytes $ ($rk$ _{ij})$, $ 0\le i<4, 0\le j<$Nb. The output of AddRoundKey is the state $ (b_{ij}),0\le i<4, 0\le
j<$Nb, where

$\displaystyle b_{ij}=a_{ij}\oplus$   rk$\displaystyle _{ij}. $

The round keys are obtained from the cipher key by expanding the cipher key array $ (k_{ij})$ into an array $ (k_{ij})$, $ 0\le i< 4, 0\le j\le$   Nr$ \cdot$   Nb, called the expanded key. The round key for the initial application of AddRoundKey is given by the first Nb columns of the expanded key. The round key for the application of AddRoundKey in the $ m$-th round of AES is given by columns $ m$Nb$ ,\ldots,(m+1)$Nb$ -1$ of the expanded key, $ 1\le m\le$   Nr.

Roger Fischlin 2002-09-25