crccrc32crc16error-detection

I wonder about crc error probability. How can I get 2^(-n)?


I wonder about crc error probability.

In most papers, crc error rate is described like 1-2(-n)

For example, the probability of crc-16 is 1-2(-16), so 2(-16)=1∕65536=0.0015%, prob = 99.9984%

I want to know how I can get this formula: 2^(-n).

If 2(-n) is correct rate, the rate of crc-16 and crc-ccitt is same? And if message bit is bigger than before, the rate is same?


Solution

  • For an n-bit CRC, there are 2n possible values of that CRC. Therefore the probability that a message with random errors applied, regardless of the length of the message (so long as it's four bytes or more), has the same CRC as the original message is 2-n. This true for any hash function, including any variant of a CRC, that mixes the input bits well into the output.