# CRC Polynomial Selection

Philip Koopman, Carnegie Mellon University

## 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.

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