CRC-32

CRC-32 is a family of 32-bit hash functions used to detect accidental data corruption.

The term CRC-32 by itself usually means the CRC-32/ISO-HDLC (IEEE) algorithm.

Refer to the CRC article for more information.

Specific algorithms
Selected CRC-32 algorithms are listed here. The names are from the CRC RevEng Catalogue.

CRC-32/ISO-HDLC
Also referred to as ISO 3309, ITU-T V.42, CRC-32-IEEE, and many other names.

The CRC of ASCII " " is.

Examples of formats that use CRC-32/ISO-HDLC: ZIP, PNG, Gzip, ARJ.

CRC-32/JAMCRC
Equivalent to CRC-32/ISO-HDLC, but with the final CRC's bits inverted (or, rather, not inverted -- ISO-HDLC is the one that inverts the bits).

The CRC of ASCII " " is.

Examples of formats that use CRC-32/JAMCRC: EDI Install archive and Eschalon Setup archive, Brik.

CRC-32/CKSUM
The default algorithm of the traditional Unix/POSIX "cksum" utility. Note that the utility uses a high-level algorithm that preprocesses the input data.

The (high-level) CRC of ASCII " " is.

Others
Other members of the CRC-32 family include CRC-32Q, CRC-32C (Castagnoli), and CRC-32K (Koopman).

Links

 * CRC RevEng: Catalogue of parametrised CRC algorithms - 32 bits
 * CRC Polynomial Zoo - 32 Bits
 * ITU-T Rec. V.42 Section 8.1.1.6.2 (IEEE CRC-32)
 * Rosetta Code: CRC-32

See also CRC.