title: How to calculate CRC32 over blocks that are splitted and buffered of a large data?
body: <p>Let's say I have a 1024kb data, which is 1kB buffered and transfered 1024 times from a transmitter to a receiver.</p>
  
  <p>The last buffer contains a calculated CRC32 value as the last 4 bytes.</p>
  
  <p>However, the receiver has to calculate the CRC32 buffer by buffer, because of the RAM constraints.</p>
  
  <p>I wonder how to apply a linear distributed addition of CRC32 calculations to match the total CRC32 value.</p>
  
  <p>I looked at CRC calculation and its distributive preference. The calculation and its linearity is not much clear to implement. </p>
  
  <p>So, is there a mathematical expression for addition of calculated CRC32s over buffers to match with the CRC32 result which is calculated over total?</p>
  
  <p>Such as:</p>
  
  <pre><code>int CRC32Total = 0;
  int CRC32[1024];
  for(int i = 0; i &lt; 1024; i++){
      CRC32Total = CRC32Total + CRC32[i];
  }
  </code></pre>
  
  <p>Kind Regards</p>