# Transform a list of coefficients to polynomial (in GF(2^8)) [closed]

Hi there,

Currently i'm trying to convert a list of coefficients automatically to a polynom. I got a list of zeros and ones and want to transform this list to a polynom in GF(2^8). First I set up the GF(2^8) with the reduction polynom

P2.<x> = GF(2)[];
p = x^8 + x^4 + x^3 + x + 1;
GF256 = GF(2^8, 'x', modulus=p)


Next I get a list of coefficients:

coeff = [0, 1, 0, 1, 1, 1, 0, 1]


which should be the polynom:

x^6 + x^4 + x^3 + x^2 + 1


How do I get this transformation from list to polynom automatically? The native thing I think about is I set up a string and fill in the coeff. like this:

polyString = str(coeff[7])+'*x^7 + '+str(coeff[6])...


And then cast it in GF256

poly = GF256(polyString)


But I think they are smarter ways out there.. Any ideas ? :)

edit retag reopen merge delete

### Closed for the following reason the question is answered, right answer was accepted by nablahero close date 2015-09-16 19:01:46.691061

Like that:

sage: P2.<x> = GF(2)[];
sage: p = x^8 + x^4 + x^3 + x + 1;
sage: GF256 = GF(2^8, 'x', modulus=p)
sage: GF256([0, 1, 0, 1, 1, 1, 0, 1])

( 2015-09-16 18:15:26 +0200 )edit

Hey. Thanks. I just need to reverse the list because the highest coefficient is the first item in my list. Thanks ;)

( 2015-09-16 19:00:08 +0200 )edit

Sort by » oldest newest most voted

Here is a first solution

sage: sum(c*x**i for i,c in enumerate(reversed(coeff)))
x^6 + x^4 + x^3 + x^2 + 1


And another, with "Horner's method":

sage: p = 0
sage: for i in coeff:
....:      p = p*x+i
sage: p
x^6 + x^4 + x^3 + x^2 + 1

more

Thanks for your help. But FredericsC solutions is much more practical :)

( 2015-09-16 19:00:44 +0200 )edit

No prob, I agree with you ;-)

( 2015-09-16 21:19:18 +0200 )edit