Field element representation Primitive polynomials can be used to represent the elements of a
finite field. If
α in GF(
pm) is a root of a primitive polynomial
F(
x), then the nonzero elements of GF(
pm) are represented as successive powers of
α: : \mathrm{GF}(p^m) = \{ 0, 1= \alpha^0, \alpha, \alpha^2, \ldots, \alpha^{p^m-2} \} . This allows an economical representation in a
computer of the nonzero elements of the finite field, by representing an element by the corresponding exponent of \alpha. This representation makes multiplication easy, as it corresponds to addition of exponents
modulo p^m-1.
Pseudo-random bit generation Primitive polynomials over GF(2), the field with two elements, can be used for
pseudorandom bit generation. In fact, every
linear-feedback shift register with maximum cycle length (which is , where
n is the length of the linear-feedback shift register) may be built from a primitive polynomial. In general, for a primitive polynomial of degree
m over GF(2), this process will generate pseudo-random bits before repeating the same sequence.
CRC codes The
cyclic redundancy check (CRC) is an error-detection code that operates by interpreting the message bitstring as the coefficients of a polynomial over GF(2) and dividing it by a fixed generator polynomial also over GF(2); see
Mathematics of CRC. Primitive polynomials, or multiples of them, are sometimes a good choice for generator polynomials because they can reliably detect two bit errors that occur far apart in the message bitstring, up to a distance of for a degree
n primitive polynomial. ==Primitive trinomials==