Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 20 Dec 2011 14:39:50 +0400
From: Solar Designer <>
Subject: Re: Bit slice implementation of DES based hashes

On Tue, Dec 20, 2011 at 08:16:53AM +0530, piyush mittal wrote:
> Implementation is completed and I have used Unicodes as well and that is
> working fine but I am getting self test failed this is because the
> implementation is not fully correct.

Well, then you don't know if it's in fact completed or not.  It might as
well be totally wrong, needing a complete rewrite before it can work.

Please try to get it working for at least one test vector.

> The crypt function of LM on which this
> implem. is based upon have ECB mode.

It does not have any mode.  It is a single DES encryption.

> but in oracle we need CBC,

Like I said before, you may implement CBC mode externally to that function.

> char *plain_salt_mix=utf16_to_utf8(cur_salt); //cur_salt is a combination
> of (username+password) in UTF 16
> length=strlen(plain_salt_mix);
> *
> *for(i=0;i<length;i++)
> DES_bs_all.B[i][0]=plain_salt_mix[i];
> for(j=i;i<64-length;i++)
> DES_bs_all.B[i][0]=0;
> Is this correct?

I don't understand what you're trying to achieve with this, but it can't
possibly be correct.

Let's get back to the basics:

Can you please describe what bitslicing is, in your own words?

What portion(s) of the DES block(s) does each element of B[] hold?

What portion(s) of the DES key(s) does each element of K[] hold?



Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.