Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150919133337.GA28688@openwall.com>
Date: Sat, 19 Sep 2015 16:33:37 +0300
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: fast hash early exit vs. large hash list

On Sat, Sep 19, 2015 at 12:17:13PM +0300, Aleksey Cherepanov wrote:
> Similarly, we know b61 here. b61 becomes a64 in the end. So it is
> possible to check 1 int 3 rounds earlier.

This is what we're doing now, but when cracking a large hash list this
lets a bit too many passwords proceed further.

> Check of 2 ints needs 1 more round.

This is probably something we should implement, unless we end up
reversing more rounds first.

> Check against millions of hashes may just need 2 ints, not fully
> stored state.

Yes, although in Fred's testcase 1.7+ million correct passwords (and
more than that with --fork and some duplication in post-rules
candidates) would proceed all the way to cmp_*() where we'd want to
check the full 128 bits.  Testing them with scalar code may consume a
second, which is like a few percent of the total running time, thus is
"significant". ;-)

> I did not try these formulas, they may be wrong.

john-devkit produced them for you?  Can it produce anything for
reversing beyond step 61?  Maybe if you tell it that some input words
are zero?  (Just curious of its capabilities.)

Alexander

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.