[2435] in cryptography@c2.net mail archive

home help back first fref pref prev next nref lref last post

Re: Biham's vectorized DES

daemon@ATHENA.MIT.EDU (C Matthew Curtin)
Tue Mar 31 23:41:25 1998

Date: Tue, 31 Mar 1998 23:19:47 -0500 (EST)
From: C Matthew Curtin <cmcurtin@interhack.net>
To: karn@qualcomm.com
Cc: cryptography@c2.net
In-Reply-To: <m0yK6XX-000HdbC@laptop.ka9q.ampr.org>
Reply-To: cmcurtin@interhack.net

>>>>> "Phil" == Phil Karn <karn@maggie.ka9q.AMPR.ORG> writes:

Phil> Has anybody looked at this?

We released a deschall client last summer that was inspired by this
method.  Darrell Kindred did some incredible work to speed up the
operation of our clients this way.

On a 167 MHz UltraSPARC, deschall client v0.214 was processing 669K
keys per second.  Darrell's bitslice client (which also had an S-Box
optimization from Rocke Verser), v0.215-dk003, ran at an incredible
2400K keys per second.  Benchmarks on a bunch of clients follow.

The observant among us will say "hey, even though the UltraSPARC is a
64-bit processor, Solaris is a 32-bit operating system."  Darrell's
bitslice implementation for Solaris is a "two-headed" client.  Two
processes are started, and work in tandem, one using the low-order 32
bits, and the other using the high-order 32-bits on the UltraSPARC's
processor.   Details are at
http://www.cs.cmu.edu/People/dkindred/des/twoheads.html
http://www.cs.cmu.edu/People/dkindred/des/bitslice.html 

Alpha 21164a 500MHz clone .... 5.336M keys per second -- bitslice v0.215dk002
DEC AlphaStation 600 5/333 ... 3.664M keys per second -- bitslice v0.215dk002
UltraSPARC 167 MHz ........... 2.400M keys per second -- bitslice v0.215dk003
HAL 385 (161 MHz Sparc64-II) . 2.350M keys per second -- bitslice v0.215dk002
SGI Onyx2 (194 MHz R10000) ... 2.114M keys per second -- bitslice v0.215dk002
Dual Pentium 200 MHz ......... 2.003M keys per second -- reported by user
AlphaStation 255/233 ......... 1.806M keys per second -- bitslice v0.215dk002
UMAX S900 250MHz 604e ........ 1.449M keys per second -- 6/5 -- user report
Sun Ultra Single CPU ......... 1.206M keys per second -- bitslice v0.215dk002
PowerMac 8500 200MHz 604e .... 1.095M keys per second -- reported by user
PowerBook 3400 240MHz 603e ... 1.086M keys per second -- 6/5 -- user report
Sun Ultra2 Dual CPU .......... 1.060M keys per second -- Sparc client
PowerMac 8500 180MHz 604e .....  990K keys per second -- reported by user
PentiumPro 166MHz .............  901K keys per second -- Linux P6 client
HP 9000/780C 180Mhz ...........  870K keys per second -- HP PA-RISC client
PentiumPro 180MHz .............  850K keys per second -- reported by user
Pentium 166MHz ................  835K keys per second -- OS/2 reported by user
SGI Indy (180 MHz R5000) ......  820K keys per second -- bitslice v0.215dk001
PowerBook 3400c 180MHz 603e ...  775K keys per second -- reported by user
Apple PowerPC 604 180 MHz .....  774K keys per second -- Linux client
Pentium 133 MHz ...............  662K keys per second -- Windows P5 client
Pentium 120 MHz ...............  600K keys per second -- Linux P5 client
DEC Alpha 3000/400 ............  600K keys per second -- bitslice v0.215dk001
Pentium 90 MHz ................  454K keys per second -- FreeBSD P5 client
Sun SS20-60 Dual CPU ..........  382K keys per second -- Sparc client
Performa 6215 100MHz 603e......  324K keys per second -- 6/5 -- user report
AMD 5x86-133 ..................  312K keys per second -- Linux P5 client
PowerMac 7500 100MHz 601.......  308K keys per second -- 6/4 -- user report
Pentium 60 ....................  302K keys per second -- Linux P5 client
HP 9000/715E 100 Mhz ..........  280K keys per second -- HP PA-RISC client
SparcStation IPX 4/50 .........  157K keys per second -- Sparc client
486-DX2/66 ....................  155K keys per second -- FreeBSD 486 client
486-DX2/66 ....................  153K keys per second -- OS/2 Warp 486 client
486-DX2/66 ....................  135K keys per second -- Windows 486 client
SparcStation IPC 4/40 .........   40K keys per second -- Sparc client

-- 
Matt Curtin cmcurtin@interhack.net http://www.interhack.net/people/cmcurtin/

home help back first fref pref prev next nref lref last post