3

I want to know how to factorize polynomials in $\ GF(2) $ without a calculator in a product of irreducible factors. For example, in my exercises, I must factorize $\ p(x) = (x^7 - 1)$

The response is $\ (x − 1)(x^3 + x^2 + 1)(x^3 + x + 1)$

I just not understand the methodology to do it just by hand.

thanks a lot.

  • 1
    Degree seven is still small. You can do what you do when factoring moderate size integers - test divisibility by small primes. The difference is that you first need to build a list of small (=low degree) irreducibles. Here's how the list begins: $x,x+1$, $x^2+x+1$, $x^3+x+1$, $x^3+x^2+1$. You can continue either sieve of Eratosthenes style or use tricks. There's also Berlekamp's algorithm, but that is probably too rich for paper and pencil work. – Jyrki Lahtonen Jan 15 '15 at 08:12
  • 1
    Thanks for your response. So to do this, I need to have all irreducible polynomials of degree less or equals to 7/2 ? This list seems to be long no ? This list is the first step but after ? – Cyrill Gremaud Jan 15 '15 at 08:19
  • That list is actually surprisingly short. There are only three irreducible quartics, and six irreducible quintics. I have spent a LOT of time with polynomials like these, and I rarely need to go above quartics - when doing hand calculations. This may be because I run into problems like this fromf coding theory side, where we usually have several low degree factors. Crypto people face more serious factoring challenges. – Jyrki Lahtonen Jan 15 '15 at 08:33

2 Answers2

4

The methodology of factoring of a polynomial $f(x),$ $\deg f=n$:

1) find all irreducible polynomials up to degree $\dfrac{n}{2}.$

2) divide $f(x)$ on every of the irreducible polynomials.

Leox
  • 8,120
  • Thank you a lot for your clear response ! the methodology is in your response. for the point 1, I must always find all irreducible polynomials up to degree $\ deg(f(x))/2 $ or it's just for this specific case ? that work with all degrees ?. How can i rapidely find the list of irreducible polynomials ? You always have a copy of this list with you ? :-) – Cyrill Gremaud Jan 15 '15 at 08:24
  • Yes, for the general case you have to find all irreducible polynomials up to degree $n/2$. for this specific case it enougth up to degree $3$. List of irreducible polynomials you may find at the very end of any coding theory book :) – Leox Jan 15 '15 at 08:30
  • Yes thank you. I found an online tool to generate this list: http://theory.cs.uvic.ca/gen/poly.html – Cyrill Gremaud Jan 15 '15 at 08:40
  • My last question for you @Leox . I make the division of f(x) on every irreducible polynomials and sometime the rest is 0 and sometime is bigger. When the rest is 0, the next step is to divide the current quotient by the next irreducible of the list right ? – Cyrill Gremaud Jan 15 '15 at 09:06
  • 1
    no, start again from the first irreducible – Leox Jan 15 '15 at 09:08
1

for that particular example you have $7=2^3-1$ where $2$ is the characteristic. this means that $x^7-1$ is the product of all the irreducible polynomials whose degree divides $3$.

there is only one such polynomial of degree $1$, namely $x \pm 1$ (they are the same since $1 \equiv_2 -1$). for degree $3$ there are the two polynomials $x^3 \pm x^2 \pm 1$ and $x^3 \pm x \pm 1$

(NB any polynomial over $F_2$ with an even number of non-zero terms has the linear factor $x \pm 1$)

David Holden
  • 18,040