Fast 64-bit keysearch engine

Darrell Kindred (
Mon, 28 Apr 1997 23:52:01 -0400

Hi folks,

Over the weekend I implemented a variant of Biham's
bit-parallel DES method that gives substantially better
keysearch performance on 64-bit machines than any available
DES-cracker I'm aware of. Here are some preliminary timings:

Digital AlphaStation 255/300
My bitslice code: 1182k keys/sec
DESCHALL alpha-decunix client: 574k keys/sec
DV Group's alpha-dux client: 483k keys/sec
SolNet alpha-osf client: 427k keys/sec
Matthew Kwan's bitslice code: 361k keys/sec

Digital AlphaStation 600 5/333
My bitslice code: 2140k keys/sec
DESCHALL alpha-decunix client: 907k keys/sec
DV Group's alpha client: 775k keys/sec
SolNet alpha-osf client: 677k keys/sec
Matthew Kwan's bitslice code: 1720k keys/sec

SGI Onyx (194MHz R10000), IRIX 6.2
My bitslice code: 1430k keys/sec
DESCHALL irix6.2-mips client: 823k keys/sec
DV Group's irix62-cord client: 555k keys/sec
SolNet alpha-osf client: 589k keys/sec
Matthew Kwan's bitslice code: 753k keys/sec

As you can see, it runs roughly twice as fast as the
DESCHALL client on these machines. I'd really like to put
this code to work for DESCHALL! At CMU alone, we could
boost the search by at least a trillion keys per day by
switching Alphas and SGIs to the faster engine.

I'm willing to work on integrating this engine with the
DESCHALL client code; please let me know whether you're

I'm told that the Sparc Ultras can run 64-bit code too,
under Solaris 2.6, but I don't have access to such a
machine. If anyone else does, please let me know and
we can try it out.

- Darrell

p.s. System config details:

Digital AlphaStation 255/300:
CPU: 21064A, 300MHz, cache: 16+16k L1, 1M L2 on-board

Digital AlphaStation 600 5/333:
CPU: 21164, 333MHz, cache: 16+16k L1, 96k L2 on-chip, 4M L3
(I believe the large on-chip cache is what allows Kwan's
code to do reasonably well on this machine.)

SGI Onyx:
CPUs: 2 x R10000 (only used one), 194MHz, cache: 64k L1, 1M L2