|
Message-ID: <006d01ccb36c$d0877580$71966080$@net>
Date: Mon, 5 Dec 2011 10:42:01 -0600
From: "jfoug" <jfoug@....net>
To: <john-dev@...ts.openwall.com>
Subject: 2 changes to dynamic format
I have posted patch 0035 to the wiki. This implements 2 changes to dynamic.
1. Faster keyloading.
2. Added 2 new hash functions. We were at 5, now we are at 7.
#1 was derived from code magnum did in raw-md5thick_fmt.c and nsldap_fmt.c
(md5 and sha1). For the SHA1, we also implemented a new swapping macro. I
have taken that macro, and placed it into it's own header file, johnswap.h
That macro will translate down to a single __asm bswap reg instruction on
many intel systems. On others, it uses the ROL(v,16); return
((v&magic)>>8)|(v<<8)&magic); method, which is faster than any other method
I have been shown. So there is a new header. I have also included
memory.c, using this header, and changed the alter_endianity function to use
it. NOTE, there are other places within john where we byte swap. Using
this header as a 'common' proper way to swap would be a good thing to do in
the near future.
This faster key loading will ONLY be done in the MGF_KEYS_INPUT type formats
(raw-md5, etc). Formats such as md5($p), md5(md5($p)), etc, can 'use' this
input method. For these methods, there is no temp variables for the keys,
they are stored 'raw' into the SSE buffers (this improvement is meaningless
in non-SSE builds).
#2 was attempted by magnum, in patch 0004, but he had problems for the pix
formats. I did some looking into it, and found that each MD5 'limb' in that
format does not provide enough valid data, to handle the 7th hashes. Thus,
for those 2 formats, we set that hash function to NULL. This fix will
allow a VERY large number of candidates to not slow down as much, hashing
better.
Jim.
Content of type "text/html" skipped
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.