Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Tue, 5 Jul 2011 17:57:33 -0500
From: "JFoug" <>
To: <>
Subject: Improved MSCash2 released

This version of DCC2 (mscash2) has now been released.  Magnum, myself and 
bartavelle all played a roll in this update.  It now is running 3x to 12x 
faster than before, depending upon compiler and CPU being run on.

Items of interst:

1. bug fixed in bench.c (was not calling prepare).
2. Rewote the core caching in cash2 format, drastically simplifying.
3. Removed inline crypt code (MD4/SHA1), and replaced with OpenSSL context 
4. Reduced 1/2 of the encryption in the 'core' inner loop.  20480 SHA1 crypt 
calls removed per password check.
5. Changed the signature of the format from M$salt#hash to 
$DCC2$iterations#salt#hash  Thus, the iterations are now 'variable' and not 
fixed at 10240 (in case M$ kicks this up in newer versions).
6. Simpilfied the -utf8 handling in the format.
7. Added SSE2 (both .S 32 bit and intrisic) support.  This is hooked into 
the deep inner loop only.
8. Added OMP support, even for SSE2. This is likely the first time OMP and 
SSE2 have been used at the same time in a format.  At this time, only 
intrisic SSE supports OMP. The asm code uses globals, and thus will not work 
multi threaded as it stands.    The code properly compile in (or out) the 
OMP code depending upon the SSE2 'flavor'.
9. The SSE2i and .S SSE2 interfaces were changed to help reduce redundant 
memory copying within this format.  Thus, a few format changes were made to 
other SHA1 formats, so that they stay compatibible with this new interface.
10. Some additions have been added to the memory debugging functions.
11. a little change needed to be done to the md5.h (so that proper 
'USE_OPENSSL' mode would work correctly).
12. the 'original' mscash2 has been moved to the ./src/unused directory.

A OMP build from ICC will now likely push 1600 on a 2 core system, or even 
up to 3200 or more on a 4 core.

NOTE, the patch file on the wiki,  is 
based against the john-1.7.8-jumbo-2-plugin format   That tarball is also 
found on the same wiki page.  At this time, the 'official' jumbo-2 is not a 
plugin build.   So to install this patch, first untar the jumbo-2-plugin 
from the wiki, then patch with this performance-cash2 patch.


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.