What is the Conway polynomial for $GF(2^{256})$?

77 Views Asked by At

Frank Luebeck's database of Conway Polynomials seems to be missing an entry for the 256-bit field, $\mathbb{F}_{2^{256}}$; neither his hosted copy nor sagemath's internal copy has it.

While there have been found irreducible polynomials for this field (such as $X^{256}+X^{10}+X^5+X^2+1$ by Bill Buchanan and $X^{256}+X^{241}+X^{178}+X^{121}+1$ by Miodrag Živković), I couldn't find any source that claimed to have found the lexographically lowest such polynomial.

Has it been found? If so, what is it? If not, were there any obstacles to finding it, or was it just an issue of (lack of) interest/need? I couldn't find anything about attempts, even.

1

There are 1 best solutions below

2
On

When I saw how low the one Buchanan found was ($X^{256} + X^{10} + \dots$), and thought about that possibly being an upper-bound (if that one happens to be primitive, then worst-case $2^{10}$ attempts isn't that big of a number), I figured I'd try brute-forcing it, just to see if I'd get anywhere. With such a small pile of numbers to search, Sagemath handles it in just a couple of seconds!

The result: $X^{256} + X^{10} + X^5 + X^2 + 1$ is the Conway Polynomial for ${GF}{({2^{256}})}$.


Appendix: code

# Tested on Sage version 10.1, CPython version 3.10.12

R.<X> = GF(2)[]

for p in R.polynomials(of_degree=256):
    if p.is_irreducible():
        print('\u0007')
        print(p)
        if p.is_primitive():
            print("Primitive.")
            break
        else:
            print("Not primitive")
    print('.', end='')