Yanyg - SAN Software Engineer

CRC算法

目录

1 Description

CRC(Cyclic Redundancy Check, 循环冗余校验码)是一种散列函数,用来对一段数据生成固定位数的校验码,这些校验码可用来检测数据传输或保存后可能出现的错误。

CRC是基于有限域GF(2)的多项式环,所有系数都是二进制多项式系数的集合,该集合对于所有的代数操作都是封闭的。例如:

\begin{equation} (x^3 + x) + (x + 1) = x^3 + 2x + 1 = x^3 + 1 \end{equation}

因为所有操作都会模2,因此2x总是为0。

同样有:

\begin{equation} (x^2 + x)(x + 1) = x^3 + 2x^2 + x = x^3 + 1 \end{equation}

2 Reference