CRC Polynomial Selection

Philip Koopman, Carnegie Mellon University

Best CRCs | CRC Selection | CRC Zoo | Checksum and CRC Blog


Good 6sub8 Polynomials

Selection rules:

  1. Consider only polynomials with bits set in the bottom 8 bits (in addition to the topmost bit). This can help speed up computation and reduce lookup table sizes for CRC calculations in application programs.
  2. Pick the polynomial with the longest length for HD=6. In case of a tie consider high HD values and if a further tie, select the smallest polynomial value numerically.

Note that all primitive polynomials annoted as (*p) have HD=3 up to length ((2**k)-CrcSize-1). Any primitive polynomial is generally good for longer lengths than that.

 CRC 
Bits
 HD=6 
Length
(Bits)
 HD6sub8 
 Polynomial
 
 Nickname  HD
 Lengths 
8 4 (0x9b; 0x137) CRC-8F/6 (*o) {118,118,4,4}
9 8 (0x13c; 0x279) CRC-9F/6.2 (*o) {8,8,8,8}
10 12 (0x28e; 0x51d) CRC-10F/6.2 (*o) {95,95,12,12}
11 20 (0x433; 0x867) CRC-11K/6sub8 (*o) {20,20,20,20}
12 25 (0x8f3; 0x11e7) CRC-12F/4.2 ("10747") (*op) {2035,2035,25,25,1,1}
13 32 (0x1036; 0x206d) CRC-13K/6sub8 (*o) {3924,3924,32,32}
14 50 (0x20ee; 0x41dd) CRC-14K/6sub8 (*o) {112,112,50,50,3,3}
15 60 (0x404b; 0x8097) CRC-15K/6sub8 (*op) {16368,16368,60,60}
16 99 (0x808d; 0x1011b) C4 (*o) {28642,28642,99,99}
17 113 (0x10055; 0x200ab) CRC-17K/6sub8 (*o) {364,364,113,113}
18 141 (0x200e7; 0x401cf CRC-18K/6sub8 (*o) {4077,4077,141,141,1,1}
19 236 (0x400f0; 0x801e1) CRC-19K/6sub8 (*o) {236,236,236,236}
20 229 (0x80071; 0x1000e3) CRC-20K/6sub8 (*o) {393193,393193,229,229}
21 261 (0x100077; 0x2000ef) CRC-21K/6sub8 (*o) {262122,262122,261,261,1,1}
22 412 (0x200053; 0x4000a7 CRC-22K/6sub8 (*o) {680063,680063,412,412}
23 425 (0x40007b; 0x8000f7) CRC-23K/6sub8 (*o) {1653517,1653517,425,425,1,1}
24 667 (0x80009a; 0x1000135) CRC-24K/6sub8 (*op) {8388583,8388583,667,667}
25 719 (0x100001b; 0x2000037) CRC-25K/6sub8 (*o) {2097126,2097126,719,719}
26 1041 (0x2000033; 0x4000067) CRC-26K/6sub8 (*o) {11173180,11173180,1041,1041}
27 1084 (0x4000074; 0x80000e9) CRC-27K/6sub8 (*o) {67067881,67067881,1084,1084}
28 1403 (0x800004d; 0x1000009b CRC-28K/6sub8 (*o) {100663265,100663265,1403,1403}
29 2193 (0x100000f5; 0x200001eb) CRC-29K/6sub8 (*o) {89478456,89478456,2193,2193,4,4}
30 2533 (0x2000005c; 0x400000b9) CRC-30K/6sub8 (*op) {536870881,536870881,2533,2533}
31 3122 (0x400000bb; 0x80000177) CRC-31K/6sub8 (*o) {1073215458,1073215458,3122,3122,3,3}
32 4113 (0x80000072; 0x1000000e5) CRC-32K/6sub8 (*o) {1761607438,1761607438,4113,4113}
33 4997 (0x10000004e; 0x20000009d) CRC-33K/6sub8 (*o) {4294434784,4294434784,4997,4997}
34 8164 (0x2000000e1; 0x4000001c3) CRC-34K/6sub8 (*o) {114640,114640,8164,8164}
35 7167 (0x40000001b; 0x800000037) CRC-35K/6sub8 (*o) {1145044684,1145044684,7167,7167}
36 9486 (0x8000000fc; 0x10000001f9) CRC-36K/6sub8 (*o) {12884901846,12884901846,9486,9486,1,1}
37 11832 (0x1000000065; 0x20000000cb) CRC-37K/6sub8 (*o) {60129542093,60129542093,11832,11832}
38 16597 (0x2000000074; 0x40000000e9) CRC-38K/6sub8 (*o) {27380416423,27380416423,16597,16597}
39 21986 (0x400000005c; 0x80000000b9) CRC-39K/6sub8 (*o) {715773231,715773231,21986,21986}
40 26722 (0x80000000f3; 0x100000001e7) CRC-40K/6sub8 (*o) {515396075465,515396075465,26722,26722,1,1}
44 58116 (0x800000000d1; 0x1000000001a3) CRC-44K/6sub8 (*o) {8778913152469,8778913152469,58116,58116}
48 156398 (0x8000000000ed; 0x10000000001db) CRC-48K/6sub8 (*o) {27214007884029,27214007884029,156398,156398,2,2}

See the NOTES PAGE for interpreting this data. Last update 1/2019.

Creative Commons License
This work is copyright 2018 by Philip Koopman. Licensed under a Creative Commons Attribution 4.0 International License.