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 corrective action can be taken against presumed data corruption if the check values do not match.
CRCs are so called because the check (data verification) value is a redundancy (it adds no information to the message) and the algorithm is based on cyclic codes. 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. Because the check value has a fixed length, the function that generates it is occasionally used as a hash function. The CRC was invented by W. Wesley Peterson in 1961; the 32-bit polynomial used in the CRC function of Ethernet and many other standards is the work of several researchers and was published during 1975.
Read more about Cyclic Redundancy Check: Introduction, Application, CRCs and Data Integrity, Computation of CRC, Mathematics of CRC, Specification of CRC, Commonly Used and Standardized CRCs
Famous quotes containing the word check:
“He took control of me for forty-five minutes. This time Ill have control over him for the rest of his life. If he gets out fifteen years from now, Ill know. Ill check on him every three months through police computers. If he makes one mistake hes going down again. Ill make sure. Im his worst enemy now.”
—Elizabeth Wilson, U.S. crime victim. As quoted in People magazine, p. 88 (May 31, 1993)