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.