Computer Interfacing

# CRC32 for one 24bit data

Is the CRC for all 16 mio input values unique?

Author Message
guest CRC32
Guest

 Apr 09, 2014 9:34 am Hello together. I have a short question for a special problem. We use the CRC32 (IEEE802.3) to calculate a checksum (in this special case) of one 24bit data. If neccessary it can be filled to 32 bit with a dummy byte. My question is: Does all 16 Mio input values (=24 bit) generate a unique output checksum? or if not: How many CS will be equal (x %, x ppm, ...)? Thank you in advance for your support.
Gammatester
Guest

Apr 10, 2014 9:17 am

IMO the uniqueness follows from the fact, that
 Quote: All burst errors of length n will be detected by any polynomial of degree n or greater which has a non-zero x^0 term.
(see e.g. the Wikipedia page Mathematics_of_cyclic_redundancy_checks). In your case 32 > 24 and the x^0 term is 1. If two 24-bit values would produce the same CRC-32 value, it would be a contradiction because this special (at most) 24-bit burst error could not be detected.
guest CRC32
Guest

 May 14, 2014 7:25 am Hello, I want to give you a feedback of our investigations. We calculated all possible CRCs our usecase (three byte data, 16 mill possibilities) and stored it in an array to detect a double one. There was no double CRC. Now did it on the the same way with four byte data (4 Mrd). And the result again is that no CRC was used twice. This was a surprise for me. No, we did not analyze the polynom from mathematic side. This was the brut force method to get a fast result. Maybe that this information will be helpful for other users. Thanks and good bye.

 Page 1 of 1

Running on php BB © 2001, 2009 php BB Group