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. It is a checksum method that uses a polynomial division algorithm to calculate a fixed-size value based on the contents of a data block. The calculated CRC value is appended to the data block and transmitted along with the data. The receiver of the data can then recalculate the CRC value from the received data and compare it to the received CRC value. If the two CRC values match, it is very likely that the data was transmitted without errors.
CRCs are essential for ensuring the integrity of data transmissions and storage. They are used in a wide variety of applications, including: