EnSkred

Présentation du projet

Le but du projet est de réaliser une application permettant de se connecter en réseau à d'autres applications et de stocker et récupérer des documents de taille arbitraire à partir d'une valeur de hachage unique de 64 octets.

L'application utilisera le protocole StorUGE décrit dans cette RFC.

Travail attendu sur la RFC

On vous demande d'analyser cette RFC en détail. Vous devez pouvoir :

Pendant un examen écrit de 2 h, vous devrez répondre à des questions sur les RFC et proposer des extensions demandées. Pour cet examen, vous n'aurez que la version imprimée de la RFC à disposition.

Cryptographie asymétrique et bibliothèque UGEncrypt

La cryptographie asymétrique, également appelée cryptographie à clé publique, repose sur l'utilisation de deux clés distinctes : une clé publique, que l'on peut librement partager, et une clé privée, qui doit rester confidentielle. Les messages chiffrés à l'aide de la clé publique ne peuvent être déchiffrés qu'avec la clé privée correspondante, assurant ainsi la confidentialité des échanges.

La librairie UGEncrypt vous propose une implémentation en Java permettant de :

Elle vous est fournie pour que vous compreniez plus facilement les principes et limitations. La librairie UGEncrypt est disponible sur ici.

Travail attendu pour l'application

TBA

Dates

Les trois étapes du rendu seront évaluées.

Attention : le projet est obligatoire et sa note n'est pas compensable, même en session 2, conformément aux MCC spécifiques de la formation.

Pour la partie code, chaque groupe doit créer un projet sur GitLab avec votre binôme et ajouter votre chargé de cours comme Maintainer du projet. Les deux membres du projet doivent effectuer toutes leurs contributions sur Git dans des commits réguliers. Le nom de votre projet sera StorUGE-NOM1-NOM2, avec NOM1 et NOM2 correspondant aux noms de famille du binôme dans l'ordre lexicographique.

À l'exception du code fourni par l'équipe enseignante, vous devez être à l'origine de tout le code présent sur votre dépôt. L'évaluation se basera sur votre activité sur le dépôt Git et sur vos réponses pendant la soutenance.