使用最多 10 位来破坏传输的消息以产生不可检测的错误 (CRC-32)

use at most 10 bits to corrupt the transmitted message to make an undetectable error (CRC-32)

如何使用最多 10 位来破坏传输的消息 (P(x)) 以通过 CRC-32?

CRC-32 多项式:

P(x): 传输消息 C(x):CRC-32 多项式 E(x):错误位

一个简单的方法是 让 E(x) = C(x) 并将 C(x) 添加到 P(x)。但这会改变 15 P(x) 中的位,因为 C(x) 中有 15 个非零项。

那么有什么方法可以最多使用 10 bits-change 来通过 CRC-32 吗?

是的,根据消息的长度,您肯定可以找到权重为 10 甚至更小的代码字。参见 this paper 中的 Table 1。第一列是您尝试引用的多项式。

这是一个权重为 10、56 位十六进制码字的示例:01 80 92 14 00 40 24。或者它可以用位位置集来描述:0 15 17 20 23 26 28 46 50 53。(因此它实际上是一个 54 位码字,因为不需要最后两个零。)

如果您将位位置 0、49961 和 91639 设置为零,则您的代码字权重为 3。