In the discussion of MixColumns and InvMixColumns it was sta
In the discussion of MixColumns and InvMixColumns, it was states that;
b(x) = a-1(x) mod (x4 + 1)
Where a(x) = {03}x3 + {01}x2 + {01}x + {02} + and b{x} = {0B}x3 + {0D}x2 + {09}x + {0E}.
Show that this is true.
Solution
Answer:-
The transformations AddRoundKey and InvMixColumns do not alter the sequence of bytes in State. If we view the key as a sequence
of words, then both AddRoundKey and InvMixColumns operate on State one column at a time. These two operations are linear with
respect to the column input. That is, for a given State Si and a given round key wj:
InvMixColumns (Si wj) = [InvMixColumns (Si)] [InvMixColumns (wj)]
To see this, suppose that the first column of State Si is the sequence (y0, y1, y2, y3) and the first column of the round key wj is (k0, k1, k2,
k3). Then we need to show that
Let us demonstrate that for the first column entry. We need to show that:
[{0E} · (y0 k0)] [{0B} · (y1 k1)] [{0D} · (y2 k2)] [{09} · (y3 k3)]
= [{0E} · y0] [{0B} · y1] [{0D} · y2] [{09} · y3]
[[{0E} · k0] ] [{0B} · k1] [{0D} · k2] [{09} · k3]
This equation is valid by inspection. Thus, we can interchange AddRoundKey and InvMixColumns, provided that we first apply
InvMixColumns to the round key. Note that we do not need to apply InvMixColumns to the round key for the input to the first
AddRoundKey transformation (preceding the first round) nor to the last AddRoundKey transformation (in round 10). This is because these
two AddRoundKey transformations are not interchanged with InvMixColumns to produce the equivalent decryption algorithm.
