Параметр dwPrevCRC в функции GrdCRC

В справке по Guardant API написано следующее:

параметр dwPrevCRC при подсчете CRC каждого следующего участка нужно занести CRC, подсчитанный на предыдущем этапе. Иначе параметр dwPrevCRC должен содержать -1 (константа Grd_StartCRC).

В обучающих уроках используется параметр 0, когда выполняется проверка существования ЭЦП.

Поясните, пожалуйста, этот момент. Есть ли разница в использовании 0 или -1 в качестве этого параметра?

Re: Параметр dwPrevCRC в функции GrdCRC

Наиболее частые начальные значения CRC32, используемые на практике,  это -1 и 0.

Если не делается ни каких предположений относительно содержания сообщения, то начальное значение не влияет на стойкость CRC, а является лишь точкой отсчёта, с которой алгоритм начинает работать.

Однако, на практике некоторые сообщения более вероятны, чем другие. В частности, любые CRC алгоритмы, которые инициализируются нулевым значением, будут иметь "слепое пятно" в отношении нулевых байтов в начале сообщения и не смогут оценить их количество. Иначе говоря, внутреннее значение CRC меняться не будет. А так как в начале сообщения нулевые байты встречаются достаточно часто, разумнее инициализировать алгоритм значением, отличным от нуля.