CRC(巡回冗長検査)とは?しーあーるしー
CRC(巡回冗長検査)とは、CRC(Cyclic Redundancy Check:巡回冗長検査)は、送信するビット列を定められた生成多項式で割った余りを検査用のビット列として末尾に付け、受信側で同じ計算をして誤りの有無を判定する方式。パリティやチェックサムより計算量の割に検出力が高く、特に連続して化けるバースト誤りに強い。
最終更新:2026-10-07
高度試験の午前Iを最短で暗記する →背景
通信路の誤りは1ビットずつ独立に起きるのではなく、雑音や瞬断によって数ビットから数十ビットがまとまって化ける。1ビット単位を前提としたパリティではこの塊を素通ししてしまうため、ビット列全体を1つの多項式とみなして割り算する方式が採られた。割り算はシフトレジスタと排他的論理和だけで実装でき、通信機器のハードウェアで高速に処理できる点も採用理由になっている。式そのものより、どの誤りを捕まえられるかを覚えれば午前I(科目A-1)では足りる。
具体例
イーサネットのフレーム末尾に付くFCS(Frame Check Sequence)はCRCで計算した値で、受信側で再計算した値と一致しなければフレームを黙って破棄する。ZIPやPNGのファイル内にもCRCが埋め込まれており、破損したファイルの検出に使われている。
試験での引っ掛け
CRCができるのは誤りの検出だけで、訂正はできない。訂正まで行うのはハミング符号で、この2つの取り違えが定番の引っ掛けである。またパリティは1ビット誤りしか検出できず偶数個の誤りを見逃すのに対し、CRCはバースト誤りを捕まえられる、という強さの序列で覚える。誤りを検出したときのイーサネットの動作は「訂正」でも「再送要求」でもなく破棄であり、再送は上位のTCPが担う。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。