DexterLab

🚨 New downloadable modules coming soon📘 Electrical Signaling & PHY Interfaces — new overview📘 Electrical I/O Standards — new overview📘 Integration between Theory and Design Library in progress

CRC – Reference Table

CRC variants differ in polynomial, initialization value, reflection rules, and final XOR settings. This reference page collects the most commonly used CRCs across communication protocols, storage systems, and embedded applications. The list is intentionally focused: many other CRCs exist, but they follow the same general structure and philosophy.

1. CRC‑8 Variants

NamePolynomial (hex)InitXOR OutRefInRefOutTypical Use
CRC-8 ATM0x070x000x00NoNoATM, telecom
CRC-8 Maxim0x310x000x00YesYes1-Wire devices

2. CRC‑16 Variants

NamePolynomial (hex)InitXOR OutRefInRefOutTypical Use
CRC-16 IBM0x80050x00000x0000YesYesLegacy protocols
CRC-16 CCITT0x10210xFFFF0x0000NoNoTelecom, HDLC
CRC-16 USB0x80050xFFFF0xFFFFYesYesUSB packets

3. CRC‑32 Variants

NamePolynomial (hex)InitXOR OutRefInRefOutTypical Use
CRC-32 Ethernet0x04C11DB70xFFFFFFFF0xFFFFFFFFYesYesEthernet MAC
CRC-32 Castagnoli0x1EDC6F410xFFFFFFFF0xFFFFFFFFYesYesStorage, iSCSI
CRC-32 MPEG-20x04C11DB70xFFFFFFFF0x00000000NoNoMPEG-2 Transport Stream

4. CRC‑64 Variants

NamePolynomial (hex)InitXOR OutRefInRefOutTypical Use
CRC-64 ECMA0x42F0E1EBA9EA36930x00000000000000000x0000000000000000NoNoStorage, archives

5. Notes on Variants

  • CRCs with the same width may behave differently due to reflection, initialization, and final XOR rules.
  • CRC‑32 Ethernet and CRC‑32 MPEG‑2 share the same polynomial but differ in reflection and final XOR.
  • CRC‑16 IBM and CRC‑16 USB share the same polynomial but differ in initialization and reflection.
  • Many additional CRCs exist, but they follow the same structural principles shown here.

6. Polynomial Representation (Expanded Form)

NamePolynomial (hex)Expanded Polynomial Form
CRC-8 ATM0x07x⁸ + x² + x + 1
CRC-8 Maxim0x31x⁸ + x⁵ + x⁴ + 1
CRC-16 IBM0x8005x¹⁶ + x¹⁵ + x² + 1
CRC-16 CCITT0x1021x¹⁶ + x¹² + x⁵ + 1
CRC-16 USB0x8005x¹⁶ + x¹⁵ + x² + 1
CRC-32 Ethernet0x04C11DB7 x³² + x²⁶ + x²³ + x²² + x¹⁶ + x¹² + x¹¹ + x¹⁰ + x⁸ + x⁷ + x⁵ + x⁴ + x² + x + 1
CRC-32 Castagnoli0x1EDC6F41 x³² + x²⁸ + x²⁷ + x²⁶ + x²⁵ + x²³ + x²² + x²⁰ + x¹⁹ + x¹⁸ + x¹⁴ + x¹³ + x¹¹ + x¹⁰ + x⁹ + x⁸ + x⁶ + 1
CRC-32 MPEG-20x04C11DB7 x³² + x²⁶ + x²³ + x²² + x¹⁶ + x¹² + x¹¹ + x¹⁰ + x⁸ + x⁷ + x⁵ + x⁴ + x² + x + 1
CRC-64 ECMA0x42F0E1EBA9EA3693 x⁶⁴ + x⁴⁰ + x³⁸ + x³⁶ + x³³ + x³¹ + x³⁰ + x²⁹ + x²⁷ + x²⁴ + x²³ + x²² + x¹⁸ + x¹⁷ + x¹⁴ + x¹³ + x¹² + x¹⁰ + x⁹ + x⁷ + x⁶ + x⁵ + x³ + 1

7. Related Pages