考虑生成多项式100101
和数据1011100110001
。应用CRC算法,我们得到传输的消息:101110011000100011
我需要在接收方不会注意到的传输消息(即位翻转)中出现3
错误。因此,CRC算法将无法注意到错误并将错误地批准数据。
如何安排?反复试验太繁琐了。
我发现,对于1011100110010 10010
(1011100110010b = 5938d
和10010b = 18d
),我们有5938 = 18 mod 37
,但在对此应用CRC算法时,它会失败。
答案 0 :(得分:2)
CRC算法可以被认为是通过XORing减少消息,生成器模式向左移动一些位。
如果消息减少为0,则CRC测试通过。
这意味着如果您将CRC向左移位一些位进行异或,则CRC将保持不变。在您的情况下,生成多项式只有3个设置位,这使得很容易找到3位修改的消息,只需切换位x,x + 2,x + 5即可选择x。
例如我们可以改变
.third-section > div > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) button:hover .third-section > div > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(1){
border-color: #c8d400;
}
答案 1 :(得分:1)
在286种可能的三错误模式中,有11种CRC为零。它们是Peter de Rivaz所指出的多项式的八个移位,第一个是1001010000000
,以及这种模式的三个移位:1000001000100
。该模式是三个移位多项式的异或,1001010000000
,0001001010000
和0000010010100
。