Explore modules

Cyclic Redundancy Check

Calculate Cyclic Redundancy Check (CRC) using polynomial long division over GF(2).

Free theory article

Calculate Cyclic Redundancy Check (CRC) using polynomial long division over GF(2).

Concept & interpretation

A Cyclic Redundancy Check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data. Blocks of data entering these systems get a short check value attached, based on the remainder of a polynomial division of their contents. On retrieval, the calculation is repeated and, in the event the check values do not match, corrective action can be taken against data corruption.

Interactive Experiment

You can verify this exact calculation using the Cyclic Redundancy Check module.

  1. Set Data bits to 1101 and Generator bits to 1011.
  2. Click Step multiple times to walk through the long division XOR operations.
  3. Click Finish to immediately compute the final remainder (001) and codeword (1101001).
  4. Change the Flip position to 1, then click Finish again to replay and simulate a one-bit transmission error. You will observe received remainder 111, correctly displaying Detected error status.
Read the full free theory article