1
$\begingroup$

I had searched a lot but I don't undestand how work the operation on binary (How to solve MixColumns). What I don't undestand is from where he catch 0001 1011 to do the XOR operation.

Can someone explain me? Thanks in advance for the replies.

$\endgroup$
1
$\begingroup$

Do you mean where we come up with 0001 1011 (also known as 0x1B)? That's actually mentioned in the answer:

Multiplying by $2$ is what your question is about: it is equivalent to shifting the number left by one, and then exclusiving-or'ing the value 0x1B if the high bit had been one (where, in case you're wondering, the value 0x1B came from the field representation)

That is, the $GF(2^8)$ representation that AES uses is a polynomial representation, based on the irreducible polynomial $x^8 + x^4 + x^3 + x + 1$; 0001 1011 (or 0x1B) are the lower 8 bits of that polynomial.

If you don't understand that, well, just assume that 0x1B is a magic value that just happens to make things work...

$\endgroup$
  • $\begingroup$ Thanks poncho for the help. Is this correct root25.com/2012/12/…? $\endgroup$ – Dragonfighter Oct 24 '17 at 9:50
  • $\begingroup$ @Dragonfighter: it looks about right $\endgroup$ – poncho Oct 24 '17 at 15:05

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.