問4 CRC の仕組み

応用情報​技術者試験 令和7年度 秋期 午前、全80問のうちの問4。

出典:令和7年度 秋期 応用情報技術者試験 午前 問4

誤り検出方式である CRC に関する記述として,適切なものはどれか。

  1. ア検査用のデータは,検査対象のデータを生成多項式で処理して得られる 1 ビットの値である。
  2. イ受信側では,付加されてきた検査用のデータで検査対象のデータを割り,余りがなければ送信が正しかったと判断する。
  3. ウ送信側では,生成多項式を用いて検査対象のデータから検査用のデータを作り,これを検査対象のデータに付けて送信する。
  4. エ送信側と受信側では,異なる生成多項式が用いられる。
答えと解説を開く

正解はウです。

CRC (巡回冗長検査) では、送信側がデータを生成多項式で割り算し、その余りを検査用のデータ (CRC の値) としてデータの後ろに付けて送ります。受信側は、届いたデータと検査用のデータをまとめて同じ生成多項式で割り、余りが 0 なら誤りなし、0 以外なら誤りありと判断します。送信側の手順を正しく述べたウが正解です。

ほかの選択肢が違う理由

  • アCRC の検査用のデータは、生成多項式の次数に応じた複数ビット (1⁠6 ビット、3⁠2 ビットなど) です。1 ビットだけ付けるのはパリティチェックです。
  • イ割る数は検査用のデータではなく、生成多項式です。受信側は、データと検査用のデータをまとめて生成多項式で割ります。
  • エ送信側と受信側は、同じ生成多項式を使います。違う物を使うと、正しく届いても余りが 0 になりません。

仕組み

CRC の割り算は、繰り上がりや繰り下がりの無い 2 進の割り算で、引き算の代わりに排他的論理和 (XOR) を使います。回路で速く計算できるので、イーサネットやファイルの圧縮形式など、多くの場所で使われています。

連続した複数ビットの誤り (バースト誤り) にも強いのが特長です。ただし誤りを見つけるだけで、直すことはできません。直すには再送してもらいます。

この問に出る言葉