CRC-64

Started by Nonameabout 25 years ago1 messages
#1Noname
ncm@zembu.com

I have obtained the CRC-64 code used in the SWISS-PROT genetic
database:

ftp://ftp.ebi.ac.uk/pub/software/swissprot/Swissknife/SPcrc.tar.gz

(Thanks go to Henning Hermjakob <hhe@ebi.ac.uk> of the European
Bioinformatics Institute.) From the README:

The code in this package has been derived from the BTLib package
obtained from Christian Iseli <chris@ludwig-alpha.unil.ch>.
From his mail:

The reference is: W. H. Press, S. A. Teukolsky, W. T. Vetterling, and
B. P. Flannery, "Numerical recipes in C", 2nd ed., Cambridge University
Press. Pages 896ff.

The generator polynomial is x64 + x4 + x3 + x1 + 1.

Choosing a good polynomial is considered a black art. A good tutorial
on CRC practice is at

http://www.repairfaq.org/filipg/LINK/F_crc_v3.html

and there's a clear exposition of the theory in Tanenbaum's
"Computer Networks". Note that initialization is important, and
often neglected: one quality to check is, does a block of all zeroes,
and a zero CRC, come out as an error?

Nathan Myers
ncm@zembu.com