Cyclic Redundancy Checks fall into the same category as parity bits, check digits, and checksums: Their use is to detect transmission errors. Depending on the error model assumed (i.e., what types of transmission errors are to be expected, which typically depends on the transmission media), different forms of checking are appropriate. Before starting to look at CRCs per se, we thus look at the other mechanisms first, which also help introducing a few concepts with illustrative examples.
Please follow these links to learn more about CRCs:
- Tutorial: Cyclic Redundancy Check (CRC) Computation
- Background: Asynchronous Serial Communications (RS-232C)
- Parity Bits
- Intermission: Classes of errors
- Check Digits
- Error Correction Codes (ECC)
- Cyclic Redundancy Check sequences (CRC): A Big Mystery?
- CRC Hardware Operation
- Software CRC Computation
- Mathematical Background
To dig deeper into the topic with some research papers, you might want to have a look at the following entries:
- Fast and Flexible CRC Calculations (Döring and Waldvogel 2004)
- Fast Incremental CRC Updates for IP over ATM Networks (Braun and Waldvogel 2001)
- Integrated Hardware/Software Design of a High Performance Network Interface (Dittia 2001): High-speed CRC calculation, among other readable topics.