Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 16 Jul 2013 18:38:52 +0400
From: Solar Designer <>
Subject: Re: Parallella: bcrypt


On Tue, Jul 16, 2013 at 03:12:02PM +0200, Katja Malvoni wrote:
> Self test - 822 c/s, with password.lst and pw-fake-unix 01:49:18, 820.9
> c/s, 3059 password hashes cracked, 9531 left (Loaded 3107 password hashes
> with 3107 different salts)

Somehow you were computing the full bcrypt output (184 data bits) on
Epiphany, yet checking only 32 bits of it.  I've just tried patching it
to compute 64 bits, and check 64 bits.  The speed appears to have
improved slightly, to 825 c/s.  Ideally, we'd also be computing and
checking the rest of bcrypt output in cmp_exact() - on the host CPU.
(It is OK to recompute the entire bcrypt on host in those rare cases.)
64 bits is good enough for now, though.  (32 bits was a bit low, with
non-negligible risk of false positives.)

I've attached my patch/hack implementing the 64-bit computation and

Also, I tried running on $2a$05 vs. $2a$10.  Here's the speed I get for
the latter:

solar@...aro-ubuntu-desktop:~/k/run$ wc -l w
1024 w
solar@...aro-ubuntu-desktop:~/k/run$ cat pw10
solar@...aro-ubuntu-desktop:~/k/run$ ./ -form=bcrypt-parallella -w=w pw10
Loaded 1 password hash (bcrypt-parallella, OpenBSD Blowfish [Parallella])
Press 'q' or Ctrl-C to abort, almost any other key for status
0g 0:00:00:34 100% 0g/s 29.68p/s 29.68c/s 29.68C/s pinkfloyd..raptor
Session completed

825/29.68/32 = 87% efficiency

So you might be able to make things up to 13% faster by optimizing the
communication, as well as code outside of the inner loop.


View attachment "john-parallella-bcrypt-64bit.diff" of type "text/plain" (2123 bytes)

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.