CRC突发错误检测校验和结果的证明

时间:2018-04-10 11:43:31

标签: networking crc proof error-detection data-link-layer

据说CRC(循环冗余校验和)可以检测少于 r + 1 位的突发错误,其中 r 是多项式的次数。此外,以 1 - 2 -r 的概率检测到长度大于 r + 1 位的突发。

有人可以引导我去证明这一点吗?

1 个答案:

答案 0 :(得分:4)

不完全正确。除了一个模式(多项式本身)之外, r 位CRC将检测长度 r + 1 的所有突发模式。有关证明,请参阅these lecture notes

简单地说,对于不检测错误的消息,CRC多项式必须除以误差多项式。如果误差多项式为 r 位长,则 r + 1 多项式不具有 x 作为因子(即具有1 term)不能划分度 r 多项式,它可以划分的唯一 r + 1 次多项式本身。所有CRC多项式都有1个项。

您的其他声明属于任何 r 位哈希的属性,该哈希在哈希值的所有可能的 r 位值上以相同的概率分布消息,CRC执行此操作。 2 -r 只是发生应用错误的概率恰好导致相同的CRC,其中 2 r 可能性。这就像说你在6面模具上滚动相同数字的机会是1/6。