Ожидаемые коллизии для идеальной 32-битной контрольной суммы

Я пытаюсь определить, как моя контрольная сумма сравнивается с "идеальной" 32-битной контрольной суммой.

Итак, я прогнал свой контрольный цикл по 1 миллиону совершенно случайных выборок данных и собрал количество столкновений. Я хочу сравнить это число с количеством столкновений, которое я мог ожидать от "идеального" контрольного кода.

Кто-нибудь знает, как рассчитать ожидаемое столкновение для «идеального» 32-битного CRC?


person Tristan    schedule 09.09.2010    source источник


Ответы (2)


Сравните свой собственный CRC с 0x1EDC6F41 в качестве «идеального» эталона.

При этом идеального 32-битного CRC не существует. Различные полиномы имеют разные характеристики коллизий в зависимости от длины хешированных данных. Однако в статье Кастаньоли в 1993 году было найдено то, что считается лучшим 32-битным значением CRC в самом широком диапазоне длин данных, то есть 0x1EDC6F41. Этот полином используется некоторыми сетевыми протоколами, такими как iSCSI, а также инструкцией x86 CRC32.

person srking    schedule 27.10.2010

Это прекрасно объясняет «проблему дня рождения» и все о прогнозировании вероятности столкновения

person Tristan    schedule 09.09.2010