INF111, INF109, INF112, InterSem INF114 -- programmation web, programmation Python, Java, introduction à la cybersécurité
Logo/Favicon
Description du projet :
La cryptographie est aujourd’hui au coeur de notre quotidien, et nous l’utilisons tous plusieurs fois
par jour : quand nous ouvrons notre navigateur web, quand nous demandons à notre téléphone
mobile d’envoyer des données ou encore quand nous effectuons un paiement via notre carte
bancaire. Ce domaine de la cybersécurité est cependant très vieux, puisque les premiers systèmes
datent de l’Antiquité, avec des méthodes très simples utilisés par les Spartes ou par Jules César. Ces
derniers ne sont bien évidemment plus utilisés aujourd’hui, notamment parce que nous savons
facilement comment les attaquer. Ils ont cependant progressivement évolués vers les systèmes
cryptographiques modernes, plus sûrs et bien mieux maitrisés. D’autres techniques très différentes
ont aussi vu le jour, permettant aujourd’hui d’avoir une batterie d’outils cryptographiques
permettant de répondre à la plupart des besoins en sécurité de notre quotidien. Pourtant, même si
ces systèmes utilisent des mathématiques assez poussées, il est tout à fait possible de les expliquer
très simplement.
Ce projet consiste à créer un jeu web qui mettra en oeuvre les concepts de base de la cryptographie
moderne, afin de les expliquer le plus simplement possible, pour que des collégiens puissent les
comprendre, et soient capables de les manipuler. Le jeu pourra notamment reprendre les techniques
cryptographiques suivantes :
méthode de la Scytale ;
méthode de César, cryptanalyse de César, méthodes de Vigenère et de Vernam ;
principe de l’échange de clé ;
machine Enigma ;
principe de base de la cryptographie à clé publique, attaque par l’homme du milieu, principe de certification.
Objectifs du projet :
Faire des recherches sur les méthodes cryptographiques anciennes (Scytale, César, Vigenère,
Vernam) ou plus récentes telles que la machine Enigma, le concept de cryptographie à clé
publique, le principe de la certification.
Trouver des façons ludiques d’expliquer ces différents concepts en créant des ateliers dédiés.
Imaginer un scénario permettant de mettre en oeuvre les concepts cryptographiques ci-
dessus de façon amusante.
Créer un site web mettant en oeuvre le scénario créé à l’étape précédente.
Créer des versions web des ateliers définis préalablement afin de les insérer dans le jeu.
Logiciels requis:
Typescript
Programmation objet
Références bibliographiques:
CYBERCRYPT: Learn Basic Cryptographic Concepts while Playing, https://eprint.iacr.org/
2021/063