3

このメッセージ(ab,cd,ef)があり、ROHC (堅牢なヘッダー圧縮) CRC8 多項式があるとしe0ます。

C(x) = x^0 + x^1 + x^2 + x^8

最後のバイトから逆方向にメッセージの CRC を計算し、元のメッセージで計算している場合と同じ結果を得る方法はありますか?

4

1 に答える 1

-1

いいえ、これは通常、多項式 (100000111) では不可能です。

EG: 110100111/100000111 = 011010011
but: 111001011/xxxxxxxxx != 011010011 (in general)

ただし、事前に CRC がわかっている場合は、メッセージの有効性を確認できます。

EG: 110100111/100000111 = 01101001
    => message transmitted = 11010011 01101001
    => message received (reversed) = 10010110 11001011

then: 10010110 11001011/111000001 == 0
(where: 111000001 = reversed(100000111))

=> crc(reversed(11001011)) = crc(11010011) == reversed(10010110) = 01101001

これは、メッセージが BITWISE で逆になっている場合にのみ当てはまることに注意してください。

IE: reversed(ABC) = reversed(101010111100) = 001111010101
= 3D5 = reversed(ABC) != CBA = 110010111010 != reversed(101010111100)

したがって、アルゴリズムを実装するときは注意してください;-)

于 2012-12-17T15:21:59.407 に答える