[ 
https://issues.apache.org/jira/browse/DIRKRB-27?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12910542#action_12910542
 ] 

Richard Feezel commented on DIRKRB-27:
--------------------------------------

java.util.zip.CRC32, according to the original submitter of this issue, does 
not implement the modified version of ISO-3309 as used by Kerberos.  Thus the 
need for an alternative.  The existing code tries to use java.util.zip.CRC32 
but appears to be disabled, I assume because it doesn't work right 
(inter-operate with MIT Kerberos).  Yesterday I made the necessary 
modifications to use my alternative CRC-32 implementation in the des-cbc-crc 
code but haven't gotten it to successfully inter-operate with the Sun Kerberos 
login yet.  I'll work on it some more today hopefully.

> [kerberos]org.apache.directory.server.kerberos.shared.crypto.encryption.DesCbcCrcEncryption
>  shall not use java.util.zip.CRC32 to generate CRC32 checksum
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DIRKRB-27
>                 URL: https://issues.apache.org/jira/browse/DIRKRB-27
>             Project: Directory Kerberos
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>            Reporter: Leo Li
>            Assignee: Emmanuel Lecharny
>             Fix For: 2.0.0
>
>         Attachments: Crc32Checksum.patch
>
>
> As in RFC3961 [Page 17]: 
> 6.1.3.  CRC-32 Checksum
> This CRC-32 checksum calculates a checksum based on a cyclic
>    redundancy check as described in ISO 3309 [CRC] but modified as
>    described below.  
> ...
> The CRC-32 checksum used in the des-cbc-crc encryption mode is
>    identical to the 32-bit FCS described in ISO 3309 with two
>    exceptions: The sum with the all-ones polynomial times x**k is
>    omitted, and the final remainder is not ones-complemented.  ISO 3309
>    describes the FCS in terms of bits, whereas this document describes
>    the Kerberos protocol in terms of octets.  To clarify the ISO 3309
>    definition for the purpose of computing the CRC-32 in the des-cbc-crc
>    encryption mode, the ordering of bits in each octet shall be assumed
>    to be LSB first.  Given this assumed ordering of bits within an
>    octet, the mapping of bits to polynomial coefficients shall be
>    identical to that specified in ISO 3309.
> And RFC 3961 also gives test data in its Appendix A.5:
> RFC 3961         Encryption and Checksum Specifications    February 2005
>    internally for such a number is irrelevant; the octet sequence
>    generated is what is important.)
>    mod-crc-32("foo") =                                     33 bc 32 73
>    mod-crc-32("test0123456789") =                          d6 88 3e b8
>    mod-crc-32("MASSACHVSETTS INSTITVTE OF TECHNOLOGY") =   f7 80 41 e3
>    mod-crc-32(8000) =                                      4b 98 83 3b
>    mod-crc-32(0008) =                                      32 88 db 0e
>    mod-crc-32(0080) =                                      20 83 b8 ed
>    mod-crc-32(80) =                                        20 83 b8 ed
>    mod-crc-32(80000000) =                                  3b b6 59 ed
>    mod-crc-32(00000001) =                                  96 30 07 77

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to