巡回冗長検査
巡回冗長検査は唯一の標準規格があるわけではなく、例えば CRC-12 では3種類の多項式が使われている。また、CRC-16 にはよく使われているものが8種類、CRC-32 は3種類存在する。よく使われている多項式が最も効果的とは限らない。1993年から2004年にかけて、Koopman と Castagnoli らは16ビットまでと、24ビットおよび32ビットの多項式の総当り的調査を行った。そして、それまで利用されていたものよりも(そのメッセージ長でのハミング距離の観点で)性能のよい多項式を発見し、今後の標準化に役立てられるよう発表した。iSCSIはその研究成果を取り入れている。
よく使われるCRC-32多項式は、IEEE勧告のものも V.42、イーサネット、FDDI、ZIP、PNG などで使われているものも、ハミング符号の生成多項式を使っている。これは、誤り検出性能がよいためである。ただし、iSCSIで使っている Castagnoli CRC-32C の方がさらに優れている。
以下の表は、実際に使われている各種アルゴリズムの多項式である。プロトコルによっては、これに事前の逆転や事後の逆転、ビット順序の反転などを施すことがある。独自プロトコルでのCRCは、目くらましとして初期値を複雑化させたり最後にXORしたりすることがあるが、それによって暗号的に強くなるわけではない。
注: ここでは、最上位ビットを省略している。上の特化したCRCの節参照。
以下は、かつて使われていたが、現在はハッシュ関数などに置換されたもの。
CRC-128 (IEEE)
CRC-256 (IEEE)