For AES with a 128 bit block length and a 128bit key length
For AES with a 128 bit block length and a 128-bit key length, what is the output of the first round of AES if the plaintext consists of 128 0\'s and the first subkey also consists of 128 0’s?
Solution
Plaintext in Hexadecimal (128 bits): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
first subkey in Hexadecimal (128 bits): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Dividing into four groups :- w[0] , w[1] , w[2] , w[3]
w[0] = (00, 00, 00, 00),w[1] = (00, 00, 00, 00),w[2] = (00, 00, 00, 00),w[3] = (00, 00, 00, 00)
Let us find g(w[3]):
The first step in finding g(w[3]) is circular byte left shift of w[3]: (00, 00, 00, 00), doing box substtituion keeps our value same
Then Adding round constant (01, 00, 00, 00) gives: g(w[3]) = (01, 00, 00, 00)
Taking XOR of w[0] and g(w[3]) gives w[4] => w[4] = w[0] g(w[3]) = (01, 00, 00, 00).
Taking XOR of w[4] and w[1] to give w[5] = w[4] w[1] = (01, 00, 00, 00).
Taking XOR of w[5] and w[2] to give w[6] , w[6] = w[5] w[2] = (01, 00, 00, 00).,
Taking XOR of w[6] and w[3] to give w[7] , w[7] = w[6] w[3] = (01, 00, 00, 00).
This gives us the first round of AES :
01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
Thanks, I hope it clarifies.Let me know if there is anything.
