next up previous FITS Documents
Next: Error Correcting Algorithms Up: Alternate Checksum Algorithms Previous: Digital Signatures

Fletcher's Checksum

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.


next up previous FITS Documents
Next: Error Correcting Algorithms Up: Alternate Checksum Algorithms Previous: Digital Signatures