[comp.unix.wizards] Crays and password cracking

ds@arson.cray.com (David Sielaff) (11/16/88)

In V6#016, jerry@olivey.olivetti.com (Jerry Aguirre) writes:
>Several people have mentioned using a Cray to crack passwords.  From
>what I have read, and from benchmark results, the Cray is not a very
>fast CPU for non-vector operations.  So, unless the password
>encryption can be vectorized, the Cray is not likely to be very fast at
>doing it.  Now maybe one of those Amdahl systems...

There may well be machines faster than Crays for scalar (non-vector)
operations, I don't know.  The benchmarks that I have seen have
generally concentrated on vector operations.  But if a 6.4 nanosecond
clock qualifies as "not very fast", I wonder what you need to be "fast" ;-)

I am probably somewhat biased as far as supercomputers go, but I in no
way speak for Cray Research, or anyone else for that matter.  My neighbor's
dog tells me what to do.

Dave Sielaff

P.S. I am a college student, and I am employed by Cray Research in the 
C Compiler Development group.  I guess that means you shouldn't trust
the Cray C Compiler, right ;->

khb%chiba@Sun.COM (Keith Bierman - Sun Tactical Engineering) (11/16/88)

In article <17550@adm.BRL.MIL> ds@arson.cray.com (David Sielaff) writes:
>In V6#016, jerry@olivey.olivetti.com (Jerry Aguirre) writes:
>>Several people have mentioned using a Cray to crack passwords.  From
>>what I have read, and from benchmark results, the Cray is not a very
>>fast CPU for non-vector operations.  So, unless the password
>>encryption can be vectorized, the Cray is not likely to be very fast at
>>doing it.  Now maybe one of those Amdahl systems...
>
>There may well be machines faster than Crays for scalar (non-vector)
>operations, I don't know.  The benchmarks that I have seen have
>generally concentrated on vector operations.  But if a 6.4 nanosecond
>clock qualifies as "not very fast", I wonder what you need to be "fast" ;-)
>

The Cray is quite probably the fastest scalar machine made and
designed by americans. Certain Japanese machines (remarketed by
Amdahl) are faster (from my personal experience) on both vector and
scalar operations.

Aside from the fast clock, there are multiple functional units (an
idea that can be traced to the CDC 6600 and its follow ons).

btw: password cracking is vectorizable.


Keith H. Bierman
It's Not My Fault ---- I Voted for Bill & Opus

trt@rti.UUCP (Thomas Truscott) (11/16/88)

I have been experimenting with vectorizing DES,
using James Ellis' suggestion of doing 64 encryptions at a time
rather than trying to vectorize a single encryption.
Here is the essence of the code:

    long long int code[64];	/* "long long" is 64 bits */
    long long int table[8][64];

    for (a whole bunch of times)
	for (i = 0; i < 64; i++)
	    code[i] ^= table[0][(code[i]>>(8*0))&03f]
		    ^= table[1][(code[i]>>(8*1))&03f]
		    ...
		    ^= table[7][(code[i]>>(8*7))&03f];

The "code>>" business extracts the different bytes out of "code",
I have experimented with a few different ways of doing that.

This code fully vectorizes on a Convex (no Crays were handy),
but unfortunately is only about 5x the speed of the scalar version.
I suspect that "indexed vector load" (or whatever it is really called)
is not very fast.  I know almost nothing about Convex optimization,
perhaps a Convex (or Cray) guru could help with this.
Until then I am stuck with Bob Baldwin's scalar version
which only gets 1000 trial enc ... uhm ... never mind.

I suppose this is (decades) old news for some people.
	Tom Truscott

carroll@s.cs.uiuc.edu (11/17/88)

/* Written  6:28 pm  Nov 15, 1988 by ds@arson.cray.com in s.cs.uiuc.edu:comp.unix.wizards */
/* ---------- "Crays and password cracking" ---------- */
In V6#016, jerry@olivey.olivetti.com (Jerry Aguirre) writes:
>(...) the Cray is not a very fast CPU for non-vector operations.

There may well be machines faster than Crays for scalar (non-vector)
operations, I don't know.  The benchmarks that I have seen have
generally concentrated on vector operations.  But if a 6.4 nanosecond
clock qualifies as "not very fast", I wonder what you need to be "fast" ;-)
Dave Sielaff
/* End of text from s.cs.uiuc.edu:comp.unix.wizards */

Ah, I think the problem here is 'fast' vs. 'fast/unit$'. There are a number
of machine faster *per dollar* than a Cray for *scalar* operations. What
that means is that for a fixed budget, you can get more scalar power for
cracking passwords. However, if you already have access to a Cray and/or
don't have to pay for it yourself, that's a different ball game.
P.S. Numbers - Cray cycle approx 5ns -> about 200 Mips. Sun workstation,
about 4 Mips. Factor of 50 in speed (*scalar*), but a Cray costs a lot
more than 50 times a 4Mips sun workstation.