9 Polynomial representations of cyclic redundancy checksĬRCs are based on the theory of cyclic error-correcting codes.Because the check value has a fixed length, the function that generates it is occasionally used as a hash function. CRCs are popular because they are simple to implement in binary hardware, easy to analyze mathematically, and particularly good at detecting common errors caused by noise in transmission channels. ĬRCs are so called because the check (data verification) value is a redundancy (it expands the message without adding information) and the algorithm is based on cyclic codes.
CRCs can be used for error correction (see bitfilters). On retrieval, the calculation is repeated and, in the event the check values do not match, corrective action can be taken against data corruption. Blocks of data entering these systems get a short check value attached, based on the remainder of a polynomial division of their contents. Error-detecting code for detecting data changesĪ cyclic redundancy check ( CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data.