# CRC

**CRC** stands for *cyclic redundancy check*.

CRCs are hash functions designed to protect against common types of errors on communication channels, but are not suitable for protecting against intentional alteration of data. CRCs use a family of related algorithms rather than a single standardized one. A variety of cyclic redundancy checks have been incorporated into technical specifications. For example, many specifications, including ZIP, use a variant commonly called CRC-32.

See also:

## Discussion

Each CRC algorithm involves a special *generator polynomial*, but knowing this polynomial is not sufficient to unambiguously define the algorithm. There are other parameters, including the initial state, byte-ordering and bit-ordering issues, and whether the bits are inverted at certain places in the process. The names used for CRC algorithms are often ambiguous, and the same algorithm may have several names.

## Links

- Cyclic redundancy check : Wikipedia
- CRC RevEng - CRC calculator and algorithm finder
- CRC Polynomial Zoo