Skip to content
uencoder

CRC32

CRC32 is a 32-bit cyclic redundancy check based on polynomial division over GF(2), used to detect transmission errors — not a cryptographic hash.

Purpose

Efficiently detects burst errors for data integrity — not for security authentication.

Mechanism

The input bitstream is treated as a polynomial over GF(2) and divided by a generator polynomial (e.g. 0x04C11DB7); the remainder is the 32-bit CRC. Different polynomials (IEEE, Castagnoli, etc.) have different error-detection properties. CRC32C (Castagnoli) offers better performance and detection.

Use cases

  • ZIP/GZIP file verification
  • Ethernet frame FCS
  • SSE/AVX accelerated checksums
  • iSCSI data integrity

Examples

  • Input
    hello
    Output
    0x3610a686

    IEEE 802.3 polynomial

Common errors

Using CRC32 for cryptographic authentication (not collision resistant)
Use HMAC-SHA256 for authentication

Related terms

Related tools

References