Subject: Re: rc5des on NetBSD/vax
To: Dave McGuire , Brian D Chase <firstname.lastname@example.org>
From: Ignatios Souvatzis <email@example.com>
Date: 02/23/1999 11:25:31
On Sun, Feb 21, 1999 at 04:13:18PM -0500, Dave McGuire wrote:
> Since this has come up before, here's the info on which my statement was
> based, from distributed.net's rc5 faq:
> > Why are Intel and PowerPC computers so much faster than other
> > platforms?
> > Integral to the mathematics of the RC5 algorithm are 32-bit rotate
> > operations. For whatever reason, the designers of the x86 and the
> > PowerPC architectures decided to implement the rotate function as a
> > hardware instruction. Many other CPUs do not have built-in hardware
> > rotate instructions and must emulate the operation by (at the very
> > least) two shifts and a logical OR. This handicap is why many
> > non-Intel and non-PowerPC computers run RC5 slower than one might
> > expect based on real-world benchmarks. It is also the main reason why
> > the RC5 client is a poor benchmark to use in determining the speed or
> > performance of a particular CPU.
Well, the best-performing per MHZ of CPU clock is the Motorola 68060, if
you write a core in hand assembler that tries two keys at once.
I did that for the rc5-56 contest, and as (the predecessor of) distributed.net
was incommunicado, I finally offered it to the Swedish distributed cracking
As far as I know, the only Motorola 68k code available for Unix from
distributed.net is still 25% slower than my code. (Although an "Amiga team"
member claimed that the experimental code he is working on does 1 or 2% better
than mine, but I can't verify that code is distributed, and can't use it
on NetBSD, again as distributed.net has a strict binary-only policy and
doesn't talk to outsiders about source).
(Yes, the same core can be used for rc5-56 and rc5-64, with only a small
change in the loop termination. You need to change the core for rc5-72).