|
|
Message-ID: <02c201cd5cb5$92741710$b75c4530$@net>
Date: Sat, 7 Jul 2012 21:58:36 -0500
From: "jfoug" <jfoug@....net>
To: <john-dev@...ts.openwall.com>
Subject: RE: RAdmin, SIP speedup
Here is an update to dynamic.
$ ../run/john -test=5 -form=dynamic_1010
Benchmarking: dynamic_1010 dynamic_1010: RAdmin v2.x MD5 [32/32 128x1
(MD5_Body)]... DONE
Raw: 2117K c/s real, 2122K c/s virtual
$ ../run/john -test=5 -form=dynamic_1011
Benchmarking: dynamic_1011 dynamic_1011: RAdmin v2.x MD5 [32/32 128x1
(MD5_Body)]... DONE
Raw: 2582K c/s real, 2587K c/s virtual
[List.Generic:dynamic_1011]
Expression=dynamic_1011: RAdmin v2.x MD5
Flag=MGF_NOTSSE2Safe
Flag=MGF_KEYS_INPUT
Func=DynamicFunc__set_input_len_100
Func=DynamicFunc__crypt_md5
Test=$dynamic_1011$B137F09CF92F465CABCA06AB1B283C1F:lastwolf
Test=$dynamic_1011$14e897b1a9354f875df51047bb1a0765:podebradka
Test=$dynamic_1011$02ba5e187e2589be6f80da0046aa7e3c:12345678
Test=$dynamic_1011$b4e13c7149ebde51e510959f30319ac7:firebaLL
Test=$dynamic_1011$3d2c8cae4621edf8abb081408569482b:yamaha12345
Test=$dynamic_1011$60cb8e411b02c10ecc3c98e29e830de8:xplicit
And here is the set_input_len_100(). It now keeps data from the prior
password cleaned up. No reason to memset the buffers each time (100bytes is
large for the memset).
void DynamicFunc__set_input_len_100()
{
unsigned j;
#ifdef MMX_COEF
if (dynamic_use_sse==1) {
exit(!!fprintf(stderr, "Error, in your DYNAMIC script.\nIt
is NOT valid to call DynamicFunc__set_input_len_100 in SSE2/MMX mode\n"));
}
#endif
for (j = 0; j < m_count; ++j)
{
unsigned char *cp;
#if MD5_X2
if (j&1)
cp =
&(input_buf_X86[j>>MD5_X2].x2.B2[total_len_X86[j]+1]);
else
#endif
cp =
&(input_buf_X86[j>>MD5_X2].x1.B[total_len_X86[j]+1]);
while (*cp)
*cp++ = 0;
total_len_X86[j] = 100;
}
}
Also, I see what you meant by the core, and I will get on it. I got the
same core, when I left the append_keys in the 1011 format. Dynamic
complains, stating that is an invalid operation, but then cores.
Jim.
>From: Solar Designer [mailto:solar@...nwall.com]
>
>Jim - by the way, if I remove the "Func=DynamicFunc__clean_input" line,
>I get not only a meaningful error message, but also a segfault. You
>could want to investigate this.
>
>Dynamic is slightly faster:
>
>Benchmarking: dynamic_1010 dynamic_1010: RAdmin v2.x MD5 [32/64 64x2
>(MD5_Body)]... DONE
>Raw: 3526K c/s real, 3526K c/s virtual
>
>However, RAadmin with OpenMP is faster yet:
>
>Benchmarking: RAdmin v2.x MD5 [32/64]... (8xOMP) DONE
>Raw: 10754K c/s real, 1344K c/s virtual
Yes, it is 'faster', but you are burning all 8 cores, for just a 3x
improvement, and with the dynamic changes I propose, you are probably only
get a 2.5x improvement, again, burning all 8 cores.
Jim.
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.