Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [day] [month] [year] [list]
Date: Mon, 14 Jun 2010 09:29:07 +0400
From: Solar Designer <>
Subject: JtR 1.7.6


I've just released John the Ripper 1.7.6:

The additions and changes since 1.7.5 are as follows:

* Generic crypt(3) support (enabled with "--format=crypt") has been
added for auditing password hash types supported by the system but not
yet supported by John's own optimized cryptographic routines (such as
"SHA-crypt" and SunMD5).

* Optional parallelization of the above has been implemented by means of
OpenMP along with glibc's crypt_r(3) or Solaris' MT-safe crypt(3C).

* Optional parallelization of John's own optimized code for the
OpenBSD-style Blowfish-based crypt(3) (bcrypt) hashes with OpenMP has
been added.

* A more suitable version of 32-bit x86 assembly code for Blowfish is
now chosen on Core i7 and similar CPUs (when they happen to run a 32-bit
build of John).

* More optimal DES S-box expressions for PowerPC with AltiVec (making
use of the conditional select operation) contributed by Dumplinger Boy
(Dango-Chu) have been integrated.

* The bitslice DES C source code has been reworked to allow for the use
of arbitrary SIMD intrinsics, which was previously only implemented for
AltiVec as a special case.

* Support for SSE2 and MMX intrinsics with bitslice DES (as an
alternative to the supplied assembly code) has been added (currently
only enabled for SSE2 on x86-64 when compiling with GCC 4.4+).

* Support for mixed-type longer virtual vectors (such as SSE2+MMX,
SSE2+ALU, AltiVec+ALU, and other combinations) with bitslice DES has
been added (not enabled by default yet, primarily intended for easy
benchmarks on future CPUs, with future compiler versions, with even more
SIMD instruction sets, and with different DES S-box expressions that
might be available in the future).

* The obsolete 32-bit SPARC assembly implementation of DES has been

* The loader will now detect password hashes specified on a line on
their own, not only as part of an /etc/passwd or PWDUMP format file.

* When run in "--stdin" mode and reading candidate passwords from a
terminal (to be typed by the user), John will no longer mess with the
terminal settings.

* John will now restore terminal settings not only on normal termination
or interrupt, but also when forcibly interrupted with two Ctrl-C

And one last change that was supposed to be in 1.7.5, but it was not:

* A new numeric variable has been added to the word mangling rules
engine: "p" for position of the character last found with the "/" or "%"

I'd like to thank Dumplinger Boy (Dango-Chu) for the S-box expressions,
and Erik Winkler for testing the AltiVec+ALU vectors (which didn't
provide a speedup, unfortunately, at least not on a G5 with a specific
version of GCC).  So right now the default on PowerPC/AltiVec is to use
Dango-Chu's S-boxes as-is (although the source code has been reworked),
which obviously does provide a speedup over the previous version.

The weird vector types (on x86, x86-64, and PowerPC) may now be easily
enabled by editing the #if's in the corresponding .h files.  Please feel
free to experiment with this.  I am especially interested in SSE2+MMX
and SSE2+ALU benchmarks on AMD processors when building with GCC 4.5
since my testing was mostly limited to Intel CPUs.



P.S. I haven't updated the jumbo patch to 1.7.6 yet.  I intend to.  The
patch for 1.7.5 is not expected to apply and work as-is, so please don't
waste your time unless you're into source code hacking.

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.