I don't get the modulo 10001 operation in MixColumns so much.

If I have to take the byte computations mod 100011011 anyway what leads me to a result of 4 byte length, why do I need the mod 10001 operation? Where is my mistake in thinking?

Can you maybe give me an example where I'ld need it?

  • 2
    $\begingroup$ I don't see any use of the constant 0b10001 = 0x11 in Rijndael's MixColumns. Maybe you could link to the relevant code sample? $\endgroup$ – yyyyyyy Mar 4 '15 at 13:50

I guess, you are referring to the mix columns operation from the point of view with polynomials over $GF(2^8)$.

A detailed explanation of this can be found at Wikipedia. It is a quite unusual structure, but it behaves just like you would consider any $GF$.

  • The columns are first considered as polynomial, or better: as coefficients for a polynomial of degree 3.
  • Then this polynomial is multiplied with a constant polynomial ($3x^3+x^2+x+2$)
  • Addition in this field is done with the XOR operation
  • Multiplication is quite complex, for details check out this.

As for your questions: There are two different modulo operations. One is considered on the $GF(2^8)$, which is $100011011$. But this is just the finite field for the coefficients, and in the overall structure you actually deal with polynomials modulo $x^4+1$. I guess you have an error in your actual number there, because if you just write the hexademcimal representation of the coefficients, that would be the coefficients $1,0,0,1$ (with coefficients from 0 to 255), or $1|00|00|01$ written in hexadecimal.

| improve this answer | |
  • 1
    $\begingroup$ Ah, yes, the all familiar off-by-zero mistake :) $\endgroup$ – Maarten Bodewes Mar 4 '15 at 15:32
  • $\begingroup$ Thank you very much!!!! Ok I guess this was one problem =) I anyway have to check now where this mod operation is used as I still don't really fully get it. $\endgroup$ – maria Mar 4 '15 at 16:49

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.