3
このメッセージがあります。とROHC(ロバストヘッダー圧縮)CRC8多項式e0
があるとします。逆メッセージCRC計算
C(x) = x^0 + x^1 + x^2 + x^8
私は元のメッセージでそれを計算していますかのように、私は後方に最後のバイトから始まるメッセージにCRCを計算し、同じ結果を得ることができる方法はありますか?
このメッセージがあります。とROHC(ロバストヘッダー圧縮)CRC8多項式e0
があるとします。逆メッセージCRC計算
C(x) = x^0 + x^1 + x^2 + x^8
私は元のメッセージでそれを計算していますかのように、私は後方に最後のバイトから始まるメッセージにCRCを計算し、同じ結果を得ることができる方法はありますか?
これは、多項式(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
メッセージが反転されている場合にのみ該当することに注意してください。
IE: reversed(ABC) = reversed(101010111100) = 001111010101
= 3D5 = reversed(ABC) != CBA = 110010111010 != reversed(101010111100)
だから、=そのCRC8が付加メッセージが
を実装する際に注意してください、このメッセージのCRC8()のCRC8メッセージが有効であることを意味する0の場合、メッセージが有効であれば、逆転メッセージRCRC8()= 0に適用されると、RCRC8機能が必要になりますか?そうですか?メッセージ内のビットも反転されているのか、逆のバイトだけを考慮していますか? –
guga