2.1.2 Cyclic Redundancy Check (CRC) Algorithms

A revision store file contains cyclic redundancy check (CRC) values that are used to ensure the integrity of the file. The algorithm used is given by the type of the revision store file.

File format

Algorithm

.one

The CRC is calculated using the algorithm specified by [RFC3309].

The CRC polynomial is:

CRC polynomial is X to the 32nd, + X to the 26th, + X to the 23rd, plus X to the 22nd, plus X to the 16th, plus X to the 12th, plus X to the 11th, plus X to the 10th, plus X to the 8th, plus X to the 7th, plus X to the 5th, plus X to the 4th, plus X to the 2nd, plus X to the first, plus 1

Normal representation for the polynomial is 0x04C11DB7.

For the purpose of ordering, the least significant bit of the 32-bit CRC is defined to be the coefficient of the x31 term. The 32-bit CRC register is initialized to all 1’s and once the data is processed, the CRC register is inverted. (1’s complement.)

.onetoc2

The CRC is calculated using the algorithm specified by MsoCrc32Compute, as specified in [MS-OSHARED] section 2.4.3.2.