CRC32C(しーあーるしーさんじゅうにしー)
最終更新:2026/4/28
CRC32Cは、データのエラー検出に使用される巡回冗長検査(CRC)の一種であり、Castagnoliの多項式を用いて計算される。
別名・同義語 巡回冗長検査Castagnoli多項式
ポイント
CRC32Cは、特にインターネットプロトコル(IP)やiSCSIなどのネットワークアプリケーションで広く利用されており、高速な計算と高いエラー検出能力が特徴である。
CRC32Cとは
CRC32Cは、データの信頼性を検証するために用いられるエラー検出符号の一種です。巡回冗長検査(Cyclic Redundancy Check)と呼ばれる手法を基にしており、データの送信または保存中に発生した可能性のあるエラーを検出することを目的としています。
Castagnoliの多項式
CRC32Cは、特定の多項式を用いて計算されます。この多項式はCastagnoliの多項式と呼ばれ、以下の式で表されます。
x³² + x²⁸ + x²³ + x²² + x¹⁷ + x¹³ + x⁵ + x + 1
この多項式を用いることで、CRC32Cは高いエラー検出能力を実現しています。
応用分野
CRC32Cは、様々な分野で利用されています。
- ネットワークプロトコル: インターネットプロトコル(IP)やiSCSIなどのネットワークプロトコルにおいて、データの整合性を保証するために使用されます。
- データストレージ: ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などのデータストレージデバイスにおいて、データの破損を検出するために使用されます。
- ファイルアーカイブ: ZIPやRARなどのファイルアーカイブ形式において、アーカイブされたファイルの整合性を検証するために使用されます。
CRC32Cの利点
CRC32Cは、以下の利点があります。
- 高速な計算: ハードウェアまたはソフトウェアで効率的に計算できます。
- 高いエラー検出能力: 多くの一般的なエラーパターンを検出できます。
- 広く普及: 多くのシステムやアプリケーションでサポートされています。
CRC32Cの限界
CRC32Cは、すべてのエラーを検出できるわけではありません。特に、意図的に作成されたエラーや、CRC32Cの計算方法を考慮した巧妙なエラーは検出できない場合があります。