CRCとは何ですか?そして、どのようにそれは誤り検出に役立つのでしょうか?
-
21-09-2019 - |
質問
CRCとは何ですか?そして、どのようにそれは誤り検出に役立つのでしょうか?
解決
CRCは巡回冗長検査の略です。 それは、エラー検出に役立ちます。.. これは、次の
で構成されていb(x)-> transmitted code word
q(x)-> quotient
i(x)-> information polynomial
r(x)-> remainder polynomial
g(x)-> generated polynomial
step 1: x^(n-k) * i(x)
step 2: r(x) = (x^(n-k) * i(x))%g(x)
step 3: b(x) = (x^(n-k) * i(x)) XOR with r(x)
which results in a transmitted code word.
this b(x) is send to the reciever end from the sender and if u divide the
transmitted code word i.e. b(x) with g(x) and if the remainder
i.e. r(x) is equal to 0 at the reciever end then there is no error
otherwise there is an error in the transmitted code word during the
transmission from sender to reciever.
In this way it is helpful in error detection.
他のヒント
CRC生コンピュータデータへの偶発的変更を検出するように設計された非セキュアハッシュ関数であり、一般に、ハードディスクドライブなどのデジタルネットワークおよびストレージデバイスで使用されます。
A CRC対応デバイスは、両方一緒にデータのブロックごとに、CRCコードとして知られる短い固定長のバイナリシーケンスを計算し、送信または格納します。ブロックの読み取りまたはデバイスを受信したときに計算を繰り返します。新しいCRCコードが以前の計算ものと一致しない場合、ブロックはデータエラーが含まれており、デバイスは、そのようなブロックが再度送信される要求のように是正処置をとることができる。
ソース:ウィキペディアする
巡回冗長検査は、あなたが常に同じ入力に対して同じであることが保証され、いくつかの入力与えられた一意の値を計算することを可能にするハッシュ関数です。入力原稿から何とか変更した場合、異なるCRCチェックサムが生成されます。あなたが入力し、チェックサムを持っているのであれば、あなたは入力から新しいチェックサムを計算し、両方のチェックサムを比較することができます。それらが同じである場合には、入力が変更されていないことを意味します。
所属していません StackOverflow