|
Thanks for explaining that, it makes sense now.
I'm puzzled by another property of CRC. According to Wikipedia, the function is supposed to be linear:
u = crc32(a ^ b);
v = crc32(a) ^ crc32(b);
Meaning that u==v for bytes a and b. But I'm finding that letting a=0x55 and b=0xAA gives me the checksums:
u=0xFF000000 and v=0x2D02EF8D
So in what sense is CRC linear?
|