# Distributed.net

distributed.net (offizieller Name Distributed Computing Technologies, Inc. oder kurz DCTI) ist eine gemeinnützige Organisation mit Sitz in den USA. Ihr Ziel ist es, die Möglichkeiten des verteilten Rechnens weiterzuentwickeln und den Einsatz der entsprechenden Techniken zu fördern. Zu diesem Zweck führt distributed.net eigene, weltweit verteilte Rechenprojekte durch, bei denen die Teilnehmer die ungenutzte Rechenkraft ihrer Computer zur Verfügung stellen.
Zurzeit führt distributed.net das RC5-72 Rechenprojekt durch.

## Aktuelle Rechenprojekte
### RC5-72

Ziel dieses Projektes ist die Entschlüsselung einer Nachricht, welche mit einem 72-Bit-Schlüssel nach dem RC5-Verfahren verschlüsselt wurde. Die Entschlüsselung dieser Nachricht ist Teil des „Secret-Key Challenge“ der RSA Laboratories. Bei dem Projektansatz werden alle möglichen Schlüssel durchprobiert (Brute-Force-Methode), bis der passende Schlüssel gefunden wird. Dazu wird der gesamte Bereich in einzelne Pakete aufgeteilt, welche anschließend überprüft werden. Ein Paket besteht meist aus $2^{32}$ (4,2 Mrd.) Kombinationen, wobei auch ein Vielfaches möglich ist. Die Größe der Pakete richtet sich primär nach der verwendeten Hardware.
| Architektur | Bemerkungen |
| AMD/Intel x86-kompatibler Prozessor | ab 386er, Pentium III oder höher empfohlen |
| PowerPC | PS3, entsprechende Blade Server |
| Grafikkarte – Nvidia-CUDA-kompatible | 8er, 9er, 200er Serie oder höher |
| Grafikkarte – openCL basierend | AMD, Nvidia, teilweise werden auch neuere Intels (mit Intel Generic-Grafikkartentreiber, keine OEM-Treiber) on chip GPUs unterstützt. |
Im Mai 2007 gaben die RSA Labs bekannt, den Wettbewerb nicht weiter fortzuführen. Das Projekt von distributed.net wird aber bis auf Weiteres fortgeführt. Bei der derzeitigen Rechengeschwindigkeit hätte das Projekt jedoch erst in über 600 Jahren den gesamten Schlüsselraum durchsucht.
Mittels GPGPU-Computing besteht die Möglichkeit, die Rechengeschwindigkeit erheblich zu beschleunigen. Dabei übernimmt die Grafikkarte die Berechnungen. Das enorme Potential zeigt sich, wenn man einen handelsüblichen Prozessor mit einer Grafikkarte vergleicht.

## Plattformen (unterstützte Betriebssysteme)

Der Distributed.net-Client unterstützt eine Vielzahl von unterschiedlichen Plattformen. Der Quellcode liegt bis auf die Kommunikationsprotokolle offen vor und kann somit von versierten Programmierern auf fast jede Plattform übersetzt werden.
Die Software steht für alle gängigen Betriebssysteme zur Verfügung, darunter Microsoft Windows XP, Windows 7, Linux, FreeBSD, Mac OS. Für die Systeme von Microsoft Windows 7, Linux und MacOS stehen zudem GPGPU Clients bereit. Diese ermöglicht die Grafikkarte zur Berechnung heranzuziehen.

## Programm (Funktion)

Das Programm lässt sich für eine einfache Funktionsbeschreibung in zwei Blöcke einteilen. Zum einen gibt es das Grundprogramm, welches allgemeine Programmeinstellungen wie z. B. Teilnehmerkonto, Puffergrößen, Laufzeitverhalten, Hardwareerkennung oder Projektprioritäten erlaubt, zum anderen die hochoptimierten sogenannten Cores.
Die Kerne stellen dabei auf Prozessoren oder Grafikkarten hochoptimierende Routinen bereit, welche die entsprechenden Arbeitseinheiten bearbeiten. Diese werden durch Freiwillige weiter entwickelt und nach ggf. einer Testphase in den offiziellen Client übernommen. Dies führt in der Regel zu Leistungssteigerungen, insbesondere wenn eine neue Architektur eingeführt wird.
Das Programm hat derzeit eine Limitierung; so kann der Client nicht gleichzeitig den Prozessor und die Grafikkarte benutzen. In diesem Fall muss jeweils eine eigene Programminstanz sowohl für den Prozessor als auch für die Grafikkarte separat heruntergeladen, konfiguriert und gestartet werden.

## Geschichte

Im Februar 1997 starteten Earle Ady Christopher und G. Stach II ein Projekt mit dem Ziel, den RC5-56 Teil des „RSA Secret-Key Challenge“ zu lösen, also den korrekten Schlüssel zu finden. Dieses erste Projekt wurde aber wegen eines SYN-Flood-Angriffes auf diverse Rechner abgebrochen.
Ein neues Projekt, geleitet von Jeff Lawson, wurde daraufhin unter dem Namen „distributed.net“ gegründet, um die Arbeit weiterzuführen. Am 19. Oktober 1997, nach 250 Tagen, wurde schließlich der korrekte Schlüssel gefunden. Als Nächstes wurde die Entschlüsselung einer weiteren mit RC5 verschlüsselten Nachricht in Angriff genommen, diesmal jedoch mit einem 64 Bit langen Schlüssel. Es dauerte fast fünf Jahre, bis der richtige Schlüssel gefunden wurde.
Seitdem hat distributed.net an diversen Wettbewerben aus dem Bereich der Kryptographie teilgenommen, unter anderem wurden mit DES verschlüsselte Nachrichten entschlüsselt.

### Liste früherer Projekte im Rahmen des „Secret-Key Challenge“ der RSA Laboratories

* 56 Bit RC5 – Erfolgreich beendet am 19. Oktober 1997 (nach 250 Tagen, 47 % aller Schlüssel wurden überprüft)
* 56 Bit DES II-1 – Erfolgreich beendet am 24. Februar 1998 (nach 39 Tagen)
* 56 Bit DES II-2 – Endete am 17. Juli 1998 (nicht von distributed.net gelöst, sondern von der Electronic Frontier Foundation (EFF) nach zweieinhalb Tagen mit dem EFF DES Cracker)
* 56 Bit DES-III – Erfolgreich beendet am 19. Januar 1999 (nach 22,5 Stunden mit der Hilfe des EFF DES Cracker, der diesmal jedoch Teil von distributed.net war)
* 64 Bit RC5 – Erfolgreich beendet am 14. Juli 2002 (nach 1757 Tagen, 83 % aller Schlüssel wurden überprüft)

### Weitere beendete Projekte

* CS-Cipher Challenge – Erfolgreich beendet am 16. Januar 2000 (nach 60 Tagen, 98 % aller Schlüssel wurden überprüft)
* Optimales Golomb-Lineal der Länge 24 (OGR-24) – Erfolgreich beendet am 13. Oktober 2004
* Optimales Golomb-Lineal der Länge 25 (OGR-25) – Erfolgreich beendet am 24. Oktober 2008
* Optimales Golomb-Lineal der Länge 26 (OGR-26) – Erfolgreich beendet am 24. Februar 2009
* Optimales Golomb-Lineal der Länge 27 (OGR-27) – Erfolgreich beendet am 19. Februar 2014
* Optimales Golomb-Lineal der Länge 28 (OGR-28) – Erfolgreich beendet am 23. November 2022