Есть массив данных, для которого получена CRC-контрольная сумма. Можно ли после изменения фрагмента массива обновить контрольную сумму без полного ее перерасчета. Ликбез по CRC вроде бы как наводит на мысль, что можно. Соображения такие: согласно Wiki (
http://en.wikipedia.org/wiki/Generator_polynomial), если отождествлять бинарные последовательности с полиномами из 
![$GF(2)[x]$ $GF(2)[x]$](https://dxdy-03.korotkov.co.uk/f/6/a/6/6a6be4ffc06e307f4304cae16a30d05f82.png)
, то полином 

, отвечающий контрольной сумме размера 

 бит, для данных, представленных полиномом 

,  должен находиться из условия:
 где 

 - некоторый фиксированный полином. 
Как я понимаю, пользуясь тем, что полиномы с операциями сложения и умножения по модулю 

 образуют кольцо, можно записать:

Тогда для полинома 

 фрагментарно измененного массива полином 

 его контрольной суммы можно представить как  
 где 

. 
Откуда вытекает, что для расчета CRC-контрольной суммы измененного массива достаточно:
1) выполнить побитовое вычитание фрагментов массива (соответствует нахождению 

); 
2) для полученной разности выполнить побитовый сдвиг влево на 

-разрядов (соответствует нахождению 

);  
3) полученный результат вычесть побитово из прежней контрольной суммы;
4) рассчитать остаток от деления на 

. Он и будет искомой обновленной контрольной суммой измененного массива.
Так ли это?