Tony Whyman wrote:
What has always surprised me is when CRCs are used outside of the communications domain. Arithmetic checksums can give similar performance with lower computational overhead and the same bit length. CRCs only really have the edge with communications because the error pattern is typically known for a given communications medium and the CRC can be tuned to the media in order to give better performance. Alternatively, when you have a more longer term or security need to protect integrity then message digests (like SHA-1) are what you should be using.
That is the important point. If looking at a communications channel (e.g. a file on disc, after the OS etc. has done its bit to promote reliability) where the error distribution is perfectly random then a checksum is a better test of correctness than a CRC. But a checksum is easily fooled if the channel is malicious, which gave rise to the various cryptographic message digest algorithms including SHA-1.
None of which really helps Juha, whose problem boils down to identifying which CRC algorithm he's using as the prerequisite to finding out whether its performance can be improved.
-- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal