I am studying AES and trying to implement it. But I am having difficulty understanding the Mixing Column step. In that step we have to perform matrix multiplication between the state matrix and another fixed matrix. Here is the example given in the material I am studying from: enter image description here

I am not getting the 03*2F part. How did it turn into (02*2F)xor2F? Is the material correct or does it have some mistake?

Edit: I got that 3 = 2 xor 1 hence 3 x 2F = (2 xor 1) x 2F = (2 x 2F) xor 2F but what in case if 4 x 2F? 4 = 2 xor 6 so (2 xor 6) x 2F then what?


1 Answer 1


If you want to implement it, I suggest you read the spec. The material you were given is probably not enough to implement it.

The reason that looks confusing is that it is not ordinary multiplication; it is multiplication in a finite field. There are lots of resources where you can learn about finite fields.

  • $\begingroup$ can you just give a short explanation for why 3 becomes 2 and why take xor? I read the theory, but understanding with an example works better for me $\endgroup$ Mar 30, 2020 at 1:14
  • $\begingroup$ @ShantanuShinde I suggest that you read the theory, work through what you think the answer should be, see if you got the same thing, and if not, then edit the question to show your reasoning and your work and how you got your answer. $\endgroup$
    – D.W.
    Mar 30, 2020 at 1:21
  • $\begingroup$ I read the theory. I still can't get how 03 to 02 $\endgroup$ Mar 30, 2020 at 1:33
  • $\begingroup$ I got that 3 = 2 xor 1 hence 3 x 2F = (2 xor 1) x 2F = (2 x 2F) xor 2F, right? but what would have been the case if we had to do 4 x 2F? $\endgroup$ Mar 30, 2020 at 1:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.