发明名称 |
一种计算循环冗余校验码的方法及装置 |
摘要 |
本发明提供了一种计算循环冗余校验码的方法及装置,根据CRCn生成多项式及移位寄存器的初始状态,生成基础查找表、第一个快速查找表、第二个快速查找表和第三个快速查找表;在确认待处理的输入数据量大于或等于32比特时,将待处理的输入数据的第m个字节数据与第m个字节的移位寄存器的初始状态值进行异或,以异或结果为索引,读取第m个快速查找表,得到第m个中间结果;将待处理的输入数据的第四个字节作为索引,读取基础查找表,得到第四个中间结果;将第一个中间结果、第二个中间结果、第三个中间结果及第四个中间结果进行异或,获得CRCn计算结果。采用本发明的方法及装置,能够提高数据处理的并行度,降低数据处理量和内存消耗。 |
申请公布号 |
CN102739258A |
申请公布日期 |
2012.10.17 |
申请号 |
CN201110093675.1 |
申请日期 |
2011.04.14 |
申请人 |
普天信息技术研究院有限公司 |
发明人 |
许萍;刘富芝;史满姣 |
分类号 |
H03M13/09(2006.01)I;H04L1/00(2006.01)I |
主分类号 |
H03M13/09(2006.01)I |
代理机构 |
北京德琦知识产权代理有限公司 11018 |
代理人 |
王一斌;王琦 |
主权项 |
一种计算循环冗余校验码的方法,其特征在于,该方法包括:A、根据CRCn生成多项式及移位寄存器的初始状态,生成一个基础查找表crctable、第一个快速查找表crctablea、第二个快速查找表crctableb和第三个快速查找表crctablec;所述n为整数;B、判断待处理的输入数据数据量是否大于或等于32比特,如果是,读取待处理的输入数据的前32比特数据后,执行步骤C;C、将待处理的输入数据的第m个字节数据与第m个字节的移位寄存器的初始状态值进行异或,以异或结果为索引,读取第m个快速查找表,得到第m个中间结果;所述m为1、2和3;将待处理的输入数据的第四个字节作为索引,读取基础查找表,得到第四个中间结果;D、将步骤C得到的第一个中间结果、第二个中间结果、第三个中间结果及第四个中间结果进行异或,将异或结果作为CRCn计算结果。 |
地址 |
100080 北京市海淀区海淀北二街6号 |