commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Bourg (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CODEC-171) Add support for CRC32-C
Date Thu, 30 May 2013 15:52:20 GMT

    [ https://issues.apache.org/jira/browse/CODEC-171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13670435#comment-13670435
] 

Emmanuel Bourg commented on CODEC-171:
--------------------------------------

According to Wikipedia:

http://en.wikipedia.org/wiki/Cyclic_redundancy_check#Commonly_used_and_standardized_CRCs

{quote}Numerous varieties of cyclic redundancy checks have been incorporated into technical
standards. By no means does one algorithm, or one of each degree, suit every purpose; Koopman
and Chakravarty recommend selecting a polynomial according to the application requirements
and the expected distribution of message lengths.[7] The number of distinct CRCs in use has
confused developers, a situation which authors have sought to address.[5] There are three
polynomials reported for CRC-12,[7] sixteen conflicting definitions of CRC-16, and six of
CRC-32.[8]

The polynomials commonly applied are not the most efficient ones possible. Between 1993 and
2004, Koopman, Castagnoli and others surveyed the space of polynomials up to 16 bits,[7] and
of 24 and 32 bits,[9][10] finding examples that have much better performance (in terms of
Hamming distance for a given message size) than the polynomials of earlier protocols, and
publishing the best of these with the aim of improving the error detection capacity of future
standards.[10] In particular, iSCSI and SCTP have adopted one of the findings of this research,
the CRC-32C (Castagnoli) polynomial.{quote}

I didn't know there were several flavors of CRC32. CRC32C is simply a variation producing
different results.

                
> Add support for CRC32-C
> -----------------------
>
>                 Key: CODEC-171
>                 URL: https://issues.apache.org/jira/browse/CODEC-171
>             Project: Commons Codec
>          Issue Type: Improvement
>            Reporter: Brett Okken
>
> Add a java CRC32-C java.util.zip.Checksum implementation.
> There is a PureJavaCrc32C implementation that is part of apache-hadoop-common. It would
be great to have that more easily consummable with far fewer transitive dependencies.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message