巡回冗長検査

巡回冗長検査(じゅんかいじょうちょうけんさ、英: Cyclic Redundancy Check、CRC)とは、任意長のデータストリームを入力とし、例えば32ビット整数などの固定サイズの値を出力する関数の一種であり、連続する誤りを検出するための誤り検出符号の一種。CRC という用語は、その関数自体を指す場合とその出力値を指す場合がある。CRCは、データの転送や格納時にその一部が偶然変化したことを検出するチェックサムとして使うことができる。デジタル回路で簡単に実装でき、数学的にも分析が容易で、伝送路ノイズによる誤りの検出によく使われている。CRCは W. Wesley Peterson が発明し、1961年に論文として発表したIEEE勧告の32ビットCRCは1975年に登場し、イーサネットなどの各種通信に使われている

この符号自体はデータが誤りであることを検出できるにすぎず、値から元のデータを復元できるわけではない。

CRCは、

などの特徴を持つことから、ネットワークからハードウェア回路における転送に幅広く使われているだけにとどまらず、ソフトウェアにおいてデータの検索のハッシュキーなどに使われることもある。

CRCソースコードについては、RFC1952に規定されているGZIPフォーマットに含まれるcrc32.cにある。

ただ、CRCビット幅(通常、16bit若しくは32bit)、生成多項式(CCITTで推奨値が2つ例示されている)等が一意に定まっていないため、同じビット列を処理してもプログラムにより全く違う値を返すことがある。一般的ではないが、ビット幅に関しては、12bitのものも存在する。また、ハッシュとして用いるには同値が頻出するため適当と言えず、現在では誤りの検出以外の目的で使用されることはまれである。

巡回冗長検査」『フリー百科事典 ウィキペディア日本語版』(http://ja.wikipedia.org/)。2009年7月28日15時(日本時間)現在での最新版を取得。

続きを見る

おすすめ情報

高品質・低価格のインターネットプロバイダ
インターネットプロバイダー「ASAHIネット」はADSL, 光回線などのインターネット接続を業界最安値水準でを提供している。日経ビジネス・J.D. Power等のお客様満足度調査でも高い評価を得ており。「推奨度№1」といわれるのも納得だ。


2010年プロバイダー【顧客満足度】NO.1 トリプル受賞  ASAHIネット

入会・お問い合わせダイヤル
0120-030-275
携帯電話/PHS/IP電話などからは
03-3569-3526

10:00~19:00(土日祝~17:00)

書面での申し込みはこちら
資料請求

このページのトップヘ