Я согласен с вами, за исключением того, что частота случайных столкновений выше, чем 1 в 2 ^ 32 или 1 в 2 ^ 64 для 32-битных и 64-битных CRC соответственно.
Я написал приложение, которое отслеживало вещи по их значениям CRC для отслеживания предметов. Нам нужно было отслеживать потенциально миллионы предметов, и мы начали с CRC32, который в реальной практике имеет частоту столкновений около 1 на 2 ^ 16, что было неприятным сюрпризом. Затем мы перекодировали для использования CRC64, который имел реальную частоту столкновений около 1 на 2 ^ 23. Мы проверили это после неприятного сюрприза 32-битного, с которым мы начали, и приняли небольшую частоту ошибок 64-битного.
Я не могу объяснить статистику ожидаемой частоты столкновений, но имеет смысл, что вы столкнетесь намного раньше, чем ширина битов. Точно так же, как хеш-таблица ... некоторые хэш-контейнеры пусты, а другие содержат более одной записи ....
Даже для 256-битной CRC первые 2 CRC могут быть одинаковыми ... это было бы почти невероятно, но возможно.