[ 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
MpCRC
documentation
- 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 28
inserted 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
cksum
program processes a representation of the input stream length following the input. It returns 930766865
(0x377A6011
) on the check string, processed internally as 31 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
MpCRC
documentation
- 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
- I 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: 8 August 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
MpCRC
documentation
- 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.dll
file.
- 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,
https://reveng.sourceforge.io/crc-catalogue/17plus.htm Last updated 29 August 2024
Links last verified 20 July 2023
Hosting by
[ Top of page ]