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:
“Is there no hope for me? Is there no way
That I may sight and check that speeding bark
Which out of sight and sound is passing, passing?”
—Paul Laurence Dunbar (18721906)