Нахождение коллизий CRC для конкретного делителя - PullRequest
1 голос
/ 28 февраля 2012

В моем текущем учебнике («Информационная безопасность: принципы и практика» Марка Стэмпа) обсуждается, как определить CRC данных с помощью длинного деления, используя XOR вместо вычитания для определения остатка.

Если наш делитель имеетN-биты, мы добавляем (N-1) 0 битов к делимому (данным) и затем используем длинное деление с XOR для решения для CRC.

Например:

Divisor: 10011
Dividend: 10101011

101010110000 / 10011 = 10110110 R 1010, where 1010 = CRC

Я в состоянии выполнить это вычисление нормально.Однако в книге упоминается, что в случае делителя 10011 легко обнаружить столкновения.

Я что-то здесь упускаю - почему легче найти столкновение, когдаделитель 10011?

1 Ответ

0 голосов
/ 28 февраля 2012

Подробнее см. http://en.wikipedia.org/wiki/Cyclic_redundancy_check#Designing_CRC_polynomials.

10011 соответствует многочлену x ^ 5 + x + 1, который неприводим.И использование таких кодов снижает вероятность коллизий.

...