[RC5] Fwd: MIT Cryptographic Effort

Rémi Guyomarch rguyom at mail.dotcom.fr
Wed Nov 26 21:14:36 EST 1997

Bojan Baros wrote:
> About Java, the problem in speed might be that it is not optimised for
> specific systesms. As I learned by now, each client, aside from being
> writen in some high-lvl lang, also has a machine specific code (assembly)
> which is faster, but as it is said, machine specific. e.g., machine code
> for 486 can be run on Pentium, put for full Pentium optimization, code
> will be changed and it won't be usable for 486.
> this is just "educated guess". Please correct or support me as you find
> fit.

The bovine client is written in C++. There is various versions of the
crunching routine, written in assembler for some architectures (x86,
PPC, Sparc, 680x0), written in C for others.

About the x86 cores : any x86 chip can run *any* x86 core, and produce
correct results. The difference between them is just instruction choice
and ordering. In simple words, you won't miss THE key if you run the
pentium-pro code on a pentium for example. You will check less keys per
second, that's all.

About Java : since there is so many different Java VM (to name a few :
Sun [x86 & Sparc], Netscape with JIT or not, IBM, Apple, Microsoft,
Symantec (same as Netscape?), Borland, kaffe), optimized Java client
will appear. But I don't think a Java client, even optimized like crazy,
could catch-up with hand-optimized assembler.

AFAIK, JIT technology is only available on x86 and Sparc (+ Alpha &
680x0 with Kaffe). On these architectures we have hand-optimized
assembly code available, with the exception of Alpha, where the
crunching routine is in C.
It could be interesting to compare the Alpha client to a java
implementation with the kaffe VM for Alpha...

Rémi		Don't waste your computer's time. Distribute it!
To unsubcribe, send 'unsubscribe rc5' to majordomo at llamas.net
rc5-digest subscribers replace rc5 with rc5-digest

More information about the rc5 mailing list