Data Transmission CRC, differentiation of CRC/FALSE

206 Views Asked by At

I'm trying to learn CRCs. Yet- I have no clue what a CRC16/CCITT_FALSE standard is. Can anyone help or send some resources that can explain the difference between CRC-16-CCITT and CRC16/CCITT FALSE is?

1

There are 1 best solutions below

3
Mark Adler On

They differ in their CRC parameters. You can find CRC-16/IBM-3740 (often falsely identified as CCITT CRC-16) and CRC-16/KERMIT (the correct CCITT CRC-16) in Greg Cook's catalogue. Here are their parameters:

width=16 poly=0x1021 init=0xffff refin=false refout=false xorout=0x0000 check=0x29b1 residue=0x0000 name="CRC-16/IBM-3740"
width=16 poly=0x1021 init=0x0000 refin=true refout=true xorout=0x0000 check=0x2189 residue=0x0000 name="CRC-16/KERMIT"

They use the same polynomial, but one is reflected and the other not, and one of them has a non-zero initial value.