crc 校验码的计算方法

crc 校验码的计算方法

ID:14524056

大小:66.50 KB

页数:19页

时间:2018-07-29

crc 校验码的计算方法_第1页
crc 校验码的计算方法_第2页
crc 校验码的计算方法_第3页
crc 校验码的计算方法_第4页
crc 校验码的计算方法_第5页
资源描述:

《crc 校验码的计算方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、CRC校验码的计算方法CRC从原理到实现===============作者:SparkHuang(hcpp@263.net)日期:2004/12/8摘要:CRC(CyclicRedundancyCheck)被广泛用于数据通信过程中的差错检测,具有很强的检错能力。本文详细介绍了CRC的基本原理,并且按照解释通行的查表算法的由来的思路介绍了各种具体的实现方法。1.差错检测数据通信中,接收端需要检测在传输过程中是否发生差错,常用的技术有奇偶校验(ParityCheck),校验和(Checksum)和CRC(CyclicRedunda

2、ncyCheck)。它们都是发送端对消息按照某种算法计算出校验码,然后将校验码和消息一起发送到接收端。接收端对接收到的消息按照相同算法得出校验码,再与接收到的校验码比较,以判断接收到消息是否正确。奇偶校验只需要1位校验码,其计算方法也很简单。以奇检验为例,发送端只需要对所有消息位进行异或运算,得出的值如果是0,则校验码为1,否则为0。接收端可以对消息进行相同计算,然后比较校验码。也可以对消息连同校验码一起计算,若值是0则有差错,否则校验通过。通常说奇偶校验可以检测出1位差错,实际上它可以检测出任何奇数位差错。校验和的思想也很简

3、单,将传输的消息当成8位(或16/32位)整数的序列,将这些整数加起来而得出校验码,该校验码也叫校验和。校验和被用在IP协议中,按照16位整数运算,而且其MSB(MostSignificantBit)的进位被加到结果中。显然,奇偶校验和校验和都有明显的不足。奇偶校验不能检测出偶数位差错。对于校验和,如果整数序列中有两个整数出错,一个增加了一定的值,另一个减小了相同的值,这种差错就检测不出来。2.CRC算法的基本原理-------------------CRC算法的是以GF(2)(2元素伽罗瓦域)多项式算术为数学基础的,听起来很

4、恐怖,但实际上它的主要特点和运算规则是很好理解的。GF(2)多项式中只有一个变量x,其系数也只有0和1,如:   1*x^7+0*x^6+1*x^5+0*x^4+0*x^3+1*x^2+1*x^1+1*x^0即:   x^7+x^5+x^2 +x+1(x^n表示x的n次幂)   GF(2)多项式中的加减用模2算术执行对应项上系数的加减,模2就是加减时不考虑进位和借位,即:   0+0=0   0-0=0   0+1=1   0-1=1   1+0=1   1-0=1   1+1=0   1-1=0显然,加和减是一样的效果(故在

5、GF(2)多项式中一般不出现"-"号),都等同于异或运算。例如P1=x^3 +x^2+1,P2=x^3 +x^1+1,P1+P2为:   x^3 +x^2  +1 +x^3       +x+1   ------------------          x^2+xGF(2)多项式乘法和一般多项式乘法基本一样,只是在各项相加的时候按模2算术进行,例如P1*P2为:   (x^3+x^2+1)(x^3+x^1+1)   =(x^6+x^4+x^3    +x^5+x^3+x^2    +x^3+x+1)   =x^6+x^5+x

6、^4+x^3+x^2+x+1GF(2)多项式除法也和一般多项式除法基本一样,只是在各项相减的时候按模2算术进行,例如P3=x^7+x^6+x^5+x^2+x,P3/P2为:                                      x^4+x^3          +1                   ------------------------------------------             x^3+x+1)x^7+x^6+x^5+            x^2+x            

7、        x^7      +x^5+x^4                    ---------------------                          x^6      +x^4                          x^6      +x^4+x^3                          ---------------------                                            x^3+x^2+x                  

8、                          x^3      +x+1                                            -----------------                                      

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。