N | Algo | Polynom | Check | Comments |
1 | CRC8 | 0x07 | 0xF4 | |
2 | CRC8_reversed | 0xE0 | 0x02 | |
3 | CRC16 | 0x08005 | 0xFEE8 | |
4 | CRC16_arc | 0x08005 | 0xBB3D | |
5 | CRC16_reversed | 0x0A001 | 0xAFAD | |
6 | CRC16_lha | 0x04003 | 0x779E | |
7 | CRC16_kermit | 0x1021 | 0x2189 | The algo is also known as X-KERMIT |
7 | CRC16_ccitt | 0x1021 | 0xE5CC | An article about why the algo has such a value |
9 | CRC16_ccitt_29B1 | 0x1021 | 0x0x29B1 | An article about why the algo has such a value |
10 | CRC16_zmodem | 0x1021 | 0x31C3 | |
8 | CRC16_ccitt_reversed | 0x8408 | 0x0C73 | The algo is also known as Kermit or Kermit16 |
10 | CRC16_ISO_13239 | 0x8408 | 0x916F | |
11 | CRC24 | 0x1864CFB | 0x21CF02 | |
12 | CRC32 | 0x04C11DB7 | 0xCBF43926 | The algo is known as ZModem_Crc32 |
13 | CRC32_reversed | 0xEDB88320 | 0x74EDF7BF | |
14 | CRC32_bzip2 | 0x04C11DB7 | 0xFC891918 | |
15 | CRC32_jamcrc | 0x04C11DB7 | 0x340BC6D9 |
Name | Degree r | Polynomial G(x) | Polynomial (hex) | Factors of G(x) |
---|---|---|---|---|
GSM TCH/FS-HS-EFS Channel coding for speech traffic channels | 3 | x3+x+1 | 0x3 | irreducible |
GSM TCH/EFS precoding Channel coding for enhanced full rate | 8 | x8+x4+x3+x2+1 | 0x1D | irreducible |
CRC-8 (3GPP) | 8 | x8+x7+x4+x3+x+1 | 0x9B | (x+1)(x7+x3+1) |
CRC-12 (3GPP) | 12 | x12+x11+x3+x2+x+1 | 0x80F | (x+1)(x11+x2+1) |
CRC-16-BISYNCH IBM BISYNCH LHA, PKPAK, ZOO | 16 | x16+x15+x2+1 | 0x8005 | (x+1)(x15+x+1) |
CRC-16-X25 ITU-TSS CRC-16 X.25-CCITT, V.41, XMODEM, IMB SDLC, ISO HDLC, 3GPP, PPP [2] | 16 | x16+x12+x5+1 | 0x1021 | (x+1) (x15+x14+x13+x12+x4+x3+x2+x+1) |
CRC-24 MIL STD 188-184, OpenPGP [3] | 24 | x24+x23+x18+x17 +x14+x11+x10+x7 +x6+x5+x4+x3+x+1 | 0x864CFB | (x+1) (x23+x17+x13+x12+x11+x9+x8+x7+x5+x3+1) |
CRC-24 (3GPP) | 24 | x24+x23+x6+x5+x+1 | 0x800063 | (x+1)(x23+x5+1) |
CRC-32 ITU-TSS CRC-32, IEEE 802.3 Ethernet AUTODIN II, PPP [2], FDDI, ATM AAL5, ARJ, LHA32, RAR, PKZip | 32 | x32+x26+x23+x22 +x16+x12+x11+x10 +x8+x7+x5+x4+x2+x+1 | 0x04C11DB7 | irreducible |
GSM control channel FIRE code Channel coding for control channels | 40 | x40+x26+x23+x17+x3+1 | 0x004820009 | (x+1)(x11+x10+x6+x5+x4+x2+1) (x11+x9+x7+x6+x5+x+1) (x17+x3+1) |
Parameters | CRC-16-CCITT | CRC-16-XMODEM1) | CRC-16-X251) PPP FCS-16 [2] | CRC-24 OpenPGP [3] | CRC-321) AUTODIN II PPP FCS-32 [2] |
---|---|---|---|---|---|
Degree of polynomialL r | 16 | 16 | 16 | 24 | 32 |
PolynomialL G(x) | 0x1021 | 0x1021 | 0x1021 | 0x864CFB | 0x04C11DB7 |
Initial value | 0xFFFF | 0x0000 | 0xFFFF | 0xB704CE | 0xFFFFFFFF |
Output XOR mask | 0x0000 | 0x0000 | 0xFFFF | 0x000000 | 0xFFFFFFFF |
Reflect input byte | no | no | yes | no | yes |
Reflect output CRC | no | no | yes | no | yes |
Augment with zeros | yes (no) | no | no | no | no |
Test value CRC("123456789") | 0xE5CC (0x29B1) | 0x31C3 | 0x906E | 0x21CF02 | 0xCBF43926 |
Test value, length=0 CRC("") | 0x1D0F (0xFFFF) | 0x0000 | 0x0000 | 0xB704CE | 0xF4DBDF21 |