Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Thu, 9 Feb 2012 10:14:54 +0400
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: Using JtR code in personal project

On Wed, Feb 08, 2012 at 03:52:03PM -0500, Jordan Bradley wrote:
> I'm working on a distributed tripcode cracking program and have started 
> looking into using OpenMP instead of pthreads for multithreading support 
> since that's what JtR uses. I'm looking at the jumbo sources and I see 
> I'd use trip_fmt.c, and any files it includes but I'm not sure how to 
> use the functions to go from "simpson" to "Rk7VUsDT2U".

It is unreasonable for JtR to waste time on producing a full
ASCII-encoded ciphertext like that, so it does not.  Instead, it goes
from both candidate passwords such as "simpson" and ciphertexts that
it loads such as "Rk7VUsDT2U" to intermediate binary representations,
and it compares these in efficient ways.  It does not even waste time on
comparing every computed tripcode against every tripcode loaded for
cracking directly - instead, it uses either a logarithmic complexity
algorithm in DES_bs_cmp_all() or hash table lookups (depending on how
many tripcodes you load at once).  (Post-1.7.9 code, not yet released,
also uses bitmap lookups before hash table lookups.)

I suggest that you start by reading the comments in formats.h - these
very briefly document what the format-provided functions do.

What version of trip_fmt.c are you looking at?  Please note that the one
in the 1.7.9 release and 1.7.9-jumbo-5 (still latest released as of this
writing) does not yet use bitslice DES for tripcodes.  I implemented
that later, and it's now in magnum's jumbo tree.  Are you looking at
that?  If so, it's fine, although as an alternative, you may take clean
1.7.9 and apply the fastrip patch announced here:

http://www.openwall.com/lists/john-users/2011/12/28/1

That way, you'll have less source code total, which might make it easier
for you not to be distracted by irrelevant code.

I hope this helps.

Alexander

Powered by blists - more mailing lists

Your e-mail address:

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