
[ Home | Up | Prev | Next | Disclaimer ]
width=17  poly=0x1685b  init=0x00000  refin=false  refout=false  xorout=0x00000  check=0x04f03  residue=0x00000  name="CRC-17/CAN-FD"
- Class: academic
- Robert Bosch GmbH (17 April 2012), CAN with Flexible Data-Rate: Specification, version 1.0 (courtesy of the Internet Archive)
- I Full definition (except Check); pseudocode (Section 3.2.1, pp.13–14)
 
- Created: 20 June 2017
- Updated: 3 January 2021
width=21  poly=0x102899  init=0x000000  refin=false  refout=false  xorout=0x000000  check=0x0ed841  residue=0x000000  name="CRC-21/CAN-FD"
- Class: academic
- Robert Bosch GmbH (17 April 2012), CAN with Flexible Data-Rate: Specification, version 1.0 (courtesy of the Internet Archive)
- I Full definition (except Check); pseudocode (Section 3.2.1, pp.13–14)
 
- Robert Bosch GmbH (23 December 2011), CRC for CAN with flexible data rate (CAN FD)
- I Error control properties; theory of polynomial construction (Section 2, p.1; Section 3, p.2)
 
- Created: 20 June 2017
- Updated: 3 January 2021
width=24  poly=0x00065b  init=0x555555  refin=true  refout=true  xorout=0x000000  check=0xc25a56  residue=0x000000  name="CRC-24/BLE"
- Class: attested
- Reference from named polynomial in Prof. Koopman's CRC Polynomial Zoo.
- The Init value applies to Bluetooth Low Energy (BLE) test packets and (device-) advertising channel packets.  Data channel packets use a custom Init value defined at connection time.
- BLE sniffer screenshot reference from "volta77" (29 May 2014), Nordic Developer Zone post
- Bluetooth SIG (31 January 2023), Bluetooth Specification, Core Version 5.4
- I Full definition (except Check) (Section 6.B.3.1.1, pp.2746–7)
- I Shift register diagram (Figure 6.B.3.4, p.2747)
- IV 2 codewords (Section 6.C.2.1, p.2922; Section 6.C.4.2.1, p.2928)
- 0003424C45290ACE
- 0100001010010000011001011010010100100101110001010100010110000011100000000100000011000000101101010010110111010111
 
 
- Texas Instruments, Inc. (12 March 2013), Processors wiki, BLE sniffer guide
- II Transcripts confirming implementation with 4 codewords (plus 3 with custom Init)
- 00119992B1EBD7900201050702031802180418A85DEF
- 030C5F96EA3018009992B1EBD790DF02EB
- 04129992B1EBD7900B094B6579666F6264656D6FD39F03
- 05225F96EA3018009992B1EBD7901B0A8560A77B22020F0050000000D007FFFFFFFF1FA948DA02
 
 
- Liam Goudge (1 October 2014), "Custom Bluetooth Low Energy board with 2.4GHz antenna hack and Nordic nRF51822…"
- II Transcript confirming implementation with 2 codewords (plus 8 with custom Init)
- 4021EE04A5DDA7F90B094C69616D73424C4576320319410302010607030D180F180A181C929E
- C522C4A5F2BE7479EE04A5DDA7F9667265500B085B030500180000004800FFFFFFFF1FA9E478D0
 
 
- Anonymous (7 September 2012), BLE sniffer screenshot (courtesy of Texas Instruments, Inc.  E2E™ Community forum)
- II Transcript confirming implementation with 2 codewords (plus 7 with custom Init)
- 00090DEF84B72D3C020105C2E2A4
- 0522AB2F853118000DEF84B72D3C782118C9567FA202270050000000D007FFFFFFFF1FAF0F1957
 
 
- Unique effective solution of codeword set
- Created: 7 February 2016
- Updated: 4 August 2023
width=24  poly=0x5d6dcb  init=0xfedcba  refin=false  refout=false  xorout=0x000000  check=0x7979bd  residue=0x000000  name="CRC-24/FLEXRAY-A"
- Class: attested
- Channels A and B have different initial vectors to prevent frames crossing channels.
- 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.4, pp.117–8)
- I Pseudocode (Section 4.5, pp.118–20)
 
- FlexRay Consortium (October 2010), FlexRay Protocol Conformance Test Specification, version 3.0.1 (courtesy of nlrp Benchmark)
- IV 5 codewords (Section 2.7.5, p.681)
- 18020209880000F339C1
- 600A0248C80102646D70
- 205606C848102030405060474380
- 202E06C84810203040506096C9D1
- 201A06C848102030405060B072EB
 
 
- Unique effective solution of codeword set
- Created: 3 November 2007
- Updated: 6 February 2017
width=24  poly=0x5d6dcb  init=0xabcdef  refin=false  refout=false  xorout=0x000000  check=0x1f23b8  residue=0x000000  name="CRC-24/FLEXRAY-B"
- Class: attested
- Channels A and B have different initial vectors to prevent frames crossing channels.
- 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.4, pp.117–8)
- I Pseudocode (Section 4.5, pp.118–20)
 
- FlexRay Consortium (October 2010), FlexRay Protocol Conformance Test Specification, version 3.0.1 (courtesy of nlrp Benchmark)
- IV 5 codewords (Section 2.7.5, p.681)
- 18020209880000D5B910
- 600A0248C8010242EDA1
- 205606C848102030405060E6D9BE
- 202E06C8481020304050603753EF
- 201A06C84810203040506011E8D5
 
 
- Unique effective solution of codeword set
- Created: 3 November 2007
- Updated: 6 February 2017
width=24  poly=0x328b63  init=0xffffff  refin=false  refout=false  xorout=0xffffff  check=0xb4f3e6  residue=0x144e63  name="CRC-24/INTERLAKEN"
- Class: academic
- Reference from named polynomial in Prof. Koopman's CRC Polynomial Zoo.
- The Interlaken Alliance (7 October 2008), Interlaken Protocol Definition, version 1.2
- I Definition: Width, Poly (Section 5.3.2.2, p.18)
- I Definition: Init, RefIn, RefOut, XorOut (Appendix B, p.48)
- IV 1 codeword (Appendix B, p.48)
- 520BB1047D585E00C2B4B401BBAF01000000FCB0B3A8468E1A0A01E1BA38A9DF00003677EEA56DDABEB48D4D93A88A1200001F9515F655DCC3857A641B260C51F10000000000000059E69D
 
 
- Created: 10 February 2016
- Updated: 4 August 2023
width=24  poly=0x864cfb  init=0x000000  refin=false  refout=false  xorout=0x000000  check=0xcde703  residue=0x000000  name="CRC-24/LTE-A"
- 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=24  poly=0x800063  init=0x000000  refin=false  refout=false  xorout=0x000000  check=0x23ef52  residue=0x000000  name="CRC-24/LTE-B"
- 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=24  poly=0x864cfb  init=0xb704ce  refin=false  refout=false  xorout=0x000000  check=0x21cf02  residue=0x000000  name="CRC-24/OPENPGP"
- Class: attested
- Alias: CRC-24
- IETF RFC 4880 (November 2007)
- I Definition: Width, Poly, Init (Section 6, p.53)
- I Code: C (Section 6.1, p.54)
 
- PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0
- Berndt M. Gammel (29 October 2006), Matpack 1.9.1 class MpCRCdocumentation
- III All parameters (except Residue)
 
- Created: 2 November 2007
- Updated: 4 August 2023
width=24  poly=0x800063  init=0xffffff  refin=false  refout=false  xorout=0xffffff  check=0x200fa5  residue=0x800fe3  name="CRC-24/OS-9"
- Class: attested
- Microware Systems Corporation (January 1983), OS-9 Operating System, System Programmer's Manual, revision F-1 (PDF, HTML) (courtesy of Søren Roug)
- I Definition: Width, Poly, Init, XorOut, Residue (Section 10.1.4, pp.51–2)
- I Code: C (Section 10.1.4, p.52)
 
- Microware Systems Corporation (August 2000), OS-9 Technical Manual, version 2.2, revision I (courtesy of the Internet Archive)
- I Definition: Init, Residue (Chapter 8, p.228)
 
- Microware Inc., TPUG Inc. (1985), SuperOS-9 system disk (courtesy of the Internet Archive)
- II Transcript confirming implementation with at least 7 codewords (selection)
- 87CD00320021F181D600260029FF0000000F010400000100060101001000100101445261ED015242C643626D4473EB0C4EDF
- 87CD0020000D118108001500FA556E4D6F756EF401113F21265F103F06782872
- 87CD003C002CF181D500300033030003051A00000100010100011808180D1B040117030508070000002C0000546572ED5343C643626D436FEE81D4AA
- 87CD00300021F181D400240027FF0000000F01000000010023010100100010010144B0015242C643626D4473EBA297DD
- 87CD00300021F181D400240027FF0000000F01010000010023010100100010010144B1015242C643626D4473EBC1CCD5
- 87CD00300021F181D400240027FF0000000F01020000010023010100100010010144B2015242C643626D4473EB6421CD
- 87CD00300021F181D400240027FF0000000F01030000010023010100100010010144B3015242C643626D4473EB077AC5
 
 
- Søren Roug (15 May 2018), osnine-java, module os9l1/src/main/java/org/roug/osnine/os9/OS9.java
- III Code: Java (ll.953–94)
 
- Unique effective solution of codeword set
- Created: 25 July 2018
- Updated: 4 August 2023
width=30  poly=0x2030b9c7  init=0x3fffffff  refin=false  refout=false  xorout=0x3fffffff  check=0x04c34abf  residue=0x34efa55a  name="CRC-30/CDMA"
- Class: academic
- Reference from named polynomial in Prof. Koopman's CRC Polynomial Zoo.
- CCSA Telecommunication Industry Standard YD/T 1838.3-2008 (5 November 2008; courtesy of the Internet Archive)
- I Full definition (except Check, Residue) (Section 2.1.1.5.1.2, pp.2-44–5)
 
- Created: 20 February 2016
- Updated: 4 August 2023
width=31  poly=0x04c11db7  init=0x7fffffff  refin=false  refout=false  xorout=0x7fffffff  check=0x0ce9e46c  residue=0x4eaf26f1  name="CRC-31/PHILIPS"
- Class: confirmed
- Sincere thanks to Luigi (gigirex) for his assistance.
- AVMagazine.it has a forum topic on the Philips TV (in Italian).
- Philips 37PF9731 LCD TV
- "gigirex" (1 March 2012), Computer Interfacing Forum topic 1774 (courtesy of the Internet Archive)
- IV 7 codewords (76 bytes each)
 
- Created: 12 April 2012
- Updated: 28 December 2019
width=32  poly=0x814141ab  init=0x00000000  refin=false  refout=false  xorout=0x00000000  check=0x3010bf7f  residue=0x00000000  name="CRC-32/AIXM"
- Class: attested
- Alias: CRC-32Q
- Used for aeronautical data.  Recognised by the ICAO.
- EUROCONTROL (20 March 2006), AIXM Primer 4.5
- I Definition: Width, Poly, Init, XorOut, RefIn (Section 6.2, pp.23–5)
- I Flowchart (p.24)
- I Code: Java (Appendix B, pp.41–5)
- IV 8 codewords (Table 6.1, p.25)
- 3438303633374EA5A7C704
- 3031363334313145A1AE5741
- 3438303633374E3031363334313145A1BA30EE
- 3738326C297100
- 3438303633374E30313633343131453738326A259F4E
- 34362E37266D25C1
- 3438303633374E303136333431314534362E372F866D6D
- 3438303633374E303136333431314537383234362E375E5DC940
 
 
- Created: 29 April 2009
- Updated: 2 January 2021
width=32  poly=0xf4acfb13  init=0xffffffff  refin=true  refout=true  xorout=0xffffffff  check=0x1697d06a  residue=0x904cddbf  name="CRC-32/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.3.2, pp.28–9)
- IV 7 codewords (Section 7.2.3.2, p.29)
- 000000004022B36F
- F20183251A724F
- 0FAA0055F82D6620
- 00FF55116E99D79B
- 332255AABBCCDDEEFF3D345AA6
- 926B55788A68EE
- FFFFFFFFFFFFFFFF
 
 
- Unique effective solution of codeword set
- Created: 24 July 2016
- Updated: 28 July 2023
width=32  poly=0xa833982b  init=0xffffffff  refin=true  refout=true  xorout=0xffffffff  check=0x87315576  residue=0x45270551  name="CRC-32/BASE91-D"
- Class: confirmed
- Alias: CRC-32D
- Greg Cook (21 August 2020), Base91 level 1 version 3.12
- II Implementation
- III Full mathematical description
- III All parameters
- III Code: C
 
- Prof. Philip Koopman (July 2002), "32-Bit Cyclic Redundancy Codes for Internet Applications", Proceedings of The International Conference on Dependable Systems and Networks
- III Polynomial discovered by Castagnoli; properties confirmed by Koopman
 
- Created: 28 November 2008
- Updated: 8 August 2024
width=32  poly=0x04c11db7  init=0xffffffff  refin=false  refout=false  xorout=0xffffffff  check=0xfc891918  residue=0xc704dd7b  name="CRC-32/BZIP2"
- Class: attested
- Alias: CRC-32/AAL5, CRC-32/DECT-B, B-CRC-32
- Used in DECT B-fields.
- Black's example AAL5 cells, with bytes 00 00 00 28inserted between the described data fields and their CRCs, equal the examples in I.363.5.
- ITU-T Recommendation I.363.5 (August 1996)
- I Definition: Residue; full mathematical description (Section 9.2.1.2 (f), p.12)
- IV 3 codewords (Appendix I, p.39)
- 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000028864D7F99
- FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000028C55E457A
- 0102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272800000028BF671ED0
 
 
- ETSI EN 300 175-3 version 2.5.1 (August 2013)
- I Definition: Residue; full mathematical description (Section 6.2.5.5, p.102)
 
- Julian Seward (4 September 1999), bzip2 0.9.5d
- PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0
- Emil Lenchak, Texas Instruments, Inc. (June 2018), CRC Implementation With MSP430
- III All parameters (except Residue) (Section 4.6, p.6)
 
- Richard Black (18 February 1994), Fast CRC32 in Software: Software Implementations
- Richard Black (18 February 1994), Fast CRC32 in Software: Some Examples
- IV 3 codewords (same as in I.363.5)
 
- Angie Tso, Telecommunications Techniques Corp. (24 October 1994), Cell Relay mailing list post (courtesy of the Internet Archive)
- IV 4 codewords (first three same as in I.363.5)
- 0102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272811220028ACBA602A
 
 
- Ryan Luecke, James Lyons (11 October 2011), CRC32 Checksums; The Good, The Bad, And The Ugly (courtesy of the Internet Archive)
- Unique effective solution of codeword set
- Created: 8 October 2008
- Updated: 22 August 2022
width=32  poly=0x8001801b  init=0x00000000  refin=true  refout=true  xorout=0x00000000  check=0x6ec2edc4  residue=0x00000000  name="CRC-32/CD-ROM-EDC"
- Class: academic
- ECMA standard ECMA-130, edition 2 (June 1996) — ISO/IEC 10149:1995
- I Definition: Width, Poly, Refin, RefOut, Residue (Section 14.3, p.16)
 
- Heiko Eißfeldt, Jörg Schilling (28 April 2013), cdrtools 3.01 (in German), source code distribution (Bzip2 compressed tarfile), modules cdrtools-3.01/libedc/crctable.out,cdrtools-3.01/libedc/edc_ecc.c
- III Parameters: Width, Poly, RefIn
- III Code: C
 
- Created: 19 April 2019
- Updated: 4 August 2023
width=32  poly=0x04c11db7  init=0x00000000  refin=false  refout=false  xorout=0xffffffff  check=0x765e7680  residue=0xc704dd7b  name="CRC-32/CKSUM"
- Class: attested
- Alias: CKSUM, CRC-32/POSIX
- The cksumprogram processes a representation of the input stream length following the input.  It returns930766865(0x377A6011) on the check string, processed internally as31 32 33 34 35 36 37 38 39 09.  See the definition for details.
- The Open Group (1997), Single Unix Specification, version 2, Commands & Utilities Issue 5, Reference Pages: cksum
- I Full definition (except Check, Residue)
 
- Q. Frank Xia (December 1999), GNU cksum 2.0a
- Michael Niedermayer, Aurélien Jacobs et al. (27 February 2023), FFmpeg 6.0 (XZ compressed tarfile), module ffmpeg-6.0/libavutil/tests/crc.c
- IV 1 codeword (before XorOut stage)
- (i+i*i)× 1999 +- 3F0A451F(source: +- C0F5BAE0)
 
 
- Created: 30 March 2005
- Updated: 8 August 2024
width=32  poly=0x1edc6f41  init=0xffffffff  refin=true  refout=true  xorout=0xffffffff  check=0xe3069283  residue=0xb798b438  name="CRC-32/ISCSI"
- Class: attested
- Alias: CRC-32/BASE91-C, CRC-32/CASTAGNOLI, CRC-32/INTERLAKEN, CRC-32C, CRC-32/NVME
- IETF RFC 7143 (April 2014)
- I Full definition (except Check) (Section 13.1, pp.230–1)
 
- IETF RFC 3385 (September 2002)
- I Code: Verilog (implementation in hardware)
- III Survey of literature and discussion of polynomial properties
 
- NVM Express, Inc. (27 December 2023), NVM Express® TCP Transport Specification, Revision 1.0d
- I Citation for algorithm: IETF RFC 3385 (Section 3.3.1.1, p.14)
 
- The Interlaken Alliance (7 October 2008), Interlaken Protocol Definition, version 1.2
- I Definition: Width, Poly (Section 5.4.6, p.33)
- I Definition: Init, RefIn, RefOut, XorOut (Appendix B, p.48)
 
- Dipl. Inf. Johann F. Löfflmann (30 July 2006), Jacksum 1.7.0
- Greg Cook (21 August 2020), Base91 level 1 version 3.12
- II Implementation
- III Full mathematical description
- III All parameters
- III Code: C
 
- Mark Bakke, Julian Satran, Venkat Rangan (May–June 2001), IP Storage Mailing List thread
- III All parameters (except Residue) (Bakke, Rangan)
- III Definition: Width, Poly, Init, XorOut (Satran)
- III Code: C (Rangan)
- IV 3 codewords (Bakke)
- 0000000000000000000000000000000000000000000000000000000000000000AA36918A
- FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43ABA862
- 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F4E79DD46
 
 
- NVM Express, Inc. (10 January 2024), NVM Express® Management Interface Specification, Revision 1.2d
- IV 7 codewords (Appendix C, pp.162–5)
- 84100000060301000000000000000000000000000000000000000000040000001400000000000000000000000100000000000000000000000000000000000000000000004AC32CFA
- 8490000000000000000000000000000000000000415A3132333435362020202020202020202020207A1FC47B
- 84080000010000000000000000000080AAEF81B4
- 848800000000000038FF1E0501000000C83B3B57
- 8400000004450000CD21EC1E
- 8480000000450100BD860283
 
 
- Unique effective solution of codeword set
- Created: 10 September 2005
- Updated: 8 August 2024
width=32  poly=0x04c11db7  init=0xffffffff  refin=true  refout=true  xorout=0xffffffff  check=0xcbf43926  residue=0xdebb20e3  name="CRC-32/ISO-HDLC"
- Class: attested
- Alias: CRC-32, CRC-32/ADCCP, CRC-32/V-42, CRC-32/XZ, PKZIP
- HDLC is defined in ISO/IEC 13239.
- ITU-T Recommendation V.42 (March 2002)
- I Definition: Residue; full mathematical description (Section 8.1.1.6.2, p.17)
 
- 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.3.1, pp.27–8)
- IV 7 codewords (Section 7.2.3.1, p.28)
- 000000001CDF4421
- F20183779DAB24
- 0FAA005587B2C9B6
- 00FF55111262A032
- 332255AABBCCDDEEFF3D86AEB0
- 926B559BA2DE9C
- FFFFFFFFFFFFFFFF
 
 
- Lasse Collin, Igor Pavlov et al. (27 August 2009), The .xz file format, version 1.0.4
- IETF RFC 1662 (July 1994)
- I Code: C (Appendix C.3, pp.21–3)
 
- PKWARE Inc. (1 February 1993), PKZIP 2.04g
- Frank J. T. Wojcik, Guy Eric Schalnat, Andreas Dilger, Glenn Randers-Pehrson et al. (15 October 1999), libpng 1.0.5
- Lasse Collin, Igor Pavlov et al. (21 May 2011), XZ Utils 5.0.3
- Lammert Bies (August 2011), CRC calculator
- PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0
- Dr Ross N. Williams (19 August 1993), "A Painless Guide to CRC Error Detection Algorithms" (courtesy of the Internet Archive)
- III All parameters (except Residue)
 
- Emil Lenchak, Texas Instruments, Inc. (June 2018), CRC Implementation With MSP430
- III All parameters (except Residue) (Section 4.6, p.6)
 
- Berndt M. Gammel (29 October 2006), Matpack 1.9.1 class MpCRCdocumentation
- III All parameters (except Residue)
 
- NVM Express, Inc. (11 January 2024), NVM Express® Base Specification, Revision 2.0d
- IV 1 codeword (Section 8.13.5.8, p.409)
- 89AEB31A874EAF84841B46736B0DFDF2BA58D30AA2A545A3E235A3521E07594CFA690DA7(source:- ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n)
 
 
- NVM Express, Inc. (27 December 2023), NVM Express® TCP Transport Specification, Revision 1.0d
- IV 1 codeword (Section 3.6.1.5, p.27)
- 5512DBB6737D0106F65975B773DFB011FFC344BCF442E2DD6D8BC4870B5D5B035FF4BAD9(source:- VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ)
 
 
- Cisco Systems (September 2013), Meraki Air Marshal white paper
- IV 1 codeword (p.9)
- C008300028CFE9521D3B08EA449900E808EA449900E8300102007E649416
 
 
- Ryan Luecke, James Lyons (11 October 2011), CRC32 Checksums; The Good, The Bad, And The Ugly
- Unique effective solution of codeword set
- Created: 30 March 2005
- Updated: 11 December 2024
width=32  poly=0x04c11db7  init=0xffffffff  refin=true  refout=true  xorout=0x00000000  check=0x340bc6d9  residue=0x00000000  name="CRC-32/JAMCRC"
- Class: confirmed
- Alias: JAMCRC
- PVL Team (25 October 2008), CRC .NET control, version 14.0.0.0
- Altera Corporation (April 1999), crc MegaCore Function Data Sheet, version 2 (courtesy of the Internet Archive)
- III All parameters (except Residue) (p.6)
 
- Created: 30 March 2005
- Updated: 21 November 2018
width=32  poly=0x741b8cd7  init=0xffffffff  refin=true  refout=true  xorout=0x00000000  check=0xd2c22f51  residue=0x00000000  name="CRC-32/MEF"
- Class: attested
- Reference courtesy of Greg Nelson, Grammatech Inc.
- Mayo Foundation (19 February 2016), Multiscale Electrophysiology File Format Version 3.0 (MEF3) specification (courtesy of GitHub) 
- I Definition: Init (p.90), Width (p.91)
- I Citation for Poly: "Koopman" (p.91)
 
- Dan Crepeau (27 Sep 2021), Sample MEF 3.0 data (tar archive)
- II Recording confirming implementation with at least 32 codewords (selection)
- 4E6F7465000100003000000040F2E0C8E674040054686973206973207468652074657874206F6620746865206669727374206E6F74652E007E7E7E7E7E7E7E7E7E7E7E7E42342AB7
- 4E6F74650001000030000000C08879C9E674040054686973206973207468652074657874206F6620746865207365636F6E64206E6F74652E007E7E7E7E7E7E7E7E7E7E7E78CE3BA8
- 42342AB74E6F7465000100003000000040F2E0C8E674040054686973206973207468652074657874206F6620746865206669727374206E6F74652E007E7E7E7E7E7E7E7E7E7E7E7E78CE3BA84E6F74650001000030000000C08879C9E674040054686973206973207468652074657874206F6620746865207365636F6E64206E6F74652E007E7E7E7E7E7E7E7E7E7E7E266D44ED
- 4E6F746500010000000400000000000040F2E0C8E67404004E6F7465000100004804000000000000C08879C9E6740400D1D99813
 
 
- Matt Stead, Ben Brinkmann, Dan Crepeau, Mayo Foundation (2013), Multiscale Electrophysiology Format (MEF) version 3.0 library, modules meflib/meflib.c,meflib/meflib.h
- Created: 10 January 2022
- Updated: 4 August 2023
width=32  poly=0x04c11db7  init=0xffffffff  refin=false  refout=false  xorout=0x00000000  check=0x0376e6e7  residue=0x00000000  name="CRC-32/MPEG-2"
- Class: attested
- ISO/IEC 13818-1:2000 — ITU-T Recommendation H.222.0 (February 2000)
- I Definition: Width, Poly, Init, RefIn, RefOut, Residue (Annex A, p.97)
- I CRC checking algorithm (Annex A, p.97)
- I Partial shift register diagram (Annex A, p.97)
 
- Dipl. Inf. Johann F. Löfflmann (30 July 2006), Jacksum 1.7.0
- VideoLAN Organization (13 October 2022), VLC 3.0.18 module vlc-3.0.11/modules/mux/mpeg/ps.c
- Created: 8 October 2008
- Updated: 4 August 2023
width=32  poly=0x000000af  init=0x00000000  refin=false  refout=false  xorout=0x00000000  check=0xbd0be338  residue=0x00000000  name="CRC-32/XFER"
- Class: confirmed
- Alias: XFER
- Jon Welch (12 January 2007), XFER in C, version 5.1a
- William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling (1992), Numerical recipes in C: The art of scientific computing, 2nd ed., Cambridge University Press, ISBN 0-521-43108-5
- III Presents polynomial and its properties (p.299)
 
- Created: 30 March 2005
- Updated: 2 January 2021
width=40  poly=0x0004820009  init=0x0000000000  refin=false  refout=false  xorout=0xffffffffff  check=0xd4164fc646  residue=0xc4ff8071ff  name="CRC-40/GSM"
- Class: academic
- Correction to XorOut by Mark Cammidge, Peralex Electronics (Pty) Ltd.
- ETSI TS 100 909 version 8.9.0 (January 2005)
- I Full mathematical description (Section 4.1.2, p.61)
 
- Patrick Geremia, Texas Instruments, Inc. (April 1999), Cyclic Redundancy Check Computation: An Implementation Using the TMS320C54x
- III Definition: Width, Poly (p.5)
- III Code: TMS320C54x assembler (Appendix E, pp.30–33)
 
- Berndt M. Gammel (29 October 2006), Matpack 1.9.1 class MpCRCdocumentation
- III Definition: Width, Poly
 
- Created: 10 December 2009
- Updated: 25 March 2019
width=64  poly=0x42f0e1eba9ea3693  init=0x0000000000000000  refin=false  refout=false  xorout=0x0000000000000000  check=0x6c40df5f0b497347  residue=0x0000000000000000  name="CRC-64/ECMA-182"
- Class: academic
- Alias: CRC-64
- Used in DLT-1 tape cartridges.  For the algorithm often misidentified as ECMA, see CRC-64/XZ.
- ECMA standard ECMA-182 (December 1992) — ISO/IEC 13421:1993
- I Full mathematical description (Annex B, p.51)
 
- Created: 6 April 2009
- Updated: 7 May 2022
width=64  poly=0x000000000000001b  init=0xffffffffffffffff  refin=true  refout=true  xorout=0xffffffffffffffff  check=0xb90956c775a41001  residue=0x5300000000000000  name="CRC-64/GO-ISO"
- Class: confirmed
- Go implementation reference contributed by "freetrader".
- The Go Authors, The Go Programming Language, package crc64
- II Implementation (using constant crc64.ISO)
 
- The Go Authors (26 January 2017), The Go Programming Language, module src/hash/crc64/crc64.go
- The Go Authors (26 January 2017), The Go Programming Language, module src/hash/crc64/crc64_test.go
- IV 32 codewords (selection)
- 0000000000000000
- 610000000000002034
- 6162000000000020C436
- 6162630000000020C47637
- 6162636400000020C4766733
- 6162636465000020C47667D332
- 6162636465660020C47667D30230
- 6162636465666720C47667D302B031
- 6162636465666768C47667D302B0210E
- 6162636465666768697667D302B0216E8B
- 6162636465666768696A67D302B0216E5B7F
- 48652077686F2068617320612073686164792070617374206B6E6F77732074686174206E69636520677579732066696E697368206C6173742EB45ABEE25917DBC7
- 46726565212046726565212F4120747269702F746F204D6172732F666F72203930302F656D707479206A6172732F4275726D61205368617665EFA0DAA61142FCEA
- 4E6570616C207072656D69657220776F6E27742072657369676E2EA628EFD66A865552
- 486973206D6F6E6579206973207477696365207461696E7465643A20277461696E7420796F75727320616E6420277461696E74206D696E652E16499D643A967888
- 73697A653A2020612E6F75743A2020626164206D61676963D2ADCDDA653C55F3
- 546865206D616A6F722070726F626C656D20697320776974682073656E646D61696C2E20202D4D61726B20486F72746F6EB976A68740035E9D
- 5468697320697320612074657374206F662074686520656D657267656E63792062726F6164636173742073797374656D2E613B506B00F1FCE7
 
 
- Unique effective solution of codeword set
- Created: 28 January 2017
- Updated: 29 August 2024
width=64  poly=0x259c84cba6426349  init=0xffffffffffffffff  refin=true  refout=true  xorout=0x0000000000000000  check=0x75d4b74f024eceea  residue=0x0000000000000000  name="CRC-64/MS"
- Class: attested
- Reference courtesy of Greg Nelson, Grammatech Inc.
- Reportedly also used in AppID hashes and the thumbcache.dllfile.
- Microsoft Corporation (25 June 2021), [MS-FCIADS]: File Classification Infrastructure Alternate Data Stream (ADS) File Format
- I Full mathematical description (Section 2.8, pp.11–12)
- IV 1 codeword (Section 3, pp.13–15)
- EBDBF499B234C9018A000000000000000000000002000000D8AE24AFCF9C941F0100000008000000360000002E00000042007500730069006E0065007300730049006D0070006100630074000000480042004900000007000000080000001C000000180000005000490049000000310000005365C6807317DACE
 
 
- Hexacorn Ltd (30 April 2013), JumpLists file names and AppID calculator
- II Implementation (with AppID string translation)
- III Code: Perl
- IV 7 codewords
- 4D004900430052004F0053004F00460054002E0049004E005400450052004E00450054004500580050004C004F005200450052002E00440045004600410055004C005400A149B5EA6DB8C828
- 4D004900430052004F0053004F00460054002E00570049004E0044004F00570053002E0053005400490043004B0059004E004F0054004500530058C773F29AD57E33
- 7B00310041004300310034004500370037002D0030003200450037002D0034004500350044002D0042003700340034002D003200450042003100410045003500310039003800420037007D005C004E004F00540045005000410044002E004500580045002B4EC2C169DC9C9B
- 7B00440036003500320033003100420030002D0042003200460031002D0034003800350037002D0041003400430045002D004100380045003700430036004500410037004400320037007D005C004E004F00540045005000410044002E00450058004500237ED143CB0E8E91
- 7B00390030003500450036003300420036002D0043003100420046002D0034003900340045002D0042003200390043002D003600350042003700330032004400330044003200310041007D005C0049004500580050004C004F00520045002E0045005800450006B6151674EBA0C3
- 7B00360044003800300039003300370037002D0036004100460030002D0034003400340042002D0038003900350037002D004100330037003700330046003000320032003000300045007D005C0049004500580050004C004F00520045002E00450058004500CE6D913EB0E370E2
- 7B00370043003500410034003000450046002D0041003000460042002D0034004200460043002D0038003700340041002D004300300046003200450030004200390046004100380045007D005C0049004500580050004C004F00520045002E00450058004500A5A793B7B47F220E
 
 
- Unique effective solution of codeword set
- Created: 7 January 2022
width=64  poly=0xad93d23594c93659  init=0xffffffffffffffff  refin=true  refout=true  xorout=0xffffffffffffffff  check=0xae8b14860a799888  residue=0xf310303b2b6f6e42  name="CRC-64/NVME"
- Class: attested
- Contributed by Don MacAskill.
- NVM Express, Inc. (28 December 2023), NVM Express® NVM Command Set Specification, Revision 1.0d
- I Full mathematical description and procedure (Section 5.2.1.3, pp.80–4)
- I All parameters (except Check, Residue) (Section 5.2.1.3.4, pp.82–3)
- IV 4 codewords (Section 5.2.1.3.5, p.84)
- 00× 4096 +- 4EB622EB67D38264
- FF× 4096 +- ACA3EC0273BADDC0
- (i)× 4096 +- 9C4450675F9F723E
- (4095 - i)× 4096 +- 7E519E8E4BF62D9A
 
- The published Check value is incorrect. (Figure 120, p.83)
 
- Coly Li, Keith Busch et al. (7 March 2022), Linux module lib/crc64.c
- Created: 8 August 2024
width=64  poly=0xad93d23594c935a9  init=0x0000000000000000  refin=true  refout=true  xorout=0x0000000000000000  check=0xe9c6d914c4b8d9ca  residue=0x0000000000000000  name="CRC-64/REDIS"
- Class: academic
- Contributed by Johann N. Löfflmann.
- Matt Stancliff et al. (16 November 2021), Redis module redis/src/crc64.c
- III Definition: Width, Poly, RefIn, RefOut, XorOut, Check
- III Code: C
- IV 1 codeword (454 bytes)
 
- Created: 24 August 2022
width=64  poly=0x42f0e1eba9ea3693  init=0xffffffffffffffff  refin=false  refout=false  xorout=0xffffffffffffffff  check=0x62ec59e3f1a4f00a  residue=0xfcacbebd5931a992  name="CRC-64/WE"
- Class: confirmed
- Wolfgang Ehrhardt (27 March 2012), CRC/Hash plugin for FAR Manager
- Created: 8 November 2009
- Updated: 28 December 2019
width=64  poly=0x42f0e1eba9ea3693  init=0xffffffffffffffff  refin=true  refout=true  xorout=0xffffffffffffffff  check=0x995dc9bbdf1939fa  residue=0x49958c9abd7d353f  name="CRC-64/XZ"
- Class: attested
- Alias: CRC-64/GO-ECMA
- An algorithm commonly misidentified as ECMA.  For the true ECMA algorithm see CRC-64/ECMA-182.
- Go implementation reference contributed by "freetrader".
- 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.4.1, pp.29–30)
- IV 7 codewords (Section 7.2.4.1, p.30)
- 000000004B9F1B1E3586A5F4
- F20183C6F1648166279C31
- 0FAA005575157C66F7D0C554
- 00FF5511E604077EBE2238A6
- 332255AABBCCDDEEFFD5E5A819B2CE1E70
- 926B554E3E9FB5A996AA5F
- FFFFFFFF00000000FFFFFFFF
 
 
- Lasse Collin, Igor Pavlov et al. (27 August 2009), The .xz file format, version 1.0.4
- Lasse Collin, Igor Pavlov et al. (21 May 2011), XZ Utils 5.0.3
- The Go Authors, The Go Programming Language, package crc64
- II Implementation (using constant crc64.ECMA)
 
- The Go Authors (26 January 2017), The Go Programming Language, module src/hash/crc64/crc64.go
- The Go Authors (26 January 2017), The Go Programming Language, module src/hash/crc64/crc64_test.go
- IV 32 codewords (selection)
- 0000000000000000
- 61052B652E77840233
- 616246B0840E207365BC
- 6162632776271A4A09D82C
- 61626364BA60596E59289D3C
- 6162636465F29508FB58DF0B04
- 616263646566F400A745859F8ED0
- 61626364656667660E71CCA8A320EC
- 6162636465666768590C7A640AF3B467
- 6162636465666768698EEF569DC8F66699
- 6162636465666768696AF47357CD2E3A0932
- 48652077686F2068617320612073686164792070617374206B6E6F77732074686174206E69636520677579732066696E697368206C6173742E0DA0B92AACC06285
- 46726565212046726565212F4120747269702F746F204D6172732F666F72203930302F656D707479206A6172732F4275726D612053686176658A513E353038601F
- 4E6570616C207072656D69657220776F6E27742072657369676E2E415A746AB1F20E79
- 486973206D6F6E6579206973207477696365207461696E7465643A20277461696E7420796F75727320616E6420277461696E74206D696E652E6D100B66B2419E04
- 73697A653A2020612E6F75743A2020626164206D616769634D3AD6D86CE4B5E3
- 546865206D616A6F722070726F626C656D20697320776974682073656E646D61696C2E20202D4D61726B20486F72746F6E51A0F2946BAF5A86
- 5468697320697320612074657374206F662074686520656D657267656E63792062726F6164636173742073797374656D2E72BC5BC17F18DB27
 
 
- Unique effective solution of codeword set
- Created: 4 July 2011
- Updated: 29 August 2024
width=82  poly=0x0308c0111011401440411  init=0x000000000000000000000  refin=true  refout=true  xorout=0x000000000000000000000  check=0x09ea83f625023801fd612  residue=0x000000000000000000000  name="CRC-82/DARC"
- Class: attested
- The single codeword is supported by the codewords confirming CRC-6/DARC, defined identically apart from Width, 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 example input message is 190 bits long, considering that the inner CRC is 14 bits.  The CRC mask is …C0 FF FF FF FF FF FF FF FF FF FF.
- 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)
- 02000102372050524F4A454354204D41494E4D454E553B48424065001049B5FB9ADE(source:- 40008040EC040A4AF252A2C22A04B2829272B2A272AADC124202A6000892ADDF597B)
 
- See section 12 for details of the transmission order.
 
- reveng -m CRC-82/DARC -X -c 02000102372050524F4A454354204D41494E4D454E553B48424065001049B5FB9ADE → 0000000000000000000000
- reveng -m CRC-82/DARC -a 1 -A 8 -r -X -c 0100000000000000100000000100000011101100000001000000101001001010111100100101001010100010110000100010101000000100101100101000001010010010011100101011001010100010011100101010101011011100000100 → 40424065001049B5FB9ADE
- Created: 14 December 2009
- Updated: 23 December 2021
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, ![[email address]](../email.png)
https://reveng.sourceforge.io/crc-catalogue/17plus.htm Last updated 11 December 2024
Links last verified 20 July 2023
 Hosting by
 Hosting by 
[ Top of page ]