Compute the CRC block per block instead of chaining it from the begining

When the CRC is chained, a corruption touching the CRC bytes would make
two blocks appear as corrupted (the current one and the next one).
By computing the CRC per block, only the CRC's block appears corrupted.

Signed-off-by: Patryck Rouleau <pfrouleau@gmail.com>