Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 17 Dec 2011 22:01:24 +0530
From: piyush mittal <piyush.cse29@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: Bit slice implementation of DES based hashes

>
> Why?  If you only have one fixed key to use (note: I did not check
> whether this is the case or not), then you can simply call the existing
> DES_bs_set_key() with that key for all bit layers (0 to DES_BS_DEPTH-1)
> in init().
>



Yes, that is true that we can call  DES_bs_set_key() with same fixed key
for all layers.But what about different plain text that we need i.e if we
see into struct fmt_main initialisation it sends all stored list of
password through method set_key().In order to solve this problem existing
oracle code is using the same function to get different plain texts(i.e
password).and finally encrypting the all using a single function
DES_ncbc_encrypt().

I have also planned to do in a similar way.


As I suggested, DES_bs_crypt_LM() is a closer match.  DES_bs_crypt()
> adds salts and iterations, which you don't need.
>

No.Salt and iterations also exist in oracle.Salt here is user name and we
need two iterations.Let me summarise you what actually going on.


1.Concatenate user name(i.e salt) and password to get plain text string(i.e
input plain text for DES).
2.Encrypt plain text string in CBC mode using fixed key 0x0123456789ABCDEF.
3.Encrypt the plain text string again in CBC mode but using the last block
of o/p of previous step as the encryption key.

so if I will apply DES_bs_crypt_LM() then step 2 can be done but step 3
again needs number of modifications

I will try my best to get the same optimum o/p

Thanks


On Sat, Dec 17, 2011 at 6:28 PM, Solar Designer <solar@...nwall.com> wrote:

> Piyush -
>
> On Sat, Dec 17, 2011 at 02:33:51PM +0530, piyush mittal wrote:
> > Also one more difficulty I am facing is that in Oracle hashes key is
> fixed
> > i.e 0x123456789ABCDEF and therefore in JTR we need to brute force by
> taking
> > different plain text to get the same cipher text.However in other
> > implementations of  Bit slice DES like LM, BSDI,Traditional DES, the key
> is
> > not fixed but plain text is fixed
>
> Yes, but this should be no problem for you.
>
> > so accordingly all the functions are
> > defined and therefore I can't reuse the same code.
>
> Why not?  From what you wrote above, it sounds like you simply need an
> extra function to set the initial DES block, but then you can use a
> trivial variation of the existing DES_bs_crypt_LM() as I had suggested.
>
> > Now I need to make
> > separate functions for oracle.Some of the functions that I need to change
> > are as follows
> >
> > DES_bs_set_key()
>
> Why?  If you only have one fixed key to use (note: I did not check
> whether this is the case or not), then you can simply call the existing
> DES_bs_set_key() with that key for all bit layers (0 to DES_BS_DEPTH-1)
> in init().
>
> > DES_bs_clear_keys()
>
> Please update to 1.7.9-jumbo-5.  There's no DES_bs_clear_keys() in
> 1.7.9+, and there have been other changes to the bitslice DES code as
> well.  Your patch should be against 1.7.9+'ish code.
>
> > DES_bs_crypt()
>
> As I suggested, DES_bs_crypt_LM() is a closer match.  DES_bs_crypt()
> adds salts and iterations, which you don't need.
>
> > However I am working on it but it will take little extra time.
>
> OK.  Thank you for the status update!
>
> Alexander
>



-- 
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

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