Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [day] [month] [year] [list]
Date: Wed, 28 Dec 2011 19:03:35 +0400
From: Solar Designer <>
Subject: faster DES-based tripcode cracking


I've just turned the proof-of-concept tripcode support in JtR into
something beyond a PoC.  The john-1.7.9-fastrip-1.diff patch currently
on the wiki and in the 1.7.9 download directory makes use of JtR's
bitslice DES implementation, including its OpenMP parallelization (if
enabled).  (A prerequisite for this was buffering and grouping of
candidate passwords by their DES-based crypt(3) salt as used in
tripcodes.  The patch implements such buffering and grouping as well.)

I post this to john-users because I think the patch is suitable for
end users.  I also cross-post it to john-dev in case there are comments
or/and questions on the source code changes.  Please post your followup
messages to one of these two lists as appropriate.

One setting to experiment with is TRIPCODE_SCALE, which is currently set
to 0x40 in the patch, but may be reasonably increased to 0x1000 (a lot
more buffering, which has both pros and cons).

Here are some benchmarks.  Non-OpenMP on E5420 (using one CPU core);

Benchmarking: Tripcode DES [128/128 BS SSE2-16]... DONE
Raw:    2449K c/s real, 2449K c/s virtual

OpenMP on 2xE5420 (8 cores):

Benchmarking: Tripcode DES [128/128 BS SSE2-16]... DONE
Raw:    10706K c/s real, 1343K c/s virtual

As you can see, there's still room for improvement as it relates to
OpenMP scaling.

$ ./john -i=all8 pw
Loaded 8 password hashes with no different salts (Tripcode DES [128/128 BS SSE2-16])
micemice         (Albright)
guesses: 1  time: 0:00:00:02  c/s: 44384K  trying: brunelbr - bobybrt1
guesses: 1  time: 0:00:00:05  c/s: 52560K  trying: mairkbuc - mongond5
guesses: 1  time: 0:00:00:07  c/s: 55192K  trying: sevope19 - sissol15
guesses: 1  time: 0:00:00:10  c/s: 57199K  trying: pspienit - psptlq99
guesses: 1  time: 0:00:00:27  c/s: 60778K  trying: solpaha* - sornfee!

For comparison, clean 1.7.9 (PoC tripcode support) on the same machine:

Benchmarking: Tripcode DES [48/64 4K]... DONE
Raw:    267008 c/s real, 267008 c/s virtual

$ ./john -i=all8 pw
Loaded 8 password hashes with no different salts (Tripcode DES [48/64 4K])
guesses: 0  time: 0:00:00:02  c/s: 2641K  trying: mcalas97 - mcalkell
guesses: 0  time: 0:00:00:04  c/s: 2696K  trying: menelsed - mene1702
micemice         (Albright)
guesses: 1  time: 0:00:00:07  c/s: 2660K  trying: mortle19 - morderat
guesses: 1  time: 0:00:00:27  c/s: 2477K  trying: buccublo - buccue-F


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.