Understanding how Prime Polynomials are applied to LFSRs?

7.5k Views Asked by At

In doing some research on LFSRs I understand that a primitive polynomial can determine what taps to be used to create an LFSR that has as many bits as the degree of the polynomial that will cycle through all non-zero states. E.G. A primitive polynomial whose coefficients are in GF(2) such as $x^4+x^3+1$ implies that a 4 bit LFSR will cycle through every possible non-zero state once and only once if the 4th bit and the 3rd bit are used as taps.

I don't understand the connection between a primitive polynomial and the taps of an LFSR. I never would have looked at a primitive polynomial and thought "let's make those bits in a register and xor them... etc" and made the connection. Can somebody explain this magic?