[ Home | Up | Prev | Next | Disclaimer ]
width=3 poly=0x3 init=0x0 refin=false refout=false xorout=0x7 check=0x4 residue=0x2 name="CRC-3/GSM"
- Class: academic
- ETSI TS 100 909 version 8.9.0 (January 2005)
- I Full mathematical description (Section 3.1.2.1, p.18 — Section 3.2.1, p.20)
- Created: 17 February 2017
width=3 poly=0x3 init=0x7 refin=true refout=true xorout=0x0 check=0x6 residue=0x0 name="CRC-3/ROHC"
- Class: academic
- IETF RFC 3095 (July 2001)
- I Definition: Width, Poly, Init (Section 5.9.2, pp.125–6)
- Andreas Vernersson et al. (26 May 2003), rohc 1.0 module
rohc-1.0/rohc/src/c_util.c
- Created: 14 December 2009
- Updated: 4 August 2023
width=4 poly=0x3 init=0x0 refin=true refout=true xorout=0x0 check=0x7 residue=0x0 name="CRC-4/G-704"
- Class: academic
- Alias: CRC-4/ITU
- ITU-T Recommendation G.704 (October 1998)
- I Full mathematical description (Section 2.3.3.5, p.12)
- I Shift register diagram (Annex A.3, p.36)
- Created: 7 October 2008
- Updated: 21 November 2018
width=4 poly=0x3 init=0xf refin=false refout=false xorout=0xf check=0xb residue=0x2 name="CRC-4/INTERLAKEN"
width=5 poly=0x09 init=0x09 refin=false refout=false xorout=0x00 check=0x00 residue=0x00 name="CRC-5/EPC-C1G2"
- Class: attested
- Alias: CRC-5/EPC
- Used in standardised RFID tags.
- EPCglobal Inc™ (4 September 2018), EPC UHF Gen2 Air Interface Protocol: EPC™ Radio-Frequency Identity Protocols Generation-2 UHF RFID Standard, release 2.1
- I Definition: Width, Poly, Init, Residue (Table 6-12, p.34)
- I Definition: RefIn, Residue (Annex F.1, p.143)
- I Shift register circuit diagram (Figure F-1, p.143)
- I Transmission order, implying RefIn and RefOut (Section 6.3.1.4, p.33)
- Hee-Bok Kang et al. (December 2008), High Security FeRAM-Based EPC C1G2 UHF (860 MHz-960 MHz) Passive RFID Tag Chip, ETRI Journal, Volume 30 Number 6
- "jgmh" (20 May 2009), Computer Interfacing Forum topic 1330 (courtesy of the Internet Archive)
- Created: 20 May 2009
- Updated: 28 December 2019
width=5 poly=0x15 init=0x00 refin=true refout=true xorout=0x00 check=0x07 residue=0x00 name="CRC-5/G-704"
- Class: academic
- Alias: CRC-5/ITU
- ITU-T Recommendation G.704 (October 1998)
- I Definition: Residue; full mathematical description (Section 2.2.3.2, pp.8–9)
- I Shift register diagram (Annex A.2, p.36)
- Created: 7 October 2008
- Updated: 21 November 2018
width=5 poly=0x05 init=0x1f refin=true refout=true xorout=0x1f check=0x19 residue=0x06 name="CRC-5/USB"
- Class: confirmed
- Cypress Semiconductor Corporation (26 July 2001), SL811HS/SL811HST Application Notes, Revision 1.21 (courtesy of Stardot.org.uk Forums)
- II Transcript confirming implementation with 4 codewords (pp.25,30)
0000000000001000
1000000010000011
0010111000011000
1010111000000111
- Anonymous (10 July 1997), "Cyclic Redundancy Checks in USB" (Draft) (courtesy of the Internet Archive)
- III Definition: Width, Poly, Init, XorOut (p.2)
- III Definition: Residue (p.3)
- III Code: Perl (pp.3–4)
- IV 4 codewords (p.5)
1010100011110111
0101110010111100
0000111001001110
1000000000010111
- Created: 1 December 2007
- Updated: 12 July 2024
width=6 poly=0x27 init=0x3f refin=false refout=false xorout=0x00 check=0x0d residue=0x00 name="CRC-6/CDMA2000-A"
- Class: attested
- 3rd Generation Partnership Project 2 (3GPP2) (September 2009), Physical layer standard for cdma2000 spread spectrum systems, revision E, version 1.0 (courtesy of the Internet Archive)
- I Definition: Width, Poly (Section 2.1.3.1.4.1.5, p.2-97)
- I Full description (Section 2.1.3.1.4.1, p.2-95)
- I Shift register diagram (Figure 2.1.3.1.4.1.5-1, p.2-97)
- Agilent Technologies, Advanced Design System 2008 Update 2,
CDMA2K_CRC_Coder
module documentation (courtesy of the Internet Archive)
- J. Hurley, Avtec Inc. (6 May 2011), Computer Interfacing Forum topic 1702 (courtesy of the Internet Archive)
- IV 3 codewords
C101002E
0110000F
05100009
- reveng -m CRC-6/CDMA2000-A -a 1 -A 6 -X -c 11000001000000010000000000 00000001000100000000000000 00000101000100000000000000 →
2E 0F 09
- Created: 14 October 2013
- Updated: 28 July 2023
width=6 poly=0x07 init=0x3f refin=false refout=false xorout=0x00 check=0x3b residue=0x00 name="CRC-6/CDMA2000-B"
- Class: academic
- 3rd Generation Partnership Project 2 (3GPP2) (September 2009), Physical layer standard for cdma2000 spread spectrum systems, revision E, version 1.0 (courtesy of the Internet Archive)
- I Definition: Width, Poly (Section 2.1.3.1.4.1.6, pp.2-97–8)
- I Full description (Section 2.1.3.1.4.1, p.2-95)
- I Shift register diagram (Figure 2.1.3.1.4.1.6-1, p.2-98)
- Agilent Technologies, Advanced Design System 2008 Update 2,
CDMA2K_CRC_Coder
module documentation (courtesy of the Internet Archive)
- Created: 14 October 2013
- Updated: 28 July 2023
width=6 poly=0x19 init=0x00 refin=true refout=true xorout=0x00 check=0x26 residue=0x00 name="CRC-6/DARC"
- Class: attested
- ETSI EN 300 751 version 1.2.1 (January 2003)
- I Definition: Width, Poly (Section 11.2, pp.67–8)
- I Definition: RefIn, RefOut (Section 12, pp.69–70)
- IV 3 codewords (Section 11.2, pp.67–8)
1001010011000100
0101001100011101
00001100010000000010000000101101
- See section 12 for details of the transmission order.
- reveng -m CRC-6/DARC -X -c 2923 CAB8 300204B4 →
00 00 00
- reveng -m CRC-6/DARC -a 1 -A 8 -r -X -c 1001010011 0101001100 00001100010000000010000000 →
20 B8 B4
- Unique effective solution of codeword set
- Created: 14 December 2009
- Updated: 20 November 2018
width=6 poly=0x03 init=0x00 refin=true refout=true xorout=0x00 check=0x06 residue=0x00 name="CRC-6/G-704"
- Class: academic
- Alias: CRC-6/ITU
- ITU-T Recommendation G.704 (October 1998)
- I Full mathematical description (Section 2.1.3.1.2, p.3)
- I Shift register diagram (Annex A.1, p.35)
- Created: 7 October 2008
- Updated: 21 November 2018
width=6 poly=0x2f init=0x00 refin=false refout=false xorout=0x3f check=0x13 residue=0x3a name="CRC-6/GSM"
- Class: academic
- ETSI TS 100 909 version 8.9.0 (January 2005)
- I Full mathematical description (Section 3.9.4.3, pp.31–3 — Section 3.10.7.3, pp.47–9 — Section 4.6, p.64 — Section 5.3.2, p.95)
- Created: 17 February 2017
width=7 poly=0x09 init=0x00 refin=false refout=false xorout=0x00 check=0x75 residue=0x00 name="CRC-7/MMC"
- Class: academic
- Alias: CRC-7
- Used in the MultiMediaCard interface.
- Additional reference courtesy of Greg Nelson, Grammatech Inc.
- JEDEC Standard JESD84-A441 (March 2010) (registration required)
- I Full definition (Section 10.2, pp.157–8)
- I Shift register diagram (Figure 53, p.158)
- Linux contributors (14 January 2021), Linux module
lib/crc7.c
- Nokia Corporation (2008), Linux module
drivers/net/wireless/ti/wl1251/spi.c
- III Definition: Init (l.104)
- Created: 7 October 2008
- Updated: 11 January 2022
width=7 poly=0x4f init=0x7f refin=true refout=true xorout=0x00 check=0x53 residue=0x00 name="CRC-7/ROHC"
- Class: academic
- IETF RFC 3095 (July 2001)
- I Definition: Width, Poly, Init (Section 5.9.2, pp.125–6)
- Andreas Vernersson et al. (26 May 2003), rohc 1.0 module
rohc-1.0/rohc/src/c_util.c
- Created: 14 December 2009
- Updated: 4 August 2023
width=7 poly=0x45 init=0x00 refin=false refout=false xorout=0x00 check=0x61 residue=0x00 name="CRC-7/UMTS"
- Class: academic
- Reference from named polynomial in Prof. Koopman's CRC Polynomial Zoo.
- 3rd Generation Partnership Project (3GPP) TS 25.427 version 17.0.0 (April 2022) (zipped MS Word document) — ETSI TS 125 427 version 17.0.0 (April 2022)
- I Definition: Width, Poly, Init, XorOut (Section 7.2.1, p.40)
- I Definition: RefIn, RefOut (Section 6.1.1, p.20; Section 7.2.1.1, pp.40–1)
- Created: 8 February 2016
- Updated: 7 May 2022
width=8 poly=0x2f init=0xff refin=false refout=false xorout=0xff check=0xdf residue=0x42 name="CRC-8/AUTOSAR"
- Class: attested
- AUTOSAR (24 November 2022), AUTOSAR Classic Platform release R22-11, Specification of CRC Routines
- I Comprehensive primer on CRC theory (Section 7.1, pp.19–22)
- I All parameters (Section 7.2.1.2, p.25)
- IV 7 codewords (Section 7.2.1.2, p.25)
0000000012
F20183C2
0FAA0055C6
00FF551177
332255AABBCCDDEEFF11
926B5533
FFFFFFFF6C
- Unique effective solution of codeword set
- Created: 24 July 2016
- Updated: 28 July 2023
width=8 poly=0xa7 init=0x00 refin=true refout=true xorout=0x00 check=0x26 residue=0x00 name="CRC-8/BLUETOOTH"
- Class: attested
- Used in Bluetooth header error correction (HEC). Init=0x00 is used in the Inquiry Response substate.
- Bluetooth SIG (31 January 2023), Bluetooth Specification, Core Version 5.4
- I Definition: Init (Section 2.B.1.2.1, p.425; Section 2.B.6.4.6, p.478 — Section 2.B.6.5.1.4, pp.481–3 — Section 2.B.7.1, p.497 — Section 2.B.8.4.3, pp.525–7)
- I Definition: Width, Poly (Section 2.B.7.1.1, pp.497–8)
- I Definition: RefIn; shift register diagram (Figure 2.B.7.3, p.498)
- I Definition: Refin, RefOut, Residue (Figure 2.B.7.5, p.498)
- IV 10 codewords (Section 2.G.4, p.899)
110001001010000111
001001001001001100
101001001001011010
011001001001000111
111001001001010001
110110001001111001
001110001010110010
101110001010100100
011110001010111001
111110001010101111
- Created: 20 June 2017
- Updated: 29 July 2023
width=8 poly=0x9b init=0xff refin=false refout=false xorout=0x00 check=0xda residue=0x00 name="CRC-8/CDMA2000"
- Class: academic
- 3rd Generation Partnership Project 2 (3GPP2) (September 2009), Physical layer standard for cdma2000 spread spectrum systems, revision E, version 1.0 (courtesy of the Internet Archive)
- I Definition: Width, Poly (Section 2.1.3.1.4.1.4, p.2-96)
- I Full description (Section 2.1.3.1.4.1, p.2-95)
- I Shift register diagram (Figure 2.1.3.1.4.1.4-1, p.2-97)
- Agilent Technologies, Advanced Design System 2008 Update 2,
CDMA2K_CRC_Coder
module documentation (courtesy of the Internet Archive)
- Created: 14 October 2013
- Updated: 28 July 2023
width=8 poly=0x39 init=0x00 refin=true refout=true xorout=0x00 check=0x15 residue=0x00 name="CRC-8/DARC"
- Class: attested
- The single codeword is supported by the codewords confirming CRC-6/DARC, defined identically apart from Poly in the same standard.
- ETSI EN 300 751 version 1.2.1 (January 2003)
- I Definition: Width, Poly (Section 11.2.3, p.68)
- I Definition: RefIn, RefOut (Section 12, pp.69–70)
- IV 1 codeword (Section 11.2.3, p.68)
000000010000001111010111
- See section 12 for details of the transmission order.
- Created: 14 December 2009
- Updated: 29 November 2018
width=8 poly=0xd5 init=0x00 refin=false refout=false xorout=0x00 check=0xbc residue=0x00 name="CRC-8/DVB-S2"
- Class: academic
- Contributed by Hartmut Brandt, German Aerospace Center.
- ETSI EN 302 307-1 version 1.4.1 (November 2014)
- I Full mathematical description (Section 5.1.4, p.18)
- ETSI EN 302 755 version 1.4.1 (July 2015)
- I Full mathematical description (Annex F, p.163)
- Ethernet POWERLINK Standardisation Group (18 October 2018), OpenSAFETY Safety Profile Specification Working Draft Proposal, version 1.5.2
- I Code: C (Appendix 1, pp.196–9)
- IV 1 codeword (Appendix 1, l.3522, p.197)
22C812563011223344556677884F
- Prof. Philip Koopman, Tridib Chakravarty (June 2004), Cyclic Redundancy Code (CRC) Polynomial Selection for Embedded Networks
- III Assessment of polynomial performance (as
0xEA
or CRC-8)
- Created: 10 January 2014
- Updated: 29 July 2023
width=8 poly=0x1d init=0x00 refin=false refout=false xorout=0x00 check=0x37 residue=0x00 name="CRC-8/GSM-A"
- Class: academic
- ETSI TS 100 909 version 8.9.0 (January 2005)
- I Full mathematical description (Section 3.1.1.1, pp.17–18)
- Michael Niedermayer, Aurélien Jacobs et al. (27 February 2023), FFmpeg 6.0 (XZ compressed tarfile), module
ffmpeg-6.0/libavutil/tests/crc.c
- Created: 17 February 2017
- Updated: 8 August 2024
width=8 poly=0x49 init=0x00 refin=false refout=false xorout=0xff check=0x94 residue=0x53 name="CRC-8/GSM-B"
- Class: academic
- ETSI TS 100 909 version 8.9.0 (January 2005)
- I Full mathematical description (Section 5.1.5.1.3, p.71 — Section 5.1.5.2.2, p.73 — Section 5.1.9.1.3, p.80 — Section 5.1.9.2.2, p.83 — Section 5.1.11.1.3, pp.86–7 — Section 5.1.11.2.2, p.89)
- Created: 17 February 2017
width=8 poly=0x1d init=0xff refin=false refout=false xorout=0x00 check=0xb4 residue=0x00 name="CRC-8/HITAG"
- Class: attested
- Contributed by Philippe Teuwen.
- Used in RFID applications.
- Philips Semiconductors (4 October 2001), HITAG core module hardware HTCM400 Product Specification (courtesy of Digi-Key Electronics)
- I Definition: Width, Poly, Init (Section 7.6.1, p.10)
- Philips Semiconductors (18 July 2006), HTS IC H32/HTS IC H56/HTS IC H48 transponder IC Product Specification, revision 3.1 (courtesy of Digi-Key Electronics)
- I Definition: Width, Poly, Init (Section 13.1, p.45 — Section 13.2.2, p.45)
- I Code: C (Section 13.3, p.46)
- IV 1 codeword (Section 13.3, p.46)
000000010110001101000000011011011010010011110
(source: 00000
+ 2C680DB49E
)
- "Sixkay" (July–August 2015), Proxmark3 community forum post
- reveng -m CRC-8/HITAG -a 1 -A 8 -X -c 000000010110001101000000011011011010010011110 1100101010010011010000001111111111000110 →
00 00
- Created: 23 December 2021
- Updated: 4 August 2023
width=8 poly=0x07 init=0x00 refin=false refout=false xorout=0x55 check=0xa1 residue=0xac name="CRC-8/I-432-1"
- Class: academic
- Alias: CRC-8/ITU
- Used as the Asynchronous Transfer Mode Header Error Control sequence (ATM HEC). Single bit errors in the 4-byte ATM header can be automatically corrected.
- ITU-T Recommendation I.432.1 (February 1999)
- I Full mathematical description (Section 7.3.2.2, p.5)
- IV 2 trivial codewords (Section 7.3.2.2, p.6; Table 3, p.12)
0000000000000000000000000000000001010101
0000000000000000000000000000000101010010
- Broadband Forum Technical Committee (10 September 1993), User-Network Interface Specification, version 3.0 (compressed RTF) (courtesy of the Internet Archive)
- I Full mathematical description (Section 2.2.6)
- Created: 19 April 2009
- Updated: 2 August 2023
width=8 poly=0x1d init=0xfd refin=false refout=false xorout=0x00 check=0x7e residue=0x00 name="CRC-8/I-CODE"
- Class: attested
- Philips Semiconductors (30 January 2004), SL2 ICS11 Product Specification, revision 3.0 (courtesy of the Internet Archive)
- I Definition: Width, Poly, Init (Section 10.1, p.26)
- I Code: C (Section 10.3.1, pp.27–9)
- I Worked example (as code trace) (Section 10.3.1, p.29)
- Created: 3 November 2007
- Updated: 6 February 2017
width=8 poly=0x9b init=0x00 refin=false refout=false xorout=0x00 check=0xea residue=0x00 name="CRC-8/LTE"
- Class: academic
- Reference from named polynomial in Prof. Koopman's CRC Polynomial Zoo.
- 3rd Generation Partnership Project (3GPP) TS 36.212 version 17.1.0 (March 2022) (zipped MS Word document) — ETSI TS 136 212 version 17.1.0 (April 2022)
- I Definition: Width, Poly, Init, XorOut, Residue (Section 5.1.1, pp.10–11)
- I Attachment relation, defining RefIn ^ RefOut (Section 5.1.1, p.11)
- 3rd Generation Partnership Project (3GPP) TS 36.321 version 17.5.0 (June 2023) (zipped MS Word document) — ETSI TS 136 321 version 17.5.0 (July 2023)
- Referenced from TS 136 212 section 5.2.2.1, p.26
- I Definition: RefIn, RefOut (Section 6.1.1, p.90)
- Created: 13 February 2016
- Updated: 5 August 2023
width=8 poly=0x31 init=0x00 refin=true refout=true xorout=0x00 check=0xa1 residue=0x00 name="CRC-8/MAXIM-DOW"
- Class: attested
- Alias: CRC-8/MAXIM, DOW-CRC
- Used in Maxim 1-Wire® device registration numbers.
- Maxim Integrated (8 August 2012), DS1921G Datasheet
- I Definition: Width, Poly, Init, XorOut (p.9)
- I Shift register diagram (p.9)
- Maxim Integrated (22 August 2012), Application Note 27 (PDF, HTML)
- I Definition: Init, Residue (pp.3–4)
- I Shift register diagram (p.3)
- I Code: 8051 assembler, Pascal (pp.5–8)
- I Worked examples (pp.5–9)
- Maxim Integrated, Maxim iButton® datasheets (for links see Application Note 27)
- IV 15 codewords
- DS1904:
242BC5FB00000040
(source: 40000000FBC52B24
)
- DS1920:
102BC5FB000000A0
(source: A0000000FBC52B10
)
- DS1921G:
212BC5FB00000089
(source: 89000000FBC52B21
)
- DS1971:
142BC5FB00000054
(source: 54000000FBC52B14
)
- DS1971:
14B3D8FB000000D4
(source: D4000000FBD8B314
)
- DS1973:
232BC5FB000000F3
(source: F3000000FBC52B23
)
- DS1973:
23B3D8FB00000073
(source: 73000000FBD8B323
)
- DS1982:
092BC5FB00000097
(source: 97000000FBC52B09
)
- DS1982:
09B3D8FB00000017
(source: 17000000FBD8B309
)
- DS1985:
0B2BC5FB000000ED
(source: ED000000FBC52B0B
)
- DS1985:
0BB3D8FB0000006D
(source: 6D000000FBD8B30B
)
- DS1986:
0F2BC5FB00000019
(source: 19000000FBC52B0F
)
- DS1986:
0FB3D8FB00000099
(source: 99000000FBD8B30F
)
- DS1995:
0A2BC5FB000000D0
(source: D0000000FBC52B0A
)
- DS1996:
0C2BC5FB0000005E
(source: 5E000000FBC52B0C
)
- Created: 26 April 2009
- Updated: 2 January 2021
width=8 poly=0x1d init=0xc7 refin=false refout=false xorout=0x00 check=0x99 residue=0x00 name="CRC-8/MIFARE-MAD"
- Class: attested
- References courtesy of Sourceforge users "xavery" and Oleg Moiseenko.
- NXP Semiconductors (6 November 2018), Application note AN10787: MIFARE Application Directory (MAD), rev. 7.4
- I Definition: Width, Poly, Init (Section 3.7, pp.9–10)
- IV 1 codeword (Table 11, p.10)
0101080108010800000000000004000310031002100210000000000000113089
- Romain Tartière, Romuald Conty, et al. (29 June 2017), libfreefare module
libfreefare/libfreefare/mad.c
- Romain Tartière (29 June 2017), libfreefare module
libfreefare/test/test_mad.c
- IV 3 codewords (1 same as in AN10787)
0103E103E103E103E103E10000000000000000000000000000000000000000C4
0103E103E103E103E103E103E1000000000000000000000000000000000000AB
- Oleg Moiseenko (14 February 2019), CRC RevEng project discussion thread post
- IV 1 codeword
00563D563C563C563C563C563C00000000000000000000000000000000000030
- Created: 21 February 2019
width=8 poly=0x31 init=0xff refin=false refout=false xorout=0x00 check=0xf7 residue=0x00 name="CRC-8/NRSC-5"
- Class: attested
- iBiquity Digital Corporation (16 December 2016), HD Radio™ Air Interface Design Description: Audio Transport, rev. H (courtesy of National Radio Systems Committee)
- I Definition: Width, Poly (Section 5.2.3.2, p.33)
- Incorporated by normative reference into National Radio Systems Committee standard NRSC-5-D.
- Andrew Wesie (9 June 2017), NRSC-5 receiver for rtl-sdr, file
nrsc5/support/sample.xz
(XZ compressed raw radio recording, 22 MB)
- II Recording confirming implementation with 587 codewords (selection)
5822EF639D240114F25D007CDA4208A1CBBDE9DFD73273A7D180003038EB
B002F6E01BF5E00BE3F6D05450D23B70273990D90ED77AEDF6EB803C1AD30A685E0A009A
412C565998C4938214C58005800B09CABACB98B656DE98FB199A18923DE06D592D2D399A5CA72CFAD96BC10735E4774FA06AFEAB1726EF0F471ABED704DA798DEDABB16D1A4F0D7B7C49F65C1EBE2D5DE6EB16D8BF2DB0199F76D6C8455C1C70251B4290CA669C00AC529FC0014002174006E6860558EEF5CBE4DEF994D1F642156E48FA68072E78A7F1C88A80DF02516B5672FFF281780B6200A3
896C608852750D2DC92490555A448BA655686F62F35A2F7522C62EB13161881468600683310689
412C570068CB2362DCCB2400004416B42A5F9B2C469A721D106258A76D77C2F105C315DA1257CAD1232A47282475FB250171BCC094DE3C5711A0B68892F7A5685CAB97881BFA802056600688A08815EAD3C069B68A952C00058BD0071DFD5F975D1CFD976FAE0A82A1AF1636E4687EE472C62F22A96E3197B88943852B128D0489E911B85B84023122176D0670130348DDD554416BB8852A854364
0D0640C6D800124B
89866AD812A05E8034A3BBBAAAB56AD4FAD9894B0030000000007752
- Andrew Wesie, Clayton Smith et al. (25 October 2017), NRSC-5 receiver for rtl-sdr, module
nrsc5/src/frame.c
- Unique effective solution of codeword set
- Created: 16 November 2018
- Updated: 20 March 2019
width=8 poly=0x2f init=0x00 refin=false refout=false xorout=0x00 check=0x3e residue=0x00 name="CRC-8/OPENSAFETY"
- Class: attested
- Ethernet POWERLINK Standardisation Group (18 October 2018), OpenSAFETY Safety Profile Specification Working Draft Proposal, version 1.5.2
- I Full description (Section 5.1.2.6, pp.43–4)
- I Error detection capability (Section 8.1, p.182)
- I Code: C (Appendix 1, pp.196–9)
- IV 1 codeword (Appendix 1, l.3519, pp.196–7)
23C8083411223344556677883C
- Roland Knall (6 February 2012), openSAFETY communication using Ethernet Powerlink V2 as transport protocol (PCAP file) (courtesy of Wireshark Wiki)
- II Transcript confirming implementation (selected codewords)
02A806000060650006A11C
03A80001000060650006A131
03A806000060650007211D
02A80001000060650007211D
04A8060000606500021393
05A800010000606500021350
01AC0600006065000721AF
00AC000300006065000721B5
- Prof. Philip Koopman, Tridib Chakravarty (June 2004), Cyclic Redundancy Code (CRC) Polynomial Selection for Embedded Networks
- III Assessment of polynomial performance (as
0x97
or C2)
- Unique effective solution of codeword set
- Created: 22 July 2016
- Updated: 7 May 2022
width=8 poly=0x07 init=0xff refin=true refout=true xorout=0x00 check=0xd0 residue=0x00 name="CRC-8/ROHC"
- Class: academic
- IETF RFC 3095 (July 2001)
- I Definition: Width, Poly, Init, XorOut (Section 5.9.1, p.125)
- Andreas Vernersson et al. (26 May 2003), rohc 1.0 module
rohc-1.0/rohc/src/c_util.c
- Created: 14 December 2009
- Updated: 4 August 2023
width=8 poly=0x1d init=0xff refin=false refout=false xorout=0xff check=0x4b residue=0xc4 name="CRC-8/SAE-J1850"
- Class: attested
- SAE Standard J1850 (15 May 1994), Excerpt (courtesy of the Internet Archive)
- I Definition: Width, Poly, Init, XorOut, Residue (Section 5.4.1, p.14)
- IV 7 codewords (Table 1, p.15)
0000000059
F2018337
0FAA005579
00FF5511B8
332255AABBCCDDEEFFCB
926B558C
FFFFFFFF74
- AUTOSAR (24 November 2022), AUTOSAR Classic Platform release R22-11, Specification of CRC Routines
- I Comprehensive primer on CRC theory (Section 7.1, pp.19–22)
- I All parameters (Section 7.2.1.1, p.24)
- IV 7 codewords (same as in SAE Standard J1850) (Section 7.2.1.1, pp.24–5)
- "knivmannen" (24 May 2010), StackOverflow submitted question
- IV 5 codewords
55FF0000ECFF601F
55FF0000F0FFA038
660BEAFFBFFFC0CA
5E18EAFFB7FF60BD
F6301600FCFE1081
- Unique effective solution of codeword set
- Created: 17 February 2016
- Updated: 3 August 2023
width=8 poly=0x07 init=0x00 refin=false refout=false xorout=0x00 check=0xf4 residue=0x00 name="CRC-8/SMBUS"
- Class: attested
- Alias: CRC-8
- The System Management Interface Forum, Inc. (3 August 2000), System Management Bus (SMBus) Specification, version 2.0 (courtesy of the Internet Archive)
- I Definition: Width, Poly, RefIn, RefOut (Section 4.2, p.19; Section 5.4.1.3, p.27)
- The System Management Interface Forum, Inc. (14 June 2005), CRC-8 Calculator
- PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0
- John Milios, USAR Systems, Inc. (22 April 1999), Firmware CRC-8 implementations for SMBus (courtesy of the Internet Archive)
- III Definition: Width, Poly (p.5)
- III Worked example (p.6)
- III Code: 6805 assembler (pp.14,18)
- Michael Niedermayer, Aurélien Jacobs et al. (27 February 2023), FFmpeg 6.0 (XZ compressed tarfile), module
ffmpeg-6.0/libavutil/tests/crc.c
- Created: 30 March 2005
- Updated: 8 August 2024
width=8 poly=0x1d init=0xff refin=true refout=true xorout=0x00 check=0x97 residue=0x00 name="CRC-8/TECH-3250"
width=8 poly=0x9b init=0x00 refin=true refout=true xorout=0x00 check=0x25 residue=0x00 name="CRC-8/WCDMA"
- Class: third-party
- Andrew Richardson (17 March 2005), WCDMA Design Handbook, Cambridge University Press, ISBN 0-521-82815-5 (embedded content)
- III Definition: Width, Poly, Residue (Section 7.1.3, Table 7.3, p.223)
- III Shift register diagram (Figure 7.4, p.223)
- Prof. Philip Koopman, Tridib Chakravarty (June 2004), Cyclic Redundancy Code (CRC) Polynomial Selection for Embedded Networks
- III Assessment of polynomial performance (as
0xCD
or WCDMA-8)
- "Max" (26 October 2009), Computer Interfacing Forum topic 1431 (courtesy of the Internet Archive)
- IV 46 codewords (selection)
00001148
00012077
80800012
00001021010022000A002D000000000000460A20
00001021010123000A0028000000000000460A54
00001021010125000A0029000000000000460A4B
400010200B01001A000A000100000000008009001F01F393
400010200B01001F000A000100000000000009001F01F3F7
400010200B010020000A000100000000000009001F01F331
40001107083829B41903
40001107084826682180
40001107085C293417A8
- IV 1 non-matching codeword
- Unique effective solution of codeword set
- Created: 8 November 2009
- Updated: 28 December 2019
width=10 poly=0x233 init=0x000 refin=false refout=false xorout=0x000 check=0x199 residue=0x000 name="CRC-10/ATM"
- Class: attested
- Alias: CRC-10, CRC-10/I-610
- Used in Asynchronous Transfer Mode AAL 3/4 and OAM cells. Note there are 6 padding zero bits between each of the 46-byte information fields and their respective CRCs.
- ITU-T Recommendation I.610 (February 1999)
- I Full mathematical description (Section 10.1, p.40)
- IV 2 codewords (Appendix I, p.67)
116A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A00AF
1801AAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A02AC
- Broadband Forum Technical Committee (March 1999), Traffic Management Specification, version 2.1 (courtesy of the Internet Archive)
- I Full mathematical description (Section 5.10.3.1, p.47)
- Charles M. Heard, Generating and Checking CRC-10 in ATM AAL 3/4 or OAM Cells (courtesy of the Internet Archive)
- III Definition: Width, Poly
- III Code: C
- IV 7 codewords (selection; first four attributed to Angie Tso, Telecommunications Techniques Corp.)
0A0B0C0D0E0F0000000000000000000000000000000000000000000000000000000000000000000000000000000001F6
11111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000016B
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030F
1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901202ED
106A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A03B9
180100000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000006A6A6A6A6A6A6A6A004A
- Created: 19 April 2009
- Updated: 7 May 2022
width=10 poly=0x3d9 init=0x3ff refin=false refout=false xorout=0x000 check=0x233 residue=0x000 name="CRC-10/CDMA2000"
- Class: academic
- 3rd Generation Partnership Project 2 (3GPP2) (September 2009), Physical layer standard for cdma2000 spread spectrum systems, revision E, version 1.0 (courtesy of the Internet Archive)
- I Definition: Width, Poly (Section 2.1.3.1.4.1.3, p.2-96)
- I Full description (Section 2.1.3.1.4.1, p.2-95)
- I Shift register diagram (Figure 2.1.3.1.4.1.3-1, p.2-96)
- Agilent Technologies, Advanced Design System 2008 Update 2,
CDMA2K_CRC_Coder
module documentation (courtesy of the Internet Archive)
- Created: 14 October 2013
- Updated: 28 July 2023
width=10 poly=0x175 init=0x000 refin=false refout=false xorout=0x3ff check=0x12a residue=0x0c6 name="CRC-10/GSM"
- Class: academic
- ETSI TS 100 909 version 8.9.0 (January 2005)
- I Full mathematical description (Section 4.7, p.65)
- Created: 17 February 2017
width=11 poly=0x385 init=0x01a refin=false refout=false xorout=0x000 check=0x5a3 residue=0x000 name="CRC-11/FLEXRAY"
- Class: attested
- Alias: CRC-11
- FlexRay Consortium (October 2010), FlexRay Communications System Protocol Specification, version 3.0.1 (courtesy of nlrp Benchmark)
- I Definition: Width, Poly, Init, RefOut (Section 4.2.8, pp.114–5)
- I Pseudocode (Section 4.5, pp.118–9)
- FlexRay Consortium (October 2010), FlexRay Protocol Conformance Test Specification, version 3.0.1 (courtesy of nlrp Benchmark)
- IV 1 codeword (Section 2.7.5, p.681)
1100000000010000000100000100110
- Robert Bosch GmbH (3 December 2007), E-Ray FlexRay IP Module, Application Note 001: Wakeup (embedded content; courtesy of Yumpu)
- IV 3 codewords (Section 4.4.3, pp.27–30; researched by Vivek Rajan)
1100000000001000100000100011011
1100000000010000100001100000100
0000000000011000100010111010010
- Created: 3 November 2007
- Updated: 7 May 2022
width=11 poly=0x307 init=0x000 refin=false refout=false xorout=0x000 check=0x061 residue=0x000 name="CRC-11/UMTS"
- Class: academic
- Reference from named polynomial in Prof. Koopman's CRC Polynomial Zoo.
- 3rd Generation Partnership Project (3GPP) TS 25.427 version 17.0.0 (April 2022) (zipped MS Word document) — ETSI TS 125 427 version 17.0.0 (April 2022)
- I Definition: Width, Poly, Init, XorOut (Section 7.2.1, p.40)
- I Definition: RefIn, RefOut (Section 6.1.1, p.20; Section 7.2.1.1, pp.40–1)
- Created: 8 February 2016
- Updated: 7 May 2022
width=12 poly=0xf13 init=0xfff refin=false refout=false xorout=0x000 check=0xd4d residue=0x000 name="CRC-12/CDMA2000"
- Class: academic
- 3rd Generation Partnership Project 2 (3GPP2) (September 2009), Physical layer standard for cdma2000 spread spectrum systems, revision E, version 1.0 (courtesy of the Internet Archive)
- I Definition: Width, Poly (Section 2.1.3.1.4.1.2, p.2-95)
- I Full description (Section 2.1.3.1.4.1, p.2-95)
- I Shift register diagram (Figure 2.1.3.1.4.1.2-1, p.2-96)
- Agilent Technologies, Advanced Design System 2008 Update 2,
CDMA2K_CRC_Coder
module documentation (courtesy of the Internet Archive)
- Created: 14 October 2013
- Updated: 28 July 2023
width=12 poly=0x80f init=0x000 refin=false refout=false xorout=0x000 check=0xf5b residue=0x000 name="CRC-12/DECT"
- Class: academic
- Alias: X-CRC-12
- ETSI EN 300 175-3 version 2.5.1 (August 2013)
- I Definition: Residue; full mathematical description (Section 6.2.5.4, pp.99–101)
- Created: 29 July 2010
- Updated: 15 February 2017
width=12 poly=0xd31 init=0x000 refin=false refout=false xorout=0xfff check=0xb34 residue=0x178 name="CRC-12/GSM"
- Class: academic
- ETSI TS 100 909 version 8.9.0 (January 2005)
- I Full mathematical description (Section 5.1.5.1.4, p.72 — Section 5.1.6.1.4, p.75 — Section 5.1.7.1.4, p.77 — Section 5.1.8.1.4, p.78 — Section 5.1.9.1.4, p.81 — Section 5.1.10.1.4, p.85 — Section 5.1.11.1.4, p.87 — Section 5.1.12.1.4, p.91 — Section 5.1.13.1.4, p.93)
- Created: 17 February 2017
width=12 poly=0x80f init=0x000 refin=false refout=true xorout=0x000 check=0xdaf residue=0x000 name="CRC-12/UMTS"
- Class: academic
- Alias: CRC-12/3GPP
- The crossed-endian definition is unusual but explicit. Researched by "markw_be" at the Computer Interfacing Forum.
- 3rd Generation Partnership Project (3GPP) TS 25.212 version 17.0.0 (March 2022) (zipped MS Word document) — ETSI TS 125 212 version 17.0.0 (May 2025)
- I Mathematical description, defining Width, Poly, Init, Residue (Section 4.2.1.1, pp.19–20)
- I Attachment relation, defining RefIn ^ RefOut (Section 4.2.1.2, p.20)
- Created: 10 December 2009
- Updated: 5 August 2023
width=13 poly=0x1cf5 init=0x0000 refin=false refout=false xorout=0x0000 check=0x04fa residue=0x0000 name="CRC-13/BBC"
- Class: attested
- S. R. Ely, D. T. Wright, British Broadcasting Corporation (March 1982), L.F. Radio-data: specification of the BBC experimental transmissions 1982
- I Full mathematical description (Section 5.3, pp.4–5)
- I Definition of bit order (Section 5.2, p.4)
- I Worked example (as generator matrix) (Figure 10, p.10)
- IV 1 additional codeword (Appendix, p.10)
17777777777762722
(octal)
- Created: 14 October 2013
- Updated: 6 February 2017
width=14 poly=0x0805 init=0x0000 refin=true refout=true xorout=0x0000 check=0x082d residue=0x0000 name="CRC-14/DARC"
- Class: attested
- The single codeword is supported by the codewords confirming CRC-6/DARC, defined identically apart from Poly in the same standard. The source presents the codeword in transmission order, whereas the codeword is composed of the bytes of data sent LSB first. The CRC mask is …
FF 3F
.
- ETSI EN 300 751 version 1.2.1 (January 2003)
- I Definition: Width, Poly (Section 11.1, p.67)
- I Definition: RefIn, RefOut (Section 12, pp.69–70)
- IV 1 codeword (Section 11.1, p.67)
02000102372050524F4A454354204D41494E4D454E553B08
(source: 40008040EC040A4AF252A2C22A04B2829272B2A272AADC10
)
- See section 12 for details of the transmission order.
- Created: 14 December 2009
- Updated: 20 November 2018
width=14 poly=0x202d init=0x0000 refin=false refout=false xorout=0x3fff check=0x30ae residue=0x031e name="CRC-14/GSM"
- Class: academic
- ETSI TS 100 909 version 8.9.0 (January 2005)
- I Full mathematical description (Section 3.9.1.2, p.28 — Section 3.9.5.2, p.40 — Section 3.10.1.2, p.42 — Section 3.10.9.2, p.54)
- Created: 17 February 2017
width=15 poly=0x4599 init=0x0000 refin=false refout=false xorout=0x0000 check=0x059e residue=0x0000 name="CRC-15/CAN"
- Class: academic
- Alias: CRC-15
- Robert Bosch GmbH (September 1991), CAN 2.0 Specification (courtesy of GitHub)
- I Full definition (except Check) (Section 3.1.1, pp.13–14)
- I Pseudocode
- Created: 2 November 2007
- Updated: 7 May 2022
width=15 poly=0x6815 init=0x0000 refin=false refout=false xorout=0x0001 check=0x2566 residue=0x6815 name="CRC-15/MPT1327"
- Class: attested
- MX-COM reference from Koopman and Chakravarty (2004).
- UK Radiocommunications Agency (20 June 1997), MPT 1327: A signalling standard for trunked private land mobile radio systems, 3rd edition (courtesy of UK National Archives)
- I Full mathematical description (Section 3.2.3, p.3-3)
- I Error control properties (Appendix 2, p.A2-1)
- IV 1 codeword (Section 5.1.1, p.5-3; Appendix 3, p.A3-1)
1010101010101010110001001101010000000000000000000000000000000001010101010101010110001001101011
- "whiteox11" (28 December 2011), "mpt1327 decoding" (video, embedded content; courtesy of YouTube)
- II Transcript confirming implementation with 25 codewords (selection)
100111111101001010110100111100111111101101000100010011110010110
101010011100010101100000101000001101110001101100111010111011101
100111111101000101001010011100100110100101011000100100101110000
100110100100011111000100011010000000101010101010101111110011100
101010111001011010110100001100100101111010100000110000100000100
- "radiowavemaniac" (21 November 2012), "RTL-SDR Trunkview Decoder MPT1327" (video)
- II Transcript confirming implementation with 10 codewords
100010100000110000001100011100100000100001111000111111000110000
100011100000110000001100011100000001000000000000000011010100110
100100110111000011010100010000111111111110010000001011101110100
100100110110011110011100010000111111111110010000011001100110101
100100110110011110011100110100100110000101111100010100001100011
100100111111111111100100010111011001111001111000101011111101011
100100110000101111100100001001011001111001110000111001000011011
100100110000101111100100001000011001111001100000001000110011011
100100110110011010100100010000111111111110010000011011111000111
100100110110011010110100010000111111111110010000101111110001110
- MX-COM, Inc. (17 August 1998), Error detection and correction of MPT1327 formatted messages using MX429A or MX809 devices (courtesy of the Internet Archive)
- III Full mathematical description (Section 1.2.1, p.1)
- III Worked example (Section 1.2.2, p.2)
- III Code: C (Section 1.2.3, p.3)
- reveng -m CRC-15/MPT1327 -t -X -c 9FD2B4F3FB44 →
4F2C
- Unique effective solution of codeword set
- Created: 16 July 2012
- Updated: 2 August 2023
Every effort has been made to ensure accuracy, however there may be
occasional errors or omissions. All trademarks and registered trademarks
are the intellectual property of their respective owners. The code and
documentation included in this document are supplied without warranty,
not even the implied warranties of merchantability or fitness for a
particular purpose. In no event shall the author or his suppliers be
liable for any loss, damage, injury or death, of any nature and
howsoever caused, arising from the use of, or failure, inability or
unwillingness to use, this software or documentation.
[ Top of page ]
Greg Cook,
https://reveng.sourceforge.io/crc-catalogue/1-15.htm Last updated 11 December 2024
Links last verified 20 July 2023
Hosting by
[ Top of page ]