[rc5] Java and RC5

Steve Trottier STROTTIER at novell.com
Tue Nov 11 09:34:56 EST 1997

Bravo to Greg for getting the RC5 applet thing put together! It has provided
some interesting statistics.

I have four observations about Java and RC5:

First, the obligatory stats on the applet... My Pentium Pro 200 running NT
4.0 Workstation and Netscape Communicator 4.03 gets 116556 keys/sec. On the
regular Win32 GUI client I normally get about 470000 keys/sec. That means
that this Java applet is getting about 25% of what the assembly optimized
version is getting. This is much better than I had expected from Java. Good
work, Greg.

Second, it is possible to get much higher keyrates (close to the assembly
optimized keyrates) on either an applet or a Java application by leaving the
computational core of the thing in assembly and accessing it as a Native
Method from Java. Of course, in a scenario like this you would still need to
have different cores for different CPUs and OSes, but it could work much the
same as the current clients do which let you choose which optimized core you
want to run.

Third, if anyone is planning on getting an applet like this to do real work
for us you need to keep in mind that applets are only allowed to communicate
through the network with the host that they were loaded from. So, there
would need to be a type of proxy running on the same machine as the web
server that the applet is on. The proxy could communicate with both the
applet and with the regular key servers to distribute valid keys to the
applet and report back the results. Also, the applet can't write to disk, so
buff files are out. Each keyblock would need to either be reported back
immediately when finished or stored in memory until it could be.

Fourth, it might make more sense to use a Java application rather than an
applet. In this way it could read and write buff and ini files and talk
directly to a key server. Everything except the actual key crunching could
be written just one time in Java (disk access, ini file stuff, networking,
etc) and then the current assembly cores put in and in theory the thing
should work as well as the current clients and at the same time cut down on
the amount of porting work that is currently going on. There is a Java
Runtime Environment (JRE) available for most OSes and it is easy to install
and is free.

I know that members of the Bovine team have said that the RC5 project isn't
the place for Java, and I'm not looking for an argument really, but what
Greg has put together IS interesting and provides some very real

Steve Trottier <strottier at novell.com>
PGP encrypted email welcome. Get my public key (5.0) at:
To unsubscribe, send email to majordomo at llamas.net with 'unsubscribe rc5' in the body.

More information about the rc5 mailing list