Le RC5-72 est un projet mis en place par distributed.net et organisé par le RSA, une organisation américaine très sérieuse chargée entre autre de tester les systèmes de sécurité. Il sagit de trouver une 'clé' (qui est en fait une succession de bits) permettant de trouver un message crypté avec l'algorithme du RC5-72. Le codage se faisant sur 72 bits, il y a donc au total 272 clés (1 bit=0 ou 1), ce qui représente 4,722,366,482,869,645,213,696 possibilités ! Pour simplifier le travail, ces clés ont été découpées sous forme de blocs. 1 bloc=232 clés, il y a donc 1,099,511,627,776 blocs à tester au maximum ! Bien entendu, c'est un projet colossal, c'est pourquoi il a été mis en place une architecture particulière...
2) Quel est le principe ?C'est très simple : un supercalculateur ne suffisant pas, l'idée est de concentrer toute la puissance des machines
du monde entier voulant bien se prêter au jeu, cela quel que soit l'OS utilisé. Il suffit alors de ramener un petit
programme (appelé client rc5) et de l'installer sur sa machine pour effectuer les calculs. Ce client communique avec
un serveur de clés et lui permet de rappatrier ou d'envoyer des blocs. Les blocs ainsi renvoyés sont ensuite routés vers
le serveur de clé principal ("master keyserver"), qui les comptabilise et met à jour des statistiques quotidiennes.
Les raisons divergent suivant les participants, mais les principales sont :
Absolument ! Ce n'est pas un acte de piratage que d'essayer de trouver une clé, au contraire, cela permet de tester la sécurité d'un tel système de cryptage.
5) Comment participer ?Il faut commencer par ramener le client spécifique à votre système d'exploitation. Le client pour 95/98/NT/2K x86 est disponible
ici : Download depuis site officiel (273 Ko).
Mais distributed.net a développé plusieurs autres clients et si vous travaillez sous un autre OS (Linux, MacOS...), allez voir sur la page
principale des clients rc5 à distributed.net/clients.html pour récupérer le votre.
Il vous suffit de décompresser l'archive .zip et de télécharger ce fichier de configuration dans le dossier d'installation du client. Ensuite, éditer le fichier dnetc.ini et modifier le paramètre id= avec votre adresse e-mail. Une fois terminé, lancer le client (dnetc.exe) et sauter à l'étape 7 pour ramener vos paquets de clés à calculer.
b) Installation détaillée
On commence par décompresser l'archive .zip et on lance le client (DNETC.EXE). On arrive
à l'écran de configuration :
Comme indiqué, on passe par l'option '1' et on arrive à l'écran suivant :
On choisit encore l'option '1' pour saisir notre adresse
e-mail (distributed.net ID). Une fois notre e-mail rentré, on se retrouve devant cet écran :
On revient au menu principal en tapant '0' et on choisit cette fois l'option '2' (Buffer and Buffer Update Options)
Sur le même principe, on procédera aux modifications nécessaires afin d'obtenir cet
écran : (il suffit de rentrer dans les menus correspondants)
Une fois les modifications effectuées, on revient au menu principal en tapant '0', puis encore '0' pour quitter
en sauvegardant...
On relance DNETC.EXE et il ne nous reste plus qu'à rappatrier les paquets de clés à calculer ! Pour cela, il suffit de faire un clic-droit dans
la fenêtre du client et de sélectionner 'Fetch work'. Le client va alors chercher à se connecter à un serveur de clés, et rappatrier le nombre de clés
indiquées.
L'opération dure quelques secondes, suivant la rapidité de la connection et le nombre
de paquets demandés. On peut alors fermer la session Internet.
Le client commence alors les calculs et affiche (en accéléré) :
C'est la progression ! Parfois, un 'R' vient s'intercaler : le calcul a simplement été interrompu par l'utilisateur (Ctrl+C) puis a été repris (Resume).
C'est tout simple : il suffit de faire un clic droit sur le client et de sélectionner :
- Flush work : envoyer les paquets de clés
- Fetch work : recevoir de nouveaux paquets
On peut également utiliser les lignes de commande suivantes:
dnetc.exe -forceflush (envoi)
dnetc.exe -forcefetch (reception)
Une fois les paquets envoyés/recus, vous pouvez vous déconnecter !
Le serveur principal enregistre votre participation dès l'envoi du 1er bloc calculé au serveur de clés.
Chaque jour à 0:00 GMT, le serveur principal fait le point des blocs envoyés/recus et met à jour une gigantesque
base de données. Ainsi, il est possible de consulter les statistiques vous concernant mais aussi toutes celles des
autres participants.
Pour cela, il suffit d'aller faire un tour à : http://stats.distributed.net/rc5
On arrive sur la page générale des stats et en regardant bien, en haut, on trouve ceci :
On peut alors chercher dans la base de données le participant ou l'équipe de son choix. Pour la recherche d'un participant,
le plus simple est de mettre son adresse e-mail, mais ce n'est pas obligatoire. Quelques caractères suffisent pour lancer la recherche.
Si la requête est acceptée, on arrive sur les statistiques du participant où les informations suivantes sont disponibles :
On peut également voir le nombre de blocs envoyés au serveur la veille, ainsi que le classement de la journée.
9) Comment joindre une équipe ?Il est possible de joindre n'importe quelle équipe, à partir du moment où vous êtes référencés dans la base
de données (il faut donc envoyer au minimum 1 bloc et attendre 1 jour). Mais il vous faut un mot de passe ! Là, 2
possibilités : soit vous l'avez déjà recu (pas de pb), soit vous l'avez perdu. Dans ce cas, il est possible de le récupérer. Pour cela,
aller sur votre page de statistiques personnelles et cliquer sur "I cannot remember my password. Please email nom@domain.fr's password" (situé
tout en bas). Le mot de passe est alors envoyé dans votre boite aux lettres !
Il ne vous reste plus qu'à faire une recherche d'équipe (ou afficher les 100 premières par exemple), d'en choisir une et de cliquer sur "I want to join this team"
(situé en bas de la page de l'équipe). Vous remplissez ceci et c'est terminé :
Vous êtes tout naturellement invités à rejoindre la team securiteinfo.com
Voici quelques tests exprimés en kilo-clés testées par seconde : (dnetc.exe -benchmark)
Note : le benchmark RC5 d'un processeur ne permet pas d'évaluer de manière précise ses performances, les résultats sont donc à considérer avec prudence.
10) Je veux en savoir plus...Le mieux est d'aller sur le site principal, françisé depuis peu : http://www.distributed.net
Si vous souhaitez me contacter : rc5@fr.st ou si vous trouvez ce projet intéressant, n'hésitez pas ;)