This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Algorithms for Finding Almost Irreducible
and Almost Primitive Trinomials

Richard P. Brent Oxford University Computing Laboratory,
Wolfson Building, Parks Road,
Oxford OX1 3QD, UK
   Paul Zimmermann LORIA/INRIA Lorraine
615 rue du jardin botanique
BP 101, 54602 Villers-lès-Nancy, France
Dedicated to Hugh Cowie Williams on the occasion of his 60th birthday.
(Date: 17 April 2003)
Abstract.

Consider polynomials over GF(2)\operatorname{GF}(2). We describe efficient algorithms for finding trinomials with large irreducible (and possibly primitive) factors, and give examples of trinomials having a primitive factor of degree rr for all Mersenne exponents r=±3mod 8r=\pm 3{\;\bmod\;}8 in the range 5<r<1075<r<10^{7}, although there is no irreducible trinomial of degree rr. We also give trinomials with a primitive factor of degree r=2kr=2^{k} for 3k123\leq k\leq 12. These trinomials enable efficient representations of the finite field GF(2r)\operatorname{GF}(2^{r}). We show how trinomials with large primitive factors can be used efficiently in applications where primitive trinomials would normally be used.

1991 Mathematics Subject Classification:
Primary 11B83, 11Y16; Secondary 11-04, 11K35, 11N35, 11R09, 11T06, 12-04, 12Y05, 68Q25

1. Introduction

Irreducible and primitive polynomials over finite fields have many applications in cryptography, coding theory, random number generation, etc. See, for example, [13, 15, 17, 20, 21].

For simplicity we restrict our attention to the finite field 2=GF(2){\mathbb{Z}}_{2}=\operatorname{GF}(2); the generalization to other finite fields is straightforward. All polynomials are assumed to be in 2[x]{\mathbb{Z}}_{2}[x], and computations on polynomials are performed in 2[x]{\mathbb{Z}}_{2}[x] or in a specified quotient ring. A polynomial P(x)2[x]P(x)\in{\mathbb{Z}}_{2}[x] may be written as PP if the argument xx is clear from the context. We recall some standard definitions.

Definition 1.1.

A polynomial P(x)P(x) with P(0)0P(0)\neq 0 has period ρ\rho if ρ\rho is the least positive integer such that xρ=1modP(x)x^{\rho}=1{\;\bmod\;}P(x). We say that xx has order ρmodP(x)\rho{\;\bmod\;}P(x).

Definition 1.2.

A polynomial P(x)P(x) is reducible if it has nontrivial factors; otherwise it is irreducible.

Definition 1.3.

A polynomial P(x)P(x) of degree n>0n>0 is primitive if P(x)P(x) is irreducible and has period 2n12^{n}-1. (Recall our assumption that P(x)2[x]P(x)\in{\mathbb{Z}}_{2}[x].)

If P(x)P(x) is primitive, then xx is a generator for the multiplicative group of the field 2[x]/P(x){\mathbb{Z}}_{2}[x]/P(x), giving a concrete representation of GF(2n)\operatorname{GF}(2^{n}). See Lidl and Niederreiter [20] or Menezes et al. [21] for background information.

There is an interest in discovering primitive polynomials of high degree nn for applications in random number generation [4, 7] and cryptography [21]. In such applications it is often desirable to use primitive polynomials with a small number of nonzero terms, i.e. a small weight. In particular, we are interested in trinomials of the form xn+xs+1x^{n}+x^{s}+1, where n>s>0n>s>0 (so there are exactly three nonzero terms).

If P(x)P(x) is irreducible and deg(P)=n>1\deg(P)=n>1, then the order of xx in 2[x]/P(x){\mathbb{Z}}_{2}[x]/P(x) is a divisor of 2n12^{n}-1. To test if P(x)P(x) is primitive, we must test if the order of xx is exactly 2n12^{n}-1. To do this efficiently111Here “efficiently” means in time polynomial in the degree nn. it appears that we need to know the complete prime factorization of 2n12^{n}-1. At the time of writing these factorizations are known for n<713n<713 and certain larger nn, see [8].

We say that nn is a Mersenne exponent  if 2n12^{n}-1 is prime. In this case the factorization of 2n12^{n}-1 is trivial and an irreducible polynomial of degree nn is necessarily primitive. Large Mersenne exponents are known [14], so there is a possibility of finding primitive trinomials of high degree. To test if a trinomial of prime degree nn is reducible takes time O(n2)O(n^{2}), so to test all trinomials of degree nn takes time O(n3)O(n^{3}).

Several authors [16, 18, 19, 27] have computed primitive trinomials whose degree is a Mersenne exponent, up to some bound imposed by the computing resources available. Recently Brent, Larvala and Zimmermann [6] gave a new algorithm, more efficient than those used previously, and computed all the primitive trinomials of Mersenne exponent n3021377n\leq 3021377 (subsequently extended to n6972593n\leq 6972593).

For some n2n\geq 2, irreducible trinomials of given degree nn do not exist. Swan’s theorem (see §2) rules out n=0mod 8n=0{\;\bmod\;}8 and also most n=±3mod 8n=\pm 3{\;\bmod\;}8. Since about half of the known Mersenne exponents are ±3mod 8\pm 3{\;\bmod\;}8, we can only hope to find primitive trinomials of degree nn for about half the Mersenne exponents nn.

In the cases where primitive trinomials are ruled out by Swan’s theorem, the conventional approach is to use primitive polynomials with more than three nonzero terms. A polynomial with an even number of nonzero terms is divisible by x+1x+1, so we must use polynomials with five or more nonzero terms [18, 19, 21]. This is considerably more expensive in applications because the number of operations required for multiplication or division by a sparse polynomial is approximately proportional to the number of nonzero terms.

In §2 we discuss Swan’s theorem, then in §3 we introduce “almost irreducible” and “almost primitive” polynomials as a way of circumventing the implications of Swan’s theorem. An algorithm (AIT) for computing almost irreducible trinomials, and an extension (APT) for almost primitive trinomials, are described in §4. Algorithm APT has been used to find almost primitive trinomials with high degree in cases where Swan’s theorem shows that primitive trinomials do not exist. Computational results and examples are given in §§56. In §7 we give some computational results on almost primitive trinomials that are useful for representing the finite fields GF(22k)\operatorname{GF}(2^{2^{k}}), k12k\leq 12. In §8 we explain how to use almost irreducible/primitive trinomials efficiently in applications. Finally, in §9, we conclude with some theoretical results on the density of almost irreducible and almost primitive polynomials, and some computational results on the density of the corresponding trinomials. We thank Shuhong Gao and the referees for their comments on a draft of this paper.

2. Swan’s theorem and its implications

Swan’s theorem is a rediscovery of results of Pellet [23], Stickelberger [24], Dickson [10] and Dalen [9] – see Swan [25, p. 1099] and von zur Gathen [12]. Let ν(P)\nu(P) denote the number of irreducible factors (counted according to their multiplicity) of a polynomial P2[x]P\in{\mathbb{Z}}_{2}[x].

Theorem 2.1.

Swan [25, Corollary 5]. Suppose n>s>0n>s>0, nsn-s odd. Then ν(xn+xs+1)=0mod 2\nu(x^{n}+x^{s}+1)=0{\;\bmod\;}2 iff one of the following holds:
a) nn even, n2s\;n\neq 2s, ns/2mod 4{0,1}\;ns/2{\;\bmod\;}4\in\{0,1\};
b) 2n0mods2n\neq 0{\;\bmod\;}s, n=±3mod 8\;n=\pm 3{\;\bmod\;}8;
c) 2n=0mods2n=0{\;\bmod\;}s, n=±1mod 8\;n=\pm 1{\;\bmod\;}8.

If both nn and ss are odd, we can replace ss by nsn-s (leaving the number of irreducible factors unchanged, since ν(xn+xs+1)=ν(xn+xns+1)\nu(x^{n}+x^{s}+1)=\nu(x^{n}+x^{n-s}+1)) and apply Swan’s theorem. If nn and ss are both even, then T=xn+xs+1T=x^{n}+x^{s}+1 is a square and ν(T)\nu(T) is even. Thus, in all cases we can determine ν(T)mod 2\nu(T){\;\bmod\;}2 using Swan’s theorem.

Since a polynomial that has an even number of irreducible factors is reducible, we have:

Corollary 2.2.

If nn is prime, n=±3mod 8n=\pm 3{\;\bmod\;}8, s2s\neq 2, sn2s\neq n-2, then xn+xs+1x^{n}+x^{s}+1 is reducible over 2{\mathbb{Z}}_{2}.

Corollary 2.2 shows that there are no irreducible trinomials with degree a Mersenne exponent n=±3mod 8n=\pm 3{\;\bmod\;}8 (except possibly for s=2s=2 or n2n-2). This appears to prevent us from using trinomials with periods 2n12^{n}-1 in these cases. Fortunately, there is a way to circumvent Swan’s theorem and avoid paying a significant speed penalty in most applications of irreducible/primitive trinomials. We describe this in the following section.

3. Almost primitive trinomials

Tromp, Zhang and Zhao [26] asked the following question: given an integer r>1r>1, do there exist integers n,sn,s such that

G=gcd(xn+xs+1,x2r1+1)G=\gcd(x^{n}+x^{s}+1,x^{2^{r}-1}+1)

is a primitive polynomial of degree rr? They verified that the answer is “yes” for r171r\leq 171, and conjectured that the answer is always “yes”.

Blake, Gao and Lambert [3] confirmed the conjecture for r500r\leq 500. They also relaxed the condition slightly and asked: do there exist integers n,sn,s such that GG has a primitive factor of degree rr? Motivated by [3], we make some definitions.

Definition 3.1.

A polynomial P(x)P(x) of degree nn is almost primitive (almost irreducible) if P(0)0P(0)\neq 0 and P(x)P(x) has a primitive (irreducible) factor of degree rr, for some r>n/2r>n/2. We say that PP has exponent rr and increment nrn-r.

For example, the trinomial x16+x3+1x^{16}+x^{3}+1 is almost primitive with exponent 13 and increment 3, because

x16+x3+1=(x3+x2+1)D13(x),x^{16}+x^{3}+1=(x^{3}+x^{2}+1)D_{13}(x),

where

D13(x)=x13+x12+x11+x9+x6+x5+x4+x2+1D_{13}(x)=x^{13}+x^{12}+x^{11}+x^{9}+x^{6}+x^{5}+x^{4}+x^{2}+1

is primitive. From a computational viewpoint it is more efficient to work in the ring 2[x]/(x16+x3+1){\mathbb{Z}}_{2}[x]/(x^{16}+x^{3}+1) than in the field F=2[x]/D13(x)F={\mathbb{Z}}_{2}[x]/D_{13}(x). In §8 we outline how it is possible to work in the field FF, while performing most arithmetic in the ring 2[x]/(x16+x3+1){\mathbb{Z}}_{2}[x]/(x^{16}+x^{3}+1), and without explicitly computing the dense primitive polynomial D13(x)D_{13}(x).

Note that, according to Definition 3.1, a primitive polynomial is a fortiori an almost primitive polynomial (the case r=nr=n). Similarly, an irreducible polynomial other than 11 or xx is almost irreducible. The restriction r>n/2r>n/2 in Definition 3.1 ensures that polynomials such as (x3+x+1)2(x^{3}+x+1)^{2} are not regarded as almost irreducible.

In practice we choose the smallest possible increment δ\delta for given exponent rr, e.g. in Tables 12 we have δ16\delta\leq 16. For most practical purposes, almost primitive trinomials of exponent rr and small increment are almost as useful as primitive trinomials of degree rr (see §8).

4. Searching for almost irreducible/primitive trinomials

In this section we outline algorithms for finding almost irreducible or almost primitive trinomials with large exponent rr. In the latter case we assume that the complete factorization of 2r12^{r}-1 is known. The algorithms are generalizations of those given in [6, 13, 21], which handle the case δ=0\delta=0.

4.1. An algorithm for almost irreducible trinomials

Suppose 0δ<r0\leq\delta<r, 0<s<r+δ0<s<r+\delta, and we wish to test if the trinomial T(x)=xr+δ+xs+1T(x)=x^{r+\delta}+x^{s}+1 is almost irreducible with exponent rr (see Definition 3.1). If it is not then we discard it, and (perhaps) try again with different (r,s,δ)(r,s,\delta).

We first state the algorithm, then explain the steps whose justification is not immediately obvious. Input to the algorithm is (r,s,δ)(r,s,\delta) and a sieving bound B[δ,r)B\in[\delta,r). The optimal BB is implementation-dependent: see the discussion in [6]. In the computation of Table 1 we used B=min(r1,max(δ,4+log2r))B=\min(r-1,\max(\delta,4+\lfloor\log_{2}r\rfloor)). Recall that polynomials are in 2[x]{\mathbb{Z}}_{2}[x], so computations on polynomials are performed in 2[x]{\mathbb{Z}}_{2}[x] or in a quotient ring such as 2[x]/T(x){\mathbb{Z}}_{2}[x]/T(x).

Algorithm AIT(r,s,δ,B)(r,s,\delta,B)

  1. (1)

    If gcd(r+δ,s)=0mod 2\gcd(r+\delta,s)=0{\;\bmod\;}2 then return false.

  2. (2)

    d:=0d:=0; k:=0k:=0; S:=1S:=1; T:=xr+δ+xs+1T:=x^{r+\delta}+x^{s}+1;
    for i:=2i:=2 to δ\delta do
        g:=gcd(T,(x2imodT)+x)g:=\gcd(T,(x^{2^{i}}{\;\bmod\;}T)+x);
        g:=g/gcd(g,S)g:=g/\gcd(g,S); S:=g×SS:=g\times S;
        d:=d+deg(g)d:=d+\deg(g); k:=k+deg(g)/ik:=k+\deg(g)/i;

  3. (3)

    if (dδ)(d\neq\delta) or (k=ν(T)mod 2)(k=\nu(T){\;\bmod\;}2) then return false.

  4. (4)

    for i:=δ+1i:=\delta+1 to BB do
        g:=gcd(T,(x2imodT)+x)g:=\gcd(T,(x^{2^{i}}{\;\bmod\;}T)+x);
        if Smodg0S{\;\bmod\;}g\neq 0 then return false.

  5. (5)

    if ((x2rmodT)+x)S0modT((x^{2^{r}}{\;\bmod\;}T)+x)S\neq 0{\;\bmod\;}T then return false.

  6. (6)

    for each prime divisor prp\neq r of rr
        if gcd(((x2r/pmodT)+x)S,T)S\gcd(((x^{2^{r/p}}{\;\bmod\;}T)+x)S,T)\neq S then return false.

  7. (7)

    return true. [TT is almost irreducible with exponent rr.] ∎

If δ=0\delta=0, Algorithm AIT reduces to a standard algorithm for finding irreducible trinomials. We can assume that δ1\delta\neq 1, because the only irreducible polynomials of degree 1 are xx and x+1x+1, and neither can be a factor of a trinomial. Hence, we need only consider δ2\delta\geq 2.

Step 1 discards trinomials that are squares (see Theorem 4.1 below). If this step is passed then gcd(T,T)=1\gcd(T,T^{\prime})=1, so TT is square-free.

Step 2 may be called sieving, although it is done by GCD computations. By computing gcd(T,(x2imodT)+x)\gcd(T,(x^{2^{i}}{\;\bmod\;}T)+x) for 2iδ2\leq i\leq\delta, we find the product S=P1PkS=P_{1}\cdots P_{k} of all irreducible factors PjP_{j} of TT such that deg(Pj)=djδ\deg(P_{j})=d_{j}\leq\delta. We have T=SDT=SD, where DD is some polynomial of degree ndn-d, and gcd(S,D)=1\gcd(S,D)=1.

Step 3 returns false if dd or kk is incompatible with the assumption that TT has an irreducible factor of degree rr. Note that Swan’s theorem gives ν(T)mod 2\nu(T){\;\bmod\;}2.

In Step 4, suppose Smodg0S{\;\bmod\;}g\neq 0. Thus f=g/gcd(S,g)f=g/\gcd(S,g) is a factor of D=T/SD=T/S, and f1f\neq 1. If fDf\neq D then DD is reducible. If f=Df=D then DD splits into factors of degree at most B<rB<r, so again DD is reducible. Thus, we can return false.

In Step 5, sieving has failed to discard TT, so a full irreducibility test of DD is required. We can discard TT (i.e. return false) if x2rxmodDx^{2^{r}}\neq x{\;\bmod\;}D, but DD is in general a dense polynomial, so we perform an equivalent computation that only involves exponentiation mod TT. Note that the computation of x2rmodTx^{2^{r}}{\;\bmod\;}T takes only O(r2)O(r^{2}) bit-operations, since TT is a trinomial.

Finally, we should return false if gcd(x2q+x,D)1\gcd(x^{2^{q}}+x,D)\neq 1 for any divisor qq of rr, qrq\neq r. Step 6 implements an equivalent test that is more efficient because the operations are performed mod TT and only maximal divisors q=r/pq=r/p of rr are checked. Step 6 is trivial if rr is prime.

4.2. Algorithm APT for almost primitive trinomials

To search foralmost primitive trinomials with exponent rr, we apply Theorem 4.2 below, and then algorithm AIT, to find a candidate trinomial that is almost irreducible with exponent rr. Unless 2r12^{r}-1 is prime, it is necessary to verify that the irreducible factor DD of degree rr has period 2r12^{r}-1 and not some proper divisor of 2r12^{r}-1. This can be done by verifying that, for each prime divisor pp of 2r12^{r}-1,

((x(2r1)/pmodT)+1)S0modT.((x^{(2^{r}-1)/p}{\;\bmod\;}T)+1)S\neq 0{\;\bmod\;}T\;.

4.3. Refinements

Several refinements are possible.

1. The fast algorithm of [6, §4] can be used to accelerate the computation of x2imodTx^{2^{i}}{\;\bmod\;}T in steps 2, 46 of Algorithm AIT if r+δr+\delta is odd.

2. Sieving can often be curtailed. Suppose that step 2 of Algorithm AIT has been performed for iδ^<δi\leq{\widehat{\delta}}<\delta, so we have found all k^{\widehat{k}} irreducible factors ofdegree δ^\leq{\widehat{\delta}}. Suppose that the sum of their degrees is d^{\widehat{d}}. If

d^<δ<d^+δ^+1,{\widehat{d}}<\delta<{\widehat{d}}+{\widehat{\delta}}+1, (4.1)

then the constraint d=δd=\delta can not be satisfied and we can return false. Also, if k^ν(T)mod 2{\widehat{k}}\neq\nu(T){\;\bmod\;}2, then (4.1) can be replaced by the weaker condition

d^<δ<d^+2(δ^+1).{\widehat{d}}<\delta<{\widehat{d}}+2({\widehat{\delta}}+1). (4.2)

3. If rr is a Mersenne exponent, computation of the small factor SS can be avoided. Define F=lcm(2dj1)F=\operatorname{lcm}(2^{d_{j}}-1), so FF is a multiple of the period of SS, and gcd(F,2r1)=1\gcd(F,2^{r}-1)=1. Step 2 of Algorithm AIT can easily be modified to compute FF instead of SS, and to save gi=deggg_{i}=\deg g at iteration ii. Step 4 can be modified to return false if degg>j|i,2jδgj\deg g>\sum_{j|i,2\leq j\leq\delta}g_{j}. Step 5 can be modified to return false if

(xF)2rxFmodT(x).(x^{F})^{2^{r}}\neq x^{F}{\;\bmod\;}T(x). (4.3)

The computation involved is almost the same as for the “standard” method of testing irreducibility of a trinomial [6, §3]: the significant difference is that we start with xFx^{F} instead of xx. This variation of algorithm AIT was used to compute most of the entries in Table 1.

4. Theorems 4.14.2 allow us to discard many trinomials quickly.

Theorem 4.1.

Let T(x)=xn+xs+1T(x)=x^{n}+x^{s}+1 be an almost irreducible trinomial. Then gcd(n,s)\gcd(n,s) is odd.

Proof.

Assume that gcd(n,s)\gcd(n,s) is even. Then T(x)=(xn/2+xs/2+1)2T(x)=(x^{n/2}+x^{s/2}+1)^{2} is a square, so can not have an irreducible factor of degree greater than n/2n/2. ∎

We remark that x6+x3+1x^{6}+x^{3}+1 is irreducible (though not primitive) over 2{\mathbb{Z}}_{2}, and in this case gcd(n,s)=3\gcd(n,s)=3.

Theorem 4.2.

Let T(x)=xn+xs+1T(x)=x^{n}+x^{s}+1 be an almost primitive trinomial. Then gcd(n,s)=1\gcd(n,s)=1.

Proof.

Suppose g=gcd(n,s)>1g=\gcd(n,s)>1. From Theorem 4.1 we can assume that g3g\geq 3. Write y=xgy=x^{g}. Thus T(x)=yn^+ys^+1T(x)=y^{{\widehat{n}}}+y^{{\widehat{s}}}+1, where n^=n/g{\widehat{n}}=n/g, s^=s/g{\widehat{s}}=s/g. The order of yy is at most 2n^12^{{\widehat{n}}}-1. Thus, the order of xx is at most g(2n^1)=g(2n/g1)g(2^{{\widehat{n}}}-1)=g(2^{n/g}-1). If T(x)T(x) is almost primitive with exponent rr, then the order of xx is 2r12^{r}-1. Thus

2r1g(2n/g1).2^{r}-1\leq g(2^{n/g}-1).

Now n+12rn+1\leq 2r by Definition 3.1, so

2(n+1)/21g(2n/g1).2^{(n+1)/2}-1\leq g(2^{n/g}-1). (4.4)

The right-hand side of (4.4) is a decreasing function of gg for g3g\geq 3. Thus,

2(n+1)/213(2n/31).2^{(n+1)/2}-1\leq 3(2^{n/3}-1). (4.5)

It is easy to verify that (4.5) can not hold for n6n\geq 6, but if n<6n<6 then n/g<2n/g<2, which is a contradiction. Hence g=1g=1. ∎

5. Computational results

We conducted a search for almost primitive trinomials whose exponent rr is also a Mersenne exponent. For all Mersenne exponents r=±1mod 8r=\pm 1{\;\bmod\;}8 with r6972593r\leq 6972593, primitive trinomials of degree rr are known, see [6]. Here we consider the cases r=±3mod 8r=\pm 3{\;\bmod\;}8, where the existence of irreducible trinomials xr+xs+1x^{r}+x^{s}+1 is ruled out by Swan’s theorem (except for s=2s=2 or r2r-2, but the only known cases are r=3,5r=3,5). For each exponent rr we searched for all almost primitive trinomials with the minimal increment δ\delta for which at least one almost primitive trinomial exists. The search has been completed for all Mersenne exponents r<107r<10^{7}.

In all cases of Mersenne exponent r=±3mod 8r=\pm 3{\;\bmod\;}8, where 5<r<1075<r<10^{7}, we have found at least one almost primitive trinomial with exponent rr and some increment δ[2,12]\delta\in[2,12]. The results are summarized in Table 1. The first four entries are from [3, Table 4]; the other entries are new. They were computed using Algorithm APT, with some simplifications that are possible because rr is a Mersenne exponent (see §4.3.3 above).

For all but two of the almost primitive trinomials xr+δ+xs+1x^{r+\delta}+x^{s}+1 given in Table 1, the period ρ=(2r1)f\rho=(2^{r}-1)f satisfies ρ>2r+δ1\rho>2^{r+\delta-1}. Thus, the period is greater than the greatest period (2r+δ112^{r+\delta-1}-1) that can be obtained for any polynomial of degree less than r+δr+\delta. In the two exceptional cases the small factors of degree 88 are not primitive, having period 85=255/385=255/3.

For the largest known Mersenne exponent, r=13466917r=13466917, we have not yet started an extensive computation, but we have shown that δ3\delta\geq 3 and δ4\delta\neq 4 (see Theorem 6.3).

rr δ\delta ss ff Small factors and remarks
13 3 3 7 x3+x2+1x^{3}+x^{2}+1
19 3 3 7 x3+x+1x^{3}+x+1
61 5 17 31 x5+x3+x2+x+1x^{5}+x^{3}+x^{2}+x+1
107 2 8 3 x2+x+1x^{2}+x+1
14 3 x2+x+1x^{2}+x+1
17 3 x2+x+1x^{2}+x+1
2203 3 355 7 x3+x2+1x^{3}+x^{2}+1
4253 8 1806 255 x8+x7+x2+x+1x^{8}+x^{7}+x^{2}+x+1
1960 85 x8+x6+x5+x4+x2+x+1x^{8}+x^{6}+x^{5}+x^{4}+x^{2}+x+1
9941 3 1077 7 x3+x2+1x^{3}+x^{2}+1
11213 6 227 63 x6+x5+x3+x2+1x^{6}+x^{5}+x^{3}+x^{2}+1
21701 3 6999 7 x3+x2+1x^{3}+x^{2}+1
7587 7 x3+x2+1x^{3}+x^{2}+1
86243 2 2288 3 x2+x+1x^{2}+x+1
216091 12 42930 3937 x12+x11+x5+x3+1x^{12}+x^{11}+x^{5}+x^{3}+1
=(x5+x4+x3+x+1)=(x^{5}+x^{4}+x^{3}+x+1)\cdot
(x7+x5+x4+x3+x2+x+1)(x^{7}+x^{5}+x^{4}+x^{3}+x^{2}+x+1)
1257787 3 74343 7 x3+x2+1x^{3}+x^{2}+1
1398269 5 417719 21 x5+x4+1=(x2+x+1)(x3+x+1)x^{5}+x^{4}+1=(x^{2}+x+1)\cdot(x^{3}+x+1)
2976221 8 1193004 85 x8+x7+x6+x5+x4+x3+1x^{8}+x^{7}+x^{6}+x^{5}+x^{4}+x^{3}+1
13466917 ? ? ? None for δ<3\delta<3 or δ=4\delta=4
Table 1.

Some almost primitive trinomials over 2{\mathbb{Z}}_{2}.

xr+δ+xs+1x^{r+\delta}+x^{s}+1 has a primitive factor of degree rr;

δ\delta is minimal; 2sr+δ2s\leq r+\delta; the period ρ=(2r1)f\rho=(2^{r}-1)f.

6. Examples and special cases

We considered the almost primitive trinomial x16+x3+1x^{16}+x^{3}+1 in §3. Here we give an example with much higher degree: r=216091r=216091, δ=12\delta=12. We have

x216103+x42930+1=S(x)D(x),x^{216103}+x^{42930}+1=S(x)D(x),

where

S(x)=x12+x11+x5+x3+1,S(x)=x^{12}+x^{11}+x^{5}+x^{3}+1,

and D(x)D(x) is a (dense) primitive polynomial of degree 216091. The factor S(x)S(x) of degree 12 splits into a product of two primitive polynomials, x5+x4+x3+x+1x^{5}+x^{4}+x^{3}+x+1 and x7+x5+x4+x3+x2+x+1x^{7}+x^{5}+x^{4}+x^{3}+x^{2}+x+1. The contribution to the period from these factors is f=lcm(251,271)=3937f=\operatorname{lcm}(2^{5}-1,2^{7}-1)=3937.

Theorem 6.1.

If TT is an almost irreducible trinomial with exponent 216091 and increment δ\delta, then δ{0,1,2,4,6}\delta\notin\{0,1,2,4,6\}.

Proof.

As TT is a trinomial, it is not divisible by xx or x+1x+1, so δ1\delta\neq 1.Assume that T=xn+xs+1T=x^{n}+x^{s}+1 is almost irreducible with deg(T)=n=r+δ\deg(T)=n=r+\delta, whereδ{0,2,4,6}\delta\in\{0,2,4,6\}. Thus T=SDT=SD where DD is irreducible, deg(D)=r=216091\deg(D)=r=216091, nn is odd and we can assume that ss is even (otherwise replace ss by nsn-s). Since rr is a Mersenne exponent, DD is primitive and TT is almost primitive. Let ν2=ν(T)mod 2\nu_{2}=\nu(T){\;\bmod\;}2. We consider the cases δ=0,2,4,6\delta=0,2,4,6 in turn and show that each case leads to a contradiction.
A. δ=0\delta=0. n=3mod 8n=3{\;\bmod\;}8 and ν2=1\nu_{2}=1, so by Swan’s theorem s| 2ns\;|\;2n. From Theorem 4.2, gcd(n,s)=1\gcd(n,s)=1, so the only possibility is s=2s=2. Now n=1mod 3n=1{\;\bmod\;}3, so xn+x2+1=x2+x+1modx31x^{n}+x^{2}+1=x^{2}+x+1{\;\bmod\;}x^{3}-1. Thus x2+x+1|xn+x2+1x^{2}+x+1\;|\;x^{n}+x^{2}+1, a contradiction.
B. δ=2\delta=2. n=0mod 3n=0{\;\bmod\;}3, so T=xsmodx31T=x^{s}{\;\bmod\;}x^{3}-1. Thus x2+x+1x^{2}+x+1 does not divide TT, but x2+x+1x^{2}+x+1 is the only irreducible polynomial of degree 2, and hence the only possibility for SS, a contradiction.
C. δ=4\delta=4. deg(S)=4\deg(S)=4, but SS can not have irreducible factors of degree 2, since x2+x+1x^{2}+x+1 is the only irreducible polynomial of degree 2, and TT is square-free. Thus SS is irreducible of degree 4 and a divisor of x151x^{15}-1. We have n=1mod 8n=-1{\;\bmod\;}8 and ν2=0\nu_{2}=0, so by Swan’s theorem and Theorem 4.2 we must have s=2s=2. Now n=5mod 15n=5{\;\bmod\;}15, so T=x5+x2+1modx151T=x^{5}+x^{2}+1{\;\bmod\;}x^{15}-1, but x5+x2+1x^{5}+x^{2}+1 is irreducible. Thus TT has no factor of degree 4, a contradiction.
D. δ=6\delta=6. SS could be of the form S6S_{6}, S2S4S_{2}S_{4} or S3S^3S_{3}\widehat{S}_{3}, where Sj,S^jS_{j},\widehat{S}_{j} are irreducible of degree jj. If S=S6S=S_{6} then ν2=0\nu_{2}=0 and, by Swan’s theorem and Theorem 4.2, s=2s=2. However, n=1mod 3n=1{\;\bmod\;}3, so x2+x+1|xn+x2+1x^{2}+x+1\;|\;x^{n}+x^{2}+1, a contradiction. If S=S2S4S=S_{2}S_{4} then deg(gcd(T,x151))=6\deg(\gcd(T,x^{15}-1))=6. Now n=7mod 15n=7{\;\bmod\;}15, so T=x7+xsmod 15+1modx151T=x^{7}+x^{s{\,\bmod\,}15}+1{\;\bmod\;}x^{15}-1, and in each of the 15 cases we find that deg(gcd(T,x151))4\deg(\gcd(T,x^{15}-1))\leq 4. If S=S3S^3S=S_{3}\widehat{S}_{3} then deg(gcd(T,x71))=6\deg(\gcd(T,x^{7}-1))=6. Nown=0mod 7n=0{\;\bmod\;}7, so T=xsmod 7modx71T=x^{s{\,\bmod\,}7}{\;\bmod\;}x^{7}-1, and gcd(T,x71)=1\gcd(T,x^{7}-1)=1. Thus δ6\delta\neq 6. ∎

Theorem 6.2.

If TT is an almost irreducible trinomial with exponent 2976221 and increment δ\delta, then δ{0,1,2,4}\delta\notin\{0,1,2,4\}.

Proof.

The proof is similar to that of Theorem 6.1. Assume that δ{0,2,4}\delta\in\{0,2,4\} and that ss is even. If δ=0\delta=0 we must have s=2s=2. Now n=3mod7n=3\mod 7, soT=x3+x2+1modx71T=x^{3}+x^{2}+1{\;\bmod\;}x^{7}-1, and thus TT has an irreducible factor x3+x2+1x^{3}+x^{2}+1. If δ=2\delta=2, again we must have s=2s=2. In this case T=x118+x2+1modx2551T=x^{118}+x^{2}+1{\;\bmod\;}x^{255}-1, and a computation shows that x8+x7+x3+x2+1|Tx^{8}+x^{7}+x^{3}+x^{2}+1\;|\;T. Finally, if δ=4\delta=4, we have T=xsmod 15modx151T=x^{s{\,\bmod\,}15}{\;\bmod\;}x^{15}-1, so TT has no irreducible factor of degree 4. ∎

Theorem 6.3.

If TT is an almost irreducible trinomial with exponent 13466917 and increment δ\delta, then δ{0,1,2,4}\delta\notin\{0,1,2,4\}.

Proof.

As above, we can assume that δ1\delta\neq 1, n=r+δn=r+\delta is odd, and without loss of generality ss is even. If δ=0\delta=0 the only case to consider is s=2s=2, but n=1mod 3n=1{\;\bmod\;}3, so T=x2+x+1modx31T=x^{2}+x+1{\;\bmod\;}x^{3}-1, and thus TT is divisible by x2+x+1x^{2}+x+1. If δ=2\delta=2 then T=xsmod 3modx31T=x^{s{\,\bmod\,}3}{\;\bmod\;}x^{3}-1, so TT is never divisible by x2+x+1x^{2}+x+1. If δ=4\delta=4 then SS must be irreducible of degree 4, and the only possibility is s=2s=2. Now T=x11+x2+1modx151T=x^{11}+x^{2}+1{\;\bmod\;}x^{15}-1, but x11+x2+1x^{11}+x^{2}+1 is irreducible, so TT has no irreducible factor of degree 4. ∎

7. The Fermat connection

If we have found an almost irreducible trinomial T=xn+xs+1T=x^{n}+x^{s}+1 with exponent r=nδr=n-\delta, then to check if TT is almost primitive we need the complete factorization of 2r12^{r}-1. In §5 we chose rr so the factorization was trivial, because 2r12^{r}-1 was a Mersenne prime. Another case of interest, considered in this section, is when rr is a power of two, say r=2kr=2^{k}. Then

2r1=F0F1Fk1,2^{r}-1=F_{0}F_{1}\cdots F_{k-1},

where Fj=22j+1F_{j}=2^{2^{j}}+1 is the jj-th Fermat number. The complete factorizations of these FjF_{j} are known for j11j\leq 11 (see [5]) so we can factor 22k12^{2^{k}}-1 for k12k\leq 12.

In Table 2 we give almost primitive trinomials T=xr+δ+xs+1T=x^{r+\delta}+x^{s}+1 with exponent r=2kr=2^{k} for 3k123\leq k\leq 12. Thus T=SDT=SD where DD is primitive and has degree 2k2^{k}. We also give SS in factored form. The irreducible factors of SS are not always primitive. The period of TT is lcm(2r1,period(S))=(2r1)f\operatorname{lcm}(2^{r}-1,\operatorname{period}(S))=(2^{r}-1)f.

By Swan’s theorem, a primitive trinomial of degree 2k2^{k} does not exist for k3k\geq 3. However, we can work efficiently in the finite fields GF(22k)\operatorname{GF}(2^{2^{k}}), k[3,12]k\in[3,12], using the trinomials listed in Table 2 and the implicit algorithms of §8.

kk rr δ\delta ss ff Small factor S(x)S(x)
3 8 5 1 31 x5+x4+x3+x+1x^{5}+x^{4}+x^{3}+x+1
2 7 (x2+x+1)(x3+x+1)(x^{2}+x+1)(x^{3}+x+1)
4 16 11 2 7 (x3+x+1)(x8+x7+x6+x3+x2+x+1)(x^{3}+x+1)(x^{8}+x^{7}+x^{6}+x^{3}+x^{2}+x+1)
5 32 8 3 1 x8+x6+x5+x4+x2+x+1x^{8}+x^{6}+x^{5}+x^{4}+x^{2}+x+1
6 64 10 3 21 (x4+x+1)(x6+x5+x4+x+1)(x^{4}+x+1)(x^{6}+x^{5}+x^{4}+x+1)
21 341 x10+x7+x6+x5+x3+x2+1x^{10}+x^{7}+x^{6}+x^{5}+x^{3}+x^{2}+1
7 128 2 17 1 x2+x+1x^{2}+x+1
8 256 16 45 1 x16+x15+x14+x11+x9+x7+x3+x+1x^{16}+x^{15}+x^{14}+x^{11}+x^{9}+x^{7}+x^{3}+x+1
9 512 9 252 31 (x4+x+1)(x5+x3+1)(x^{4}+x+1)(x^{5}+x^{3}+1)
10 1024 3 22 7 x3+x2+1x^{3}+x^{2}+1
11 2048 10 101 341 x10+x9+x8+x7+x5+x4+1x^{10}+x^{9}+x^{8}+x^{7}+x^{5}+x^{4}+1
12 4096 3 600 7 x3+x+1x^{3}+x+1
628 7 x3+x+1x^{3}+x+1
1399 7 x3+x2+1x^{3}+x^{2}+1
Table 2.

Some almost primitive trinomials over 2{\mathbb{Z}}_{2}.

xr+δ+xs+1x^{r+\delta}+x^{s}+1 has a primitive factor of degree r=2kr=2^{k};

δ\delta is minimal; 2sr+δ2s\leq r+\delta; the period ρ=(2r1)f\rho=(2^{r}-1)f.

8. Implicit algorithms

Suppose we wish to work in the finite field GF(2r)\operatorname{GF}(2^{r}) where rr is the exponent of an almost primitive trinomial TT. We can write T=SDT=SD, where deg(S)=δ\deg(S)=\delta, deg(D)=r\deg(D)=r. Thus

GF(2r)2[x]/D(x),GF(2^{r})\equiv{\mathbb{Z}}_{2}[x]/D(x),

but because DD is dense we wish to avoid working directly with DD, or even explicitly computing DD. We show that it is possible to work modulo the trinomial TT.

We can regard 2[x]/T(x){\mathbb{Z}}_{2}[x]/T(x) as a redundant representation of 2[x]/D(x){\mathbb{Z}}_{2}[x]/D(x). Each element A2[x]/T(x)A\in{\mathbb{Z}}_{2}[x]/T(x) can be represented as

A=Ac+AdD,A=A_{c}+A_{d}D,

where Ac2[x]/D(x)A_{c}\in{\mathbb{Z}}_{2}[x]/D(x) is the “canonical representation” that would be obtained if we worked in 2[x]/D(x){\mathbb{Z}}_{2}[x]/D(x), and Ad2[x]A_{d}\in{\mathbb{Z}}_{2}[x] is some polynomial of degree less than δ\delta.

We can perform computations such as addition, multiplication and exponentiation in 2[x]/T(x){\mathbb{Z}}_{2}[x]/T(x), taking advantage of the sparsity of TT in the usual way.If A2[x]/T(x)A\in{\mathbb{Z}}_{2}[x]/T(x) and we wish to map AA to its canonical representation AcA_{c}, we use the identity

Ac=(ASmodT)/S,A_{c}=(AS{\;\bmod\;}T)/S,

where the division by the (small) polynomial SS is exact. A straightforward implementation requires only O(δr)O(\delta r) operations. We avoid computing Ac=AmodDA_{c}=A{\;\bmod\;}D directly; in fact we never compute the (large and dense) polynomial DD: it is sufficient that DD is determined by the trinomial TT and the small polynomial SS.

In applications such as random number generation [7], where the trinomial T=xn+xs+1T=x^{n}+x^{s}+1 is the denominator of the generating function for a linear recurrence uk=uks+uknu_{k}=u_{k-s}+u_{k-n}, it is possible (by choosing appropriate initial conditions that annihilate the unwanted component) to generate a sequence that satisfies the recurrence defined by the polynomial DD. However, this is not necessary if all that matters is that the linear recurrence generates a sequence with period at least 2r12^{r}-1.

9. The density of almost irreducible/primitive polynomials

In this section we state some theorems regarding the distribution of almost irreducible polynomials. The proofs are straightforward, and similar to the proof of Theorem 1.2 in [11], which generalizes our Corollary 9.2. We would like to prove similar theorems about almost irreducible trinomials, but this seems to be difficult.

Let InI_{n} denote the number of irreducible polynomials of degree nn, excluding the polynomial xx, and let Nr,δN_{r,\delta} denote the number of almost irreducible polynomials with exponent rr and increment δ\delta. Thus d|ndId=2n1\sum_{d|n}dI_{d}=2^{n}-1 and, by Möbius inversion,

In=1nd|nμ(d)(2n/d1)=2nn(1+O(2n/2)).I_{n}=\frac{1}{n}\sum_{d|n}\mu(d)\left(2^{n/d}-1\right)=\frac{2^{n}}{n}\left(1+O(2^{-n/2})\right)\;.
Theorem 9.1.

If 0δ<r0\leq\delta<r, then Nr,δ=2max(0,δ1)IrN_{r,\delta}=2^{\max(0,\delta-1)}I_{r}.

Proof.

The case δ=0\delta=0 is immediate, so assume that δ>0\delta>0. Thus r>1r>1. For each irreducible polynomial DD of degree rr, and each polynomial SS of degree δ\delta such that S(0)0S(0)\neq 0, there is an almost irreducible polynomial P=SDP=SD. Also, by the constraint δ<r\delta<r, PP determines SS and DD uniquely. Thus, the result follows by a counting argument, since there are 2δ12^{\delta-1} possibilities for SS and IrI_{r} possibilities for DD. ∎

Corollary 9.2.

If n=r+δn=r+\delta, 0<δ<r0<\delta<r, and PP is chosen uniformly at random from the 2n12^{n-1} polynomials of degree nn with P(0)0P(0)\neq 0, then the probability that PP is almost irreducible with exponent rr is 1r(1+O(2r/2))\frac{1}{r}\left(1+O(2^{-r/2})\right).

Corollary 9.3.

If n1n\geq 1 and PP is chosen uniformly at random from the 2n12^{n-1} polynomials of degree nn with P(0)0P(0)\neq 0, then the probability that PP is almostirreducible with some valid exponent is ln2+O(1/n)\ln 2+O(1/n).

An analogy

There is an analogy between polynomials of degree nn andnn-digit numbers, with irreducible polynomials corresponding to primes. A result analogous to Corollary 9.3 is: the probability that a random nn-digit number has a prime factor exceeding n/2n/2 digits is ln2+O(1/n)\ln 2+O(1/n) (see for example [22]).

The density of almost primitive polynomials

The number of primitive polynomials of degree nn is Pn=ϕ(2n1)/nP_{n}=\phi(2^{n}-1)/n, where ϕ\phi denotes Euler’s phi function, see for example Lidl [20]. If IrI_{r} is replaced by PrP_{r} in Theorem 9.1, then we obtain the number of almost primitive polynomials with exponent rr and increment δ\delta. It is easy to deduce an analogue of Corollary 9.2. To obtain an analogue of Corollary 9.3 for almost primitive polynomials we would need to estimate n/2<rnϕ(2r1)/(r2r)\sum_{n/2<r\leq n}\phi(2^{r}-1)/(r2^{r}). For n=1000n=1000 the approximate value is 0.507.

Computational results for trinomials

Let Nait(n)N_{ait}(n) be the number of almost irreducible trinomials xn+xs+1x^{n}+x^{s}+1 with 0<s<n0<s<n. Consider the smoothed and normalized value Eait(n)=2n(n1)m=2nNait(m)E_{ait}(n)=\frac{2}{n(n-1)}\sum_{m=2}^{n}N_{ait}(m). If a result like Corollary 9.3 applies for trinomials, at least in the limit as rr, δ\delta\to\infty, then it is plausible to conjecture that

limnEait(n)=c\lim_{n\to\infty}E_{ait}(n)=c (9.1)

for some positive constant cc. We have computed Nait(n)N_{ait}(n) and Eait(n)E_{ait}(n) for n1000n\leq 1000;the numerical results support the conjecture (9.1) with c<ln20.6931c<\ln 2\approx 0.6931. For example, Eait(500)0.4765E_{ait}(500)\approx 0.4765 and Eait(1000)0.4713E_{ait}(1000)\approx 0.4713. For almost primitive trinomials the corresponding limit seems smaller (if it exists). Our computations give Eapt(500)0.3124E_{apt}(500)\approx 0.3124 and Eapt(1000)0.3104E_{apt}(1000)\approx 0.3104.

Existence of almost irreducible/primitive trinomials

We have shown by computation that an almost irreducible trinomial of degree nn exists for alln[2,10000]n\in[2,10000]. Similarly, we have shown that an almost primitive trinomial of degree nn exists for all n[2,2000]\{12}n\in[2,2000]\backslash\{12\}. In the exceptional case (degree 12), x12+x+1x^{12}+x+1 has primitive factors of degrees 3, 4, and 5, but degree 55 is too small, so x12+x+1x^{12}+x+1 is not “almost primitive” by Definition 3.1. The other candidate that is not excluded by Theorem 4.2 is x12+x5+1x^{12}+x^{5}+1; this is irreducible but not primitive, having period (2121)/5(2^{12}-1)/5.

Rather than asking for an almost irreducible (or almost primitive) trinomial of given degree, we can ask for one of given exponent. This is close to the spirit of [3, 26]. For all r[2,2000]r\in[2,2000] there is an almost irreducible trinomial xr+δ+xs+1x^{r+\delta}+x^{s}+1 with exponent rr and (minimal) increment δ=δait(r)23\delta=\delta_{ait}(r)\leq 23. The extreme increment δait(r)=23\delta_{ait}(r)=23 occurs for (r,s)=(1930,529)(r,s)=(1930,529), and the mean value of δait(r)\delta_{ait}(r) for r(1000,2000]r\in(1000,2000] is 2.14\approx 2.14. A plausible conjecture is that δait(r)=O(logr)\delta_{ait}(r)=O(\log r).

Similarly, for all r[2,712]r\in[2,712] there is an almost primitive trinomial with exponent rr and (minimal) increment δapt(r)43\delta_{apt}(r)\leq 43. The extreme δapt(r)=43\delta_{apt}(r)=43 occurs for (r,s)=(544,47)(r,s)=(544,47), and the mean value of δapt(r)\delta_{apt}(r) for r(356,712]r\in(356,712] is 3.41\approx 3.41.

References

  • [1] E. R. Berlekamp, Algebraic Coding Theory, McGraw-Hill, New York, 1968.
  • [2] I. F. Blake, S. Gao and R. J. Lambert, Constructive problems for irreducible polynomials over finite fields, in Information Theory and Applications (A. Gulliver and N. Secord, eds.), Lecture Notes in Computer Science 793, Springer-Verlag, Berlin, 1994, 1–23.
  • [3] I. F. Blake, S. Gao and R. Lambert, Construction and distribution problems for irreducible trinomials over finite fields, in Applications of Finite Fields (D. Gollmann, ed.), Oxford, Clarendon Press, 1996, 19–32. www.math.clemson.edu/~sgao/pub.html
  • [4] R. P. Brent, Uniform random number generators for supercomputers, Proc. Fifth Australian Supercomputer Conference, Melbourne, Dec. 1992, 95–104.
  • [5] R. P. Brent, Factorization of the tenth Fermat number, Math. Comp. 68 (1999), 429–451.
  • [6] R. P. Brent, S. Larvala and P. Zimmermann, A fast algorithm for testing reducibility of trinomials mod 2 and some new primitive trinomials of degree 3021377, Math. Comp. 72 (2003), 1443–1452. Update at http://www.comlab.ox.ac.uk/oucl/work/richard.brent/pub/pub199.html
  • [7] R. P. Brent and P. Zimmermann, Random number generators with period divisible by a Mersenne prime, Proc. ICCSA 2003, Montreal, to appear in Lecture Notes in Computer Science. http://www.comlab.ox.ac.uk/oucl/work/richard.brent/pub/pub211.html
  • [8] J. Brillhart, D. H. Lehmer, J. L. Selfridge, B. Tuckerman, and S. S. Wagstaff, Jr., Factorizations of bn±1b^{n}\pm 1, b=2,3,5,6,7,10,11,12b=2,3,5,6,7,10,11,12 up to High Powers, third edition, Amer. Math. Soc., Providence, RI, 2002. http://www.ams.org/online_bks/conm22/
  • [9] K. Dalen, On a theorem of Stickelberger, Math. Scand. 3, 124–126, 1955.
  • [10] L. E. Dickson, Criteria for the irreducibility of functions in a finite field, Bulletin Amer. Math. Soc. 13(1) (1906), 1–8.
  • [11] S. Gao, Elements of provable high orders in finite fields, Proc. Amer. Math. Soc. 127(6) (1999), 1615–1623.
  • [12] J. von zur Gathen, Irreducible trinomials over finite fields, Math. Comp. 71 (2002), 1699–1734.
  • [13] J. von zur Gathen and J. Gerhard, Modern Computer Algebra, Cambridge University Press, Cambridge, UK, 1999.
  • [14] GIMPS, The Great Internet Mersenne Prime Search. http://www.mersenne.org/
  • [15] S. W. Golomb, Shift Register Sequences, Aegean Park Press, revised edition, 1982.
  • [16] J. R. Heringa, H. W. J. Blöte and A. Compagner, New primitive trinomials of Mersenne-exponent degrees for random-number generation, International J. of Modern Physics C 3 (1992), 561–564.
  • [17] D. E. Knuth, The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Addison-Wesley, Menlo Park, CA, third edition, 1998.
  • [18] T. Kumada, H. Leeb, Y. Kurita and M. Matsumoto, New primitive tt-nomials (t=3(t=3, 5)5) over GF(2)\operatorname{GF}(2) whose degree is a Mersenne exponent, Math. Comp. 69 (2000), 811–814. Corrigenda: ibid 71 (2002), 1337–1338.
  • [19] Y. Kurita and M. Matsumoto, Primitive tt-nomials (t=3,5)(t=3,5) over GF(2)\operatorname{GF}(2) whose degree is a Mersenne exponent 44497\leq 44497, Math. Comp. 56 (1991), 817–821.
  • [20] R. Lidl and H. Niederreiter, Introduction to Finite Fields and their Applications, Cambridge Univ. Press, Cambridge, second edition, 1994.
  • [21] A. J. Menezes, P. C. van Oorschot and S. A. Vanstone, Handbook of Applied Cryptography, CRC Press, Boca Raton, Florida, 1997. http://cacr.math.uwaterloo.ca/hac/
  • [22] K. K. Norton, Numbers with small prime factors, and the least kk-th power nonresidue, Memoirs Amer. Math. Soc. 106 (1971), 1–106.
  • [23] A.-E. Pellet, Sur la décomposition d’une fonction entière en facteurs irréductibles suivant un module premier pp, Comptes Rendus de l’Académie des Sciences Paris 86 (1878), 1071–1072.
  • [24] L. Stickelberger, Über eine neue Eigenschaft der Diskriminanten algebraischer Zahlkörper, Verhandlungen des ersten Internationalen Mathematiker-Kongresses, Zürich, 1897, 182–193.
  • [25] R. G. Swan, Factorization of polynomials over finite fields, Pacific J. Mathematics 12 (1962), 1099–1106.
  • [26] J. Tromp, L. Zhang and Y. Zhao, Small weight bases for Hamming codes, Theoretical Computer Science 181(2), 1997, 337–345.
  • [27] N. Zierler, Primitive trinomials whose degree is a Mersenne exponent, Information and Control 15 (1969), 67–69.