(algorithm)

**Definition:**
(1) A method to detect and correct errors by adding bits derived from a block or string of bits to the block. (2) An algorithm to compute bits characteristic of a block based on the algebra of *polynomials* over the integers, modulo 2. (3) The characteristic bits of a block.

**Also known as** CRC.

*Note:
Large blocks may be probabilistically compared by precalculating the CRC for each block, then comparing their CRCs. If the CRCs are different, the blocks are different. If the CRCs match, there is a small chance that the blocks are actually different. This probability may be made arbitrarily smaller with more CRC bits. *

Many transmission errors may be detected, and some corrected, by recalculating the CRC and comparing it with the transmitted CRC.

* Contributed by Arvind <uk_arvind@mail.utexas.edu> May 2002.*

Author: PEB

Go to the Dictionary of Algorithms and Data Structures home page.

If you have suggestions, corrections, or comments, please get in touch with Paul Black.

Entry modified 19 July 2021.

HTML page formatted Mon Jul 19 10:37:07 2021.

Cite this as:

Paul E. Black, "cyclic redundancy check", in
*Dictionary of Algorithms and Data Structures* [online], Paul E. Black, ed. 19 July 2021. (accessed TODAY)
Available from: https://www.nist.gov/dads/HTML/cyclicRedundancyCheck.html