查找特定除数的CRC冲突

时间:2012-02-28 04:36:22

标签: algorithm crc

我目前的教科书(信息安全:Mark Stamp的原则和实践)讨论了如何通过长除法确定数据的CRC,使用XOR而不是减法来确定余数。

如果我们的除数有N位,我们将(N-1)0位附加到被除数(数据),然后使用XOR的长除法来求解CRC。

例如:

Divisor: 10011
Dividend: 10101011

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

我能够很好地执行此计算。然而,该书提到,在除数为 10011 的情况下,很容易发现碰撞。

我在这里遗漏了一些东西 - 为什么在除数为10011时更容易找到碰撞?

1 个答案:

答案 0 :(得分:0)

有关详细信息,请参阅http://en.wikipedia.org/wiki/Cyclic_redundancy_check#Designing_CRC_polynomials

10011对应于多项式x ^ 5 + x + 1,其是不可约的。而且,使用这些代码可以减少碰撞的可能性。