You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Kai Zheng (JIRA)" <ji...@apache.org> on 2015/01/02 13:46:13 UTC

[jira] [Commented] (DIRKRB-2) [kerberos]org.apache.directory.server.kerberos.shared.crypto.encryption.ArcFourHmacMd5Encryption decryption function is not complete

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

Kai Zheng commented on DIRKRB-2:
--------------------------------

I believe we can update this when we finish importing Haox project, as RC4 with HMAC/MD5 is supported.

> [kerberos]org.apache.directory.server.kerberos.shared.crypto.encryption.ArcFourHmacMd5Encryption decryption function is not complete
> ------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DIRKRB-2
>                 URL: https://issues.apache.org/jira/browse/DIRKRB-2
>             Project: Directory Kerberos
>          Issue Type: Bug
>            Reporter: spark shen
>            Assignee: Emmanuel Lecharny
>             Fix For: 2.0.0-RC1
>
>
> According RFC 4757, ArcFourHmacMd5Encryption has the decryption algorithm as below:
> +++++ cite +++++
> DECRYPT (K, export, T, edata)
> {
>   // edata looks like
>   struct EDATA {
>     struct HEADER {
>       OCTET Checksum[16];
>       OCTET Confounder[8];
>     } Header;
>     OCTET Data[0];
>   } edata;
>   if (export){
>     *((DWORD *)(L40+10)) = T;
>     HMAC (K, L40, 14, K1);
>   }
>   else
>   {
>     HMAC (K, &T, 4, K1);
>   }
>   memcpy (K2, K1, 16);
>   if (export) memset (K1+7, 0xAB, 9);
>   K3 = HMAC (K1, edata.Checksum);
>   RC4 (K3, edata.Confounder);
>   RC4 (K3, edata.Data);
>   // verify generated and received checksums
>   checksum = HMAC (K2, concat(edata.Confounder, edata.Data));
>   if (checksum != edata.Checksum)
>   printf("CHECKSUM ERROR !!!!!!\n");
> }
> +++++ cite +++++
> Current implementation is apparently not complete:
> +++++ cite from bigbang +++++
> public byte[] getDecryptedData( EncryptionKey key, EncryptedData data, KeyUsage usage ) throws KerberosException
> {
>     return data.getCipher();
> }
> +++++ cite from bigbang +++++



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)