Copyright © Philip M. Parker, INSEAD. Terms of Use.

Definition: Cyclic Redundancy Check |
Cyclic Redundancy CheckNoun1. An error correction code that is recorded in each sector of a magnetic disk and used to catch errors in the data. Source: WordNet 1.7.1 Copyright © 2001 by Princeton University. All rights reserved. |
| Domain | Definition |
Computing | Cyclic redundancy check (CRC or "cyclic redundancy code") A number derived from, and stored or transmitted with, a block of data in order to detect corruption. By recalculating the CRC and comparing it to the value originally transmitted, the receiver can detect some types of transmission errors. A CRC is more complicated than a checksum. It is calculated using division either using shifts and exclusive ORs or table lookup (modulo 256 or 65536). The CRC is "redundant" in that it adds no information. A single corrupted bit in the data will result in a one bit change in the calculated CRC but multiple corrupted bits may cancel each other out. CRCs treat blocks of input bits as coefficient-sets for polinomials. E.g., binary 10100000 implies the polynomial: 1*x^7 + 0*x^6 + 1*x^5 + 0*x^4 + 0*x^3 + 0*x^2 + 0*x^1 + 0*x^0. This is the "message polynomial". A second polynomial, with constant coefficients, is called the "generator polynomial". This is divided into the message polynomial, giving a quotient and remainder. The coefficients of the remainder form the bits of the final CRC. So, an order-33 generator polynomial is necessary to generate a 32-bit CRC. The exact bit-set used for the generator polynomial will naturally affect the CRC that is computed. Most CRC implementations seem to operate 8 bits at a time by building a table of 256 entries, representing all 256 possible 8-bit byte combinations, and determining the effect that each byte will have. CRCs are then computed using an input byte to select a 16- or 32-bit value from the table. This value is then used to update the CRC. Ethernet packets have a 32-bit CRC. Many disk formats include a CRC at some level. (1997-08-02). Source: The Free On-line Dictionary of Computing. |
Math | (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. (references) |
Source: compiled by the editor from various references; see credits. | |
(From Wikipedia, the free Encyclopedia)
The essential mathematical operation in the calculation of a CRC is binary division, and the remainder from the division determines the CRC. The main portion of the algorithm in pseudocode is as follows:
shiftregister = initial value (commonly 0x0000... or 0xFFFF...)
while bits remain in string:
if MSB of shiftregister is set:
shiftregister = (shiftregister leftshift 1) xor polynomial
("leftshift" assumes big-endian architecture)
else:
shiftregister = shiftregister leftshift 1
xor next bit from the string into LSB of shiftregister
output shiftregister
Note: Use of a lookup table containing the CRC's of all 256 possible bytes allows for an eight-fold increase in the speed of the algorithm.CRC types are often identified by "polynomial," which is the number used as the divisor (given in hexadecimal format). One of the most commonly encountered of the CRC types is that used by (among others) Ethernet, FDDI, PKZIP, WinZip, and PNG. It uses the polynomial 0x04C11DB7, and is known as "CRC-32."
CRC's are often referred to as "checksums," but such designations are not accurate since, technically, a checksum is calculated through addition, not division.
External Links and Resources
Source: adapted by the editor from Wikipedia, the free encyclopedia under a copyleft GNU Free Documentation License (GFDL) from the article "Cyclic redundancy check."
Crosswords: Cyclic Redundancy Check |
| Specialty definitions using "cyclic redundancy check": CRC, cyclic redundancy code ♦ DS1 ♦ error detection and correction, extended PAD, extended program associated data, extended programme associated data ♦ reliable communication. (references) |
| The following statistics estimate the number of searches per day across the major English-language search engines as identified by various trade publications. Hyperlinks lead to commercial use of the expression at Amazon.com. |
| Expression | Frequency per Day |
cyclic redundancy check | 85 |
| Source: compiled by the editor from various references; see credits. | |
| Language | Translations for "cyclic redundancy check"; alternative meanings/domain in parentheses. | ||||||||||||||||
Danish | cycklisk redundanscheck. (various references) | ||||||||||||||||
Dutch | cyclische-redundantiecontrole. (various references) | ||||||||||||||||
French | CRC, contrôle par redondance cyclique, contrôle de redondance cyclique, contrôle cyclique par redondance. (various references) | ||||||||||||||||
German | CRC-Prüfung (crc check), zyklischer Redundanztest, zyklischer Überflüssigkeitstest, zyklische Redundanzprüfung. (various references) | ||||||||||||||||
Greek | κυκλικός έλεγχος πλεονασμού. (various references) | ||||||||||||||||
Italian | controllo di ridondanza ciclica, controllo della ridondanza ciclica. (various references) | ||||||||||||||||
Pig Latin | ycliccay edundancyray eckchay controlo por redundância cíclica, teste de redundância cíclico. (various references) VRC, verificación por redundancia cíclica. (various references) | ||||||||||||||||
| 1. Definition 2. Crosswords 3. Expressions: Internet 4. Translations: Modern | 5. Bibliography |
Copyright © Philip M. Parker, INSEAD. Terms of Use.