发明名称 Byte-wise determination of a checksum from a CRC-32 polynomial
摘要 A fast and memory efficient software method for generating a checksum employing a 32-bit generator polynomial such as X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X1+X0. This end is achieved by performing the successive steps of reversing the 32-bit polynomial, to obtain hexadecimal EDB88320 in the example, as an initial CRC; XORing the least significant unprocessed byte of the data set with the least significant 8-bit byte of the CRC as currently positioned to obtain X8, X7, X6, X5, X4, X3, X2, X1; shifting the CRC right eight bits; for Xi=X8 to X3, inclusive, successively testing the highest numbered unprocessed Xi bit to determine if it is a one or a zero; if the Xi bit being tested is a zero, the CRC remains unchanged for this bit; if the Xi bit being tested is a one, then XOR the shifted CRC with the a 32-bit pattern of Xi corresponding to EDB88320 shifted right zero places for X8, one place for X7, two places for X6, three places for X5, four places for X4 and five places for X3; for Xi=X2 and X1, successively testing the highest numbered unprocessed Xi bit to determine if it is a one or a zero; if the Xi bit being tested is a zero, the CRC remains unchanged for this bit; if the Xi bit being tested is a one, then XOR the shifted CRC with the a 32-bit pattern of Xi corresponding to a second predetermined polynomial, hexadecimal EE0E612C in the example, shifted right zero places for X2 and one place for X1; if bytes of the data set remain to be processed, looping to process the next byte; and if the last byte has been processed, appending the current value of the CRC to the data set as a checksum.
申请公布号 US5390196(A) 申请公布日期 1995.02.14
申请号 US19920975311 申请日期 1992.11.12
申请人 BULL HN INFORMATION SYSTEMS INC. 发明人 CECIL, BRIAN D.;KAEMPER, EDMUND
分类号 H03M13/09;(IPC1-7):G06F11/12 主分类号 H03M13/09
代理机构 代理人
主权项
地址