Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130206140328.GA25166@openwall.com>
Date: Wed, 6 Feb 2013 18:03:28 +0400
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: NTLMv1 and MSCHAPv2

On Tue, Feb 05, 2013 at 08:24:40PM +0100, magnum wrote:
> Sure thing, somehow I misread what you wrote. This is now fixed, threshold is 100 c/r pairs and this is printed:
> 
> 
> netntlm: Note: slow loading. For short runs, try netntlm-naive instead (using
> --format=netntlm-naive). That version loads faster but runs slower.
> 
> 
> MSCHAPv2 got the same fixes too.

Great.  Now should we adjust the format_name or algorithm_name for the
naive formats to indicate that they're naive (and different from the
newly sped up ones)?  I think we should.  Any specific suggestions?

Also, there's a problem on archs requiring alignment (and maybe a
slowdown on others).  On 32-bit SPARC:

Benchmarking: MSCHAPv2 C/R MD4 DES [32/32]... Bus error
Benchmarking: NTLMv1 C/R MD4 DES (ESS MD5) [32/32]... Bus error

The fix is to change 21 to 22 on this line:

static uchar (*crypt_key)[22]; // NT hash

in both formats.  21 guarantees misalignment for 16-bit accesses to
every other crypt_key element.  22 guarantees 16-bit alignment, as long
as the first element is aligned (and this is guaranteed by other means).

Benchmarks in qemu-system-sparc on bull, with JtR unstable-jumbo patched
as above and built with:

gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)

New:

Benchmarking: MSCHAPv2 C/R MD4 DES [32/32]... DONE
Many salts:     28033K c/s real, 28033K c/s virtual
Only one salt:  128760 c/s real, 128760 c/s virtual

Naive:

Benchmarking: MSCHAPv2 C/R MD4 DES [32/32]... DONE
Many salts:     102400 c/s real, 102400 c/s virtual
Only one salt:  46384 c/s real, 46384 c/s virtual

New:

Benchmarking: NTLMv1 C/R MD4 DES (ESS MD5) [32/32]... DONE
Many salts:     27577K c/s real, 27577K c/s virtual
Only one salt:  124704 c/s real, 124704 c/s virtual

Naive:

Benchmarking: NTLMv1 C/R MD4 DES (ESS MD5) [32/32]... DONE
Many salts:     106455 c/s real, 106455 c/s virtual
Only one salt:  48665 c/s real, 48665 c/s virtual

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.