CRC 【巡回冗長検査】 Cyclic Redundancy Check / 巡回冗長符号 / Cyclic Redundancy Code

概要

CRC(巡回冗長検査)とは、誤り検出方式の一つで、データとみなしてある定数で割った余り(余剰)を用いて誤りの検知をなうもの。その検査用のをCRC値、CRC符号、巡回冗長符号などと呼ぶが、値自体をCRC(Cyclic Redundancy Code)と呼ぶこともある。

誤り検出符号データの伝送や記録、複製が正確にわれたかを調べる手法で、送信や記録の前に検査用のを算出して元データに付加し、受信や読み出しの際に同じ箇所のデータについて同じ手順でを算出する。

両者が一致すれば誤りが無いことが分かり、しなければ途中でデータの一部が欠落や変化していることが分かる。CRC符号は誤り検出用の符号であり、正しいへ訂正する機能はない。

CRCでは調べる対象のデータを一定のビット数ごとに区切って2進数とみなし、それより短いビット数のある定数(生成多項式と呼ぶ)で割った余りを検査用のとする。単純なチェックサムパリティチェックなどの方式に比べ、一か所に連続して集中的に発生するバースト誤りの検知に強いという特徴がある。

CRCの算出方法には、データをどのくらい長さで区切り、どのような定数で割るかによって様々な種類がある。どのような方式が適しているかは状況によって異なるため、通信規格などで算出方法を個別に定めることが多い。

検査用のがnビットになるCRCを「nビットCRC」あるいは「CRC-n」のように呼び、8ビットや16ビット32ビットなどがよく用いられる。定数の長さはn+1ビットとなり、例えば8ビットCRCであれば9ビット定数を用いる。同じ8ビットCRCでも定数が異なる複数の方式が存在する。

(2020.5.19更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる