|
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.