Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 20 Feb 2012 00:11:05 +0400
From: Solar Designer <>
Subject: Re: Bitsliced DES

On Mon, Feb 20, 2012 at 01:18:21AM +0530, Deepika Dutta Mishra wrote:
> Hi, I am deepika and I just joined your mailing list. Actually I want to
> use bitsliced DES for one of my projects so I wanted to learn about your
> implementation which is said to be the fastest bitsliced DES with optimized
> sbox expressions. I hope so you will help me in understanding bitslicing
> technique,  I have few questions as mentioned below, please do answer.

Since your questions are about JtR source code, they're slightly more
appropriate for the john-dev list rather than john-users.  In fact,
related questions were asked and answered on john-dev recently - you may
want to check the archives of john-dev first.

> --Does JTR do bitsliced DES using SSE and other vector processing
> instructions only or c codes are also there (though i can't find one)?

Both.  For example, when you build with "make generic", only C code is
used.  Ditto when you build for an architecture for which we have no
assembly code nor intrinsics (e.g., when you build on and for SPARC).
Also, when you build for 32-bit x86 without even MMX (e.g., with
linux-x86-any), the C-only bitslice DES code is used for LM hashes.

> --Is it possible to get sbox optimized expressions as used by JTR?

Sure, they're in nonstd.c and sboxes-s.c - but in C source code form.

> Reading from code is very difficult, if mathematical equations can be found?

We just did not bother to generate mathematical equations.  Why would
we?  Well, maybe just to show them in a paper.  For actual use, they're
not to be "read" - they just need to be correct (and they are) and they
have certain properties (specified in comments in the nonstd.c and
sboxes-s.c files).

That said, you may indeed generate them from the C files mentioned above.

> --Have you published any papers or is there any documentation of your
> implementation which can help in understanding your bitsliced DES code?

Unfortunately, no.  There are only the scarce source code comments and
past discussions on john-dev (where specific questions were asked and
answered).  If you have additional specific questions, you may ask those
on john-dev as well.

> Though I know the basic idea of bitslicing, I want to understand your
> implementation and use it according to my requirement as it is the most
> optimized code. I hope so you will not have any problem in answering my
> questions.

Sure.  On john-dev, please.


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.