# Distributed.net

distributed.net è un progetto di calcolo distribuito per la ricerca del regolo di Golomb ottimale (Optimal Golomb Ruler o OGR) e la rottura della crittografia con sistema RC5 a 72 bit.
Il progetto ha recentemente unito gli sforzi con BOINC, il client, in questo caso, prende il nome di: DNETC@HOME (chiuso a metà ottobre 2011), è poi presente un secondo client per BOINC con lo stesso obiettivo che prende il nome di Moo! Wrapper.

## Storia

Nel febbraio 1997, Earle Ady e Christopher G. Stach II di Hotjobs.com e New Media Labs coordinano uno sforzo per rompere una porzione di RC5-56 (RC5 a 56 bit) per il RSA Secret-Key Challenge, un algoritmo di crittazione con una taglia di 10 000$ per chi fosse riuscito a trovare una chiave. Sfortunatamente, questo sforzo iniziale, fu sospeso per un attacco SYN flood dei partecipanti sul server.
Nel marzo 1997 è stato fondato distributed.net da Jeff Lawson per riprendere e continuare quel progetto iniziale.
Il 19 ottobre 1997, dopo solo 250 giorni, la sfida dell'RC5-56 era stata vinta.
Il 14 luglio 2002, dopo circa 5 anni, anche la sfida successiva che consisteva nel trovare la chiave per la crittazione a 64bit (RC5-64) si concludeva con la chiave corretta: (0x63DE7DC154F4D039) in grado di decrittare il messaggio "some things are better left unread" (alcune cose è meglio lasciarle non lette).

## Sviluppo di client abilitati per GPU (solo per BOINC)

* NVIDIA
A partire dalla fine del 2007, sono iniziati i lavori per la realizzazione di nuove RC5-72 progettate per girare su Nvidia CUDA. L'alto parallelismo dell'architettura CUDA permette un'alta velocità di elaborazione di unità di lavoro RC5-72. Sulla fascia alta delle schede video NVIDIA è possibile analizzare più di 300 milioni di chiavi al secondo. Considerando che una CPU di fascia alta può raggiungere 50 milioni chiavi RC5-72 al secondo; CUDA rappresenta un aumento di prestazioni di circa il 500%. Allo stato attuale, i client CUDA sono ancora in fase di sviluppo, e hanno solo ottenuto lo status di release candidate.
* AMD
Allo stesso modo, verso la fine del 2008, sono iniziati i lavori per la realizzazione di un progetto RC5-72 programmato per girare su AMD FireStream. STREAM, in modo similare per quanto avviene con CUDA, permette un'elaborazione delle unità RC5-72 ad alta velocità. Con il rilascio della famiglia di GPU Northern Islands a fine 2010, AMD permette un ulteriore incremento dei calcoli. Alcuni dei prodotti di questa serie offrono tassi di analisi vicini ai 2 miliardi di chiavi al secondo.

## Stato dei progetti

* Scala temporale dei progetti di distributed.net, aggiornata a settembre 2013

### Correnti

* Regolo di Golomb ottimale (OGR-28) — In corso ~ 1,13% completato al 23 febbraio 2014.
* RSA RC5-72 Encryption Challenge — In corso 3.122% completato al 23 febbraio 2014. sebbene RSA Labs non sponsorizzi più l'iniziativa.

### Passati
#### Crittografia

* RSA RC5-56 Encryption Challenge — (19 ottobre 1997) Completato dopo 250 giorni ed il 47% di chiavi controllate.
* RSA RC5-56 DES II-1 Encryption Challenge — (24 febbraio 1998) Completato dopo 39 giorni.
* RSA RC5-56 DES II-2 Encryption Challenge — (17 luglio 1998) Completato; trovato indipendentemente da EFF's Deep Crack custom DES cracker dopo 2,5 giorni)
* RSA RC5-56 DES-III Encryption Challenge — (19 gennaio 1999) Completato dopo 22,5 ore con l'aiuto di EFF's Deep Crack custom DES cracker.
* CS-Cipher Challenge — (16 gennaio 2000) Completato dopo 60 giorni ed il 98% di chiavi controllate.
* RSA RC5-64 Encryption Challenge — (14 luglio 2002) Completato dopo 1757 giorni e l'83% di chiavi controllate.

#### OGR

* Regolo di Golomb ottimale (OGR-24) — (13 ottobre 2004) Completato in 1572 giorni.
* Regolo di Golomb ottimale (OGR-25) - (25 ottobre 2008) Completato in 3006 giorni.
* Regolo di Golomb ottimale (OGR-26) - (24 febbraio 2009) Completato in 24 giorni.
* Regolo di Golomb ottimale (OGR-27) — (19 febbraio 2014) Completato in 1822 giorni.

## Software

Il software del progetto è disponibile in binari precompilati per:
| | GNU/Linux | macOS | Microsoft Windows | FreeBSD | NetBSD | AmigaOS |
| 16bit | X | X | si | X | X | X |
| x86 | si | si | si | si | si | X |
| AMD64 | si | X | si | si | X | X |
| Sparc | si | X | X | si | si | X |
| PPC | si | si | X | X | si | si |
| PARISC 1.1 | si | X | X | X | X | X |
| Alpha | si | X | X | X | si | X |