Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 20 Dec 2011 20:17:24 +0530
From: piyush mittal <piyush.cse29@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: Bit slice implementation of DES based hashes

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

Even proof of ECB i got from netlm format.So how you are saying it does not
have any mode???

Here for each 7 byte half of 14 byte User name is encoded in ECB mode that
finally led to 16 Byte lm hash.


// Generate 16-byte LM hash
    setup_des_key(saved_plain[index], &ks);
    *DES_ecb_encrypt*((DES_cblock*)magic, (DES_cblock*)saved_key[index],
&ks, DES_ENCRYPT);
    setup_des_key(&saved_plain[index][7], &ks);
    *DES_ecb_encrypt*((DES_cblock*)magic,
(DES_cblock*)&saved_key[index][8], &ks, DES_ENCRYPT);

 It is a single DES encryption.
>


However why it looks in single DES encryption mode is because of the way of
calling S Boxes.



On Tue, Dec 20, 2011 at 5:56 PM, piyush mittal <piyush.cse29@...il.com>wrote:

> Can you please describe what bitslicing is, in your own words?
>>
>
> In Bitslicing ,all combination of bits operates simultaneously and
> parallelly  i.e  each bit will behave as a different processor.The same
> concept we are using here in DES.Like in 64 bit machine 64 plain text's
> encryption can be done simultaneously and parrallely.However here we have
> used non standard implementation of DES i.e structure of DES is broken down
> into AND,OR NOR.. gates to further increase the speed.
>
>
> 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?
>>
>>
> 64 elements of  block is holded by each element of B[]
> 56 elements of block is holded by each element of K[]
>
>
>
> It does not have any mode.  It is a single DES encryption.
>>
>
> I can't predict directly from the code but I have read from its algo.
>
> Now I am starting NETLM_fmt.c and Oracle code I will also give you after
> it.
> Now I will not inquire further questions to you.
>
>
> Thanks a lot.
>
>
>
>
>
>
>
> On Tue, Dec 20, 2011 at 4:09 PM, Solar Designer <solar@...nwall.com>wrote:
>
>> 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?
>>
>> Thanks,
>>
>> Alexander
>>
>
>
>
> --
> Piyush Mittal
> Department of Computer Science and Engineering
> National Institute of Technology,Rourkela
> INDIA
>
>
>


-- 
Piyush Mittal
Department of Computer Science and Engineering
National Institute of Technology,Rourkela
INDIA

[ CONTENT OF TYPE text/html SKIPPED ]

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ