Is there an algorithm for calculating an "ongoing" or "incremental" checksum on a stream of data where you get given it in blocks and don't keep previous blocks around?
That is: I get sent block A and its checksum, calculate the checksum from block A and check it, then remember checksum(A) and throw away block A. Then I get sent block B and checksum(A+B), and I use checksum(A) and block B to calculate the new checksum, and they're the same?
CRC might do this? I am confused.