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:
“This fellow is wise enough to play the fool,
And to do that well craves a kind of wit.
He must observe their mood on whom he jests,
The quality of persons, and the time,
Not, like the haggard, check at every feather
That comes before his eye. This is a practice
As full of labor as a wise mans art.”
—William Shakespeare (15641616)