Maximal Length LFSR Feedback Terms

This directory holds data files with maximal length LFSR feedback polynomials. LFSRs have uses as pseudo-random number generators in several application domains. It is not my intent to teach or support LFSR design -- just to make available some feedback terms I computed.

If you want to know more about LFSR usage, some starting points are:

For more on primitive polynomials, see:


The following table is probably may be updated from time to time as my workstations have spare cycles to do more computations. You may use these results as you like, but since this is free I give no warrantee on them for any purpose whatsoever. If you find a problem, please let me know and I will fix it if/when I have time.

SIZE
(# bits in feedback term)
# Feedback terms found Text file
(First hundred entries)
Gzip'ed file
(complete list)
4 2 4.txt 4.dat.gz
5 6 5.txt 5.dat.gz
6 6 6.txt 6.dat.gz
7 18 7.txt 7.dat.gz
8 16 8.txt 8.dat.gz
9 48 9.txt 9.dat.gz
10 60 10.txt 10.dat.gz
11 176 11.txt 11.dat.gz
12 144 12.txt 12.dat.gz
13 630 13.txt 13.dat.gz
14 756 14.txt 14.dat.gz
15 1,800 15.txt 15.dat.gz
16 2,048 16.txt 16.dat.gz
17 7,710 17.txt 17.dat.gz
18 7,776 18.txt 18.dat.gz
19 27,594 19.txt 19.dat.gz
20 24,000 20.txt 20.dat.gz
21 84,672 21.txt 21.dat.gz
22 120,032 22.txt 22.dat.gz
23 356,960 23.txt 23.dat.gz
24 276,480 24.txt 24.dat.gz
25 1,296,000 25.txt 25.dat.gz
26 1,719,900 26.txt 26.dat.gz
27 4,202,496 27.txt 27.dat.gz
28 4,741,632 28.txt 28.dat.gz
29 18,407,808 29.txt 29.dat.gz
30 17,820,000 30.txt 30.dat.gz
31 69,273,666 31.txt 31.dat.gz (184 MB!)
32 67,108,864 32.txt 32.dat.gz (186 MB!)
33 -- 33.txt
34 -- 34.txt
35 -- 35.txt
36 -- 36.txt
37 -- 37.txt
38 -- 38.txt
39 -- 39.txt

In the above data files, the feedback term is the hexadecimal number that represents the feedback polynomial for a right-shifted LFSR per the following C code LFSR inner loop implementation:

  if (i & 1)  { i = (i >> 1) ^ feed; }
  else        { i = (i >> 1);       }


 [MY HOME PAGE]

Philip Koopman