3
$\begingroup$

I am quite comfortable about the 128 bits block size mix column operation, the maths behind it and how to implement it.

However, what about the 192 and 256 bits block size? I can't find any paper describing it.

Do you simply do two times the operation? For 192 one full time and one with half the bits being set to 0 as place holders, and two full time for the 256 bits block size?

$\endgroup$
3
$\begingroup$

The original Rijndael submission to the AES competition (which includes details on how to handle block sizes of 192 and 256 bits) can be found here. The mix column operation itself is described in section 4.2.3, and that section explains it pretty well.

Since I'm not supposed to have link-only answers, I'll try to explain it myself. The state in Rijndael is represented by a $4 \times n$ matrix of bytes (where $n=4$ for 128 bit blocks, the AES case, and $n=6$ for 192 bit blocks and $n=8$ for 256 bit blocks). When you perform the Mix Column step, you take each column in the matrix, and multiply it by the fixed polynomial $03x^3 + x^2 + x + 02$ modulo $x^4 + 1$. This operation is precisely the same as in AES, except that if you have a larger block size, you have more columns; you still apply this multiplication only once for each column in the matrix.

$\endgroup$

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.