What is it?
Thousands of teams are forming on the Internet to
compete in a world-wide competition (code-named "Project Bovine") in an attempt
to crack a 64-bit RSA security key in order to show our support for longer key lengths.
The winning team will receive some cash along with the satisfaction of finding that one
key out of a possible 18,446,744,073,709,551,616 keys. RSA Labs has put up a US $10,000
prize for finding the key. From the winnings, $2000 will go to the individual who
found the key, $6000 will go to a non-profit organization of the team's choice, and $2000
will go to distributed.net to help out with the expenses of running this competition, as
well as future competitions.
About Team Win32
Team Win32 was formed to show our support for
Microsoft's family of operating systems. Windows lead the race in the previous
56-bit competition. In fact, the winning key was ultimately found by a computer running
Windows NT 4.0 Workstation. Once again, Windows has already taken a substantial lead in
this new 64-bit competition. The Windows platform has over four times the support of the
next leading operating system (http://rc5stats.distributed.net/oslist.html)
and is growing daily. Currently, only a small percentage of all competing Windows users
have actually joined Team Win32. However, this small fraction of users has been enough to
push Team Win32 near the top of the team chart.
Come join Team Win32! Have some fun, crack some
keys, and support the world's leading operating systems.
How does it work?
To help find the magic key, you just need to run a
small program in the "background" on each of your computers. The process runs at
a very low priority and will only process keys during times when your CPU is sitting idle.
Due to the excellent multitasking capabilities of Windows 95 and Windows NT, it will not
affect system performance at all. There are clients for just about every CPU and OS
imaginable. Check out http://www.distributed.net/download/clients.html
for a complete list.
The program will automatically go out to a key
server on the Internet and grab several blocks of keys. The program will then churn on
those key blocks in the background until they have all been processed. Once processed, the
results are sent back to the key server and new blocks are downloaded for processing.
All completed blocks that are sent to the server
are associated with a user name so that you can get credit for completing them. Each user
also gets to join a team of their choice, which allows their completed blocks to count for
the user as well as for their team. The Project Bovine statistics page (http://n0cgi.distributed.net/statistics/) provides
detailed statistics on how many blocks were completed by each user, as well as by each
Make sure you join Team Win32, or your efforts
will not count towards our team more on this below.
Sounds Cool! How do I install it?
It is fairly easy to get started. First, you need
to download a "client" program. Check out http://www.distributed.net/download/clients.html
for a complete list of clients. For Windows 95 and Windows NT, there are several options.
You can use the command line interface (CLI) client, the graphical user interface (GUI)
client, or the NT service client. From experience, the CLI client seems to process keys
about 10% faster than the GUI client. Download the client of your choice and stick it in
some local directory, like C:\RC5, on each of your computers.
Next, you need to configure the client. For the
GUI client, just run RC564GUI.EXE from your local directory and press the Enter Client
Configuration button from the main dialog. For the CLI version, run "RC564.EXE
-config" to bring up the configuration menu. For the NT service client, refer to the
SERVICE.TXT file for information on installation and configuration. The configuration
menus differ slightly between the GUI and CLI clients, but most of the main options are
the same. Here is an overview of those options (refer to the README.TXT file that
comes with your client for full documentation):
Email Address (GUI) / Email to report as
In this field, you should put your email address.
This is the address that the completed blocks will be credited to. This email address must
be a valid address that you receive mail to since you will be sent a password to it which
later allows you to join a team. By default, each new user starts off with no team
affiliation. Please read the section below on how to join Team Win32, or your efforts will
not help us. If you do not wish to use your email address or don't want to mess around
with adding yourself to our team, then you can just put "Windows@pobox.com" in
this field. This will ensure that all your completed key blocks make it to Team Win32.
Network mode (GUI) / Network communication
If you are directly connected to the Internet
(like dial-up to an Internet Service Provider), you should choose "1) I can
communicate freely to the Internet on all ports". If you are using Microsoft Winsock
Proxy, you should set this field to "2) I can communicate freely on telnet
ports". Otherwise, if you are working through a proxy or firewall (like many
companies do), then you should set this field to "4) I have a local HTTP proxy that I
go through" and set KeyServer to "rc5proxy.distributed.net". The HTTP
proxy field and Port field (usually 80) need to be configured according to
your companys proxy settings. Usually you can check the "Connection"
settings of your Internet browser or ask your administrator to get this information.
Log to file (GUI) / File to log to (CLI)
This field is optional. If you set a file name,
then all progress information will be saved to a log file.
Execution priority (GUI) / Level of
niceness to run at (CLI)
This field should be set to "0) (recomended)
Very nice, should not interfere with any other process".
Optimize for CPU type (GUI) / Optimize
performance for CPU type (CLI)
This field can be set to "Autodetect",
but it is recommended to actually select the type of CPU you have since the Autodetect
feature can potentially pick the wrong CPU type.
Automatically launch client as startup
This field is optional. If you check this box,
then the client will start as a service before you even log in.
When autolaunched, run hidden and without
system tray icon (GUI)
This field is optional. If you check this box,
then the client will run in "stealth" mode by not being visible to the user.
Blocks to Buffer Input and Output (GUI and
These two fields tell the client how many key
blocks to grab from the key server at a given time, and how many completed blocks to store
up before sending the results back to the key server. If you are connected to the internet
all the time (like at work), you can usually choose small numbers (between 5 and 25) for
both of these values. If you have a computer that is not connected to the Internet all the
time (like at home), you can choose a large value for both fields. Even on fast machines,
200 blocks should last you close to 24 hours. Then, every day or so, you can connect to
the Internet and force a "Flush" of completed blocks and a "Fetch" to
grab new blocks, and then disconnect from the net and be good for another day of offline
Once configured, you can save your settings and
finally begin cracking keys! For the GUI client, press Ok in the configuration
dialog and then press Begin Working with Current Setup from the main dialog. For
the CLI client, choose "0) Quit and Save" from the menu and then re-run
"RC564.EXE" with no arguments. While the GUI client is running, you will see a
small cow head icon near your clock in the system tray. To bring up the main
progress window, just double-click on that icon. The CLI client will just run in a command
While the client is running, it will create and
maintain two files in the local directory "buff-in.rc5" and
"buff-out.rc5". buff-in.rc5 contains blocks that need to be processed and
buff-out.rc5 contains the results of blocks you have already processed. Whenever
buff-in.rc5 is empty or buff-out.rc5 is full, the client will automatically try to connect
to the key server and "Flush" your completed blocks and "Fetch" new
blocks. You can also force a flush and fetch yourself at any time. This can be especially
useful when you are only connected to the Internet at certain times of the day. To force
an update using the GUI client, you can right-click the caption bar of the progress window
to pop up a menu. From this menu, you can choose Fetch additional blocks from the
server and Flush completed blocks to the server to perform the complete
update. For CLI client, you can just run "RC564.EXE -update" to perform the
flush and fetch.
While the client is running, you will see some
status of what is going on in the progress window. When the client is fetching new key
blocks from the key server, you will see a series of "<" - one for each key
block downloaded. When the client is flushing completed key blocks to the key server, you
will see a series of ">" - one for each key block uploaded. It is possible
you will periodically receive a network error while trying to send or receive a key block.
This is fairly normal since the key servers can get bogged down at times. Don't worry -
the client is designed to never lose a key block. It will just retry the operation
later. If you find that you never have a successful upload or download, then you
should double check your settings to make sure they are correct. Also, closing the
client or rebooting the computer is safe and will not cause any progress to be lost. The
next time you run the client, it will resume right where it left off.
Joining Team Win32
Probably the most important thing to do is to join
Team Win32. If you specified your own email address in the configuration dialog, then you
must tell the Project Bovine server that you want your blocks to count for Team Win32. The
server will add you to its database shortly after you have flushed your first set of
completed blocks to the key server. For this reason, you may have to let the client run
for a few hours before you can join a team.
To join Team Win32, go to http://www.distributed.net/rc5/
your email name into the Search for email field and press Go. The server
should generate a list of email addresses which should contain your email name. If you
don't see your email address, then make sure your client has sent some completed blocks to
Click on your email address in the list to bring
up the individual statistics page for you. At the bottom of the page, there should be a
link that says Mail me a password!. Click on this link and minutes later you
should get an email from the Project Bovine server containing your password.
Once you have a password, go back to your
statistics page using the above procedure (or just press the Refresh button if you still
have your page up). Now, at the bottom of the page, you should see a place to enter your
password. Do so, and press Edit Participant Information. In the next page, enter
"335" for the Team Affiliation field and press Update Participant
Information. That should do it - Thanks for joining our team!
More Information about Project Bovine
Check out the official Project Bovine home page
Check out the official Project Bovine statistics
Check out how Team Win32 is doing:
Check out how the Win32 platform is doing as a
(these stats are currently off-line)