Calculation in Rijndael field GF(2^8) and (mod x^4+1)?
I have a 6th degree polynomial with unknown coefficients, but I need to take it (mod x^4+1) to find some 3rd degree polynomial. Using wolfram alpha and mathematica 9.0, I could only reduce the polynomial to a different 6th degree polynomial that was shorter.
e.g. $\displaystyle a_1x^6 + a_2x^5 + ... a_6x + a_7$ is what I'm given, where each a_i is something like:
$\displaystyle a_1 = s_1 + s_3 + s_4$
$\displaystyle a_2 = s_1 + s_2 + s_3 $
$\displaystyle a_3 = s_3 + s_4$
...
for some unknown $\displaystyle s_i$.
Also, the coefficients are to (mod 2).
How can I find $\displaystyle a_1x^6 + a_2x^5 + ... a_6x + a_7$ (mod x^4+1) as a 3rd degree polynomial?
I heard that under mod (x^4 + 1) and (mod 2), I have congruence x^4 = -1 = 1 but that doesn't make sense to me?
Re: Calculation in Rijndael field GF(2^8) and (mod x^4+1)?
Since x^4+1 = 0 mod (x^4+1), then x^4 = -1 mod (x^4+1).
Let me rewrite your 6th degree polynomial as:
f(x) = a6 * x^6 + a5 * x^5 + ...a1 * x + a0 = (a6,a5,a4,a3,a2,a1,a0) ...in other words concentrate on the coefficients.
Also note the subscript on the coefficient matches the power of x.
Now a4 * x^4 = a4 * (-1) mod (x^4+1). Likewise a5*x^5 = a5*(-x) and a6*x^6 = a6*(-x^2).
So (a6,a5,a4,a3,a2,a1,a0) = (a3,a2,a1,a0) - (a6,a5,a4) = (a3,a2-a6,a1-a5,a0-a4).
So the cubic is: a3 * x^3 + (a2-a6)*x^2 + (a1-a5)*x + (a0-a4).
If you want to work in GF(2^8), just take the coefficients mod (2^8).
Re: Calculation in Rijndael field GF(2^8) and (mod x^4+1)?
Thanks a lot qmech! It's pretty obvious once you see how it's done...