One other checksum algorithm shows some promise of being embeddable in
an ASCII *FITS* header. This is *Fletcher's checksum* (ref. 16-18)
which is a variant of the 1's complement checksum that is tuned to trap
bit error patterns similar to those trapped by a CRC. It is somewhat
slower than the 1's complement checksum and more finicky to implement.
The checksum is divided into two (16 bit) pieces--a straight 1's complement
sum and a higher order sum of the running sums. The procedure for updating
the two checksum fields (zeroing the checksum of the file) involves solving
a pair of simultaneous equations. ASCII encoding the checksum would require
an iterative solution spread over the four separate ASCII encoded integer
words (and including the constraint of the hex 30 offset). Incremental
updating of the checksum would incur a similar penalty for each word of
the *FITS* file that was modified.

The added complexity and overhead of handling Fletcher's checksum
(see ref. 17-18) are unwarranted for *FITS*, at least as the default
algorithm, but this checksum is an interesting possibility for binary
applications. Other checksums are also options in the binary case,
especially if the checksum fields can be located at the end of the file,
which simplifies the arithmetic significantly.

FITS Documents