Stage de première année réalisé à la Faculté des Sciences et Techniques de l'Université de Limoges. Ce stage a porté sur l'installation et la prise en main de simulateurs de réseaux (OMNeT++ et NS-3), puis sur la simulation d'un échange de clé Diffie-Hellman entre deux nœuds en présence d'un attaquant passif.
L'objectif principal était de démontrer qu'un attaquant peut observer les messages échangés sans pouvoir déduire la clé secrète partagée entre les deux parties.
Après avoir exploré les deux simulateurs OMNeT++ et ns-3, j'ai choisi OMNeT++ pour le projet de simulation d'échange de clé Diffie-Hellman.
src pour les fichiers C++, simulation pour les fichiers .ned et omnetpp.iniAu départ, les fichiers .ned étaient dans src, ce qui provoquait des erreurs de compilation (make: *** [Makefile:checkmakefiles] error 1).
Configuration correcte des NED Source Folders dans les propriétés du projet : src décoché, simulation coché.
Initialement, E ne recevait pas les messages.
Modification du .ned pour faire transiter tous les messages via E.
Résultat : Bien qu'E puisse intercepter les valeurs g^a et g^b, il est incapable de retrouver la clé finale partagée, car il lui manque les exposants secrets a et b.
Extension de la simulation existante pour intégrer un échange de messages chiffrés symétriquement, en présence d'un attaquant passif E.
Système d'exploitation
Simulateur de réseaux
Simulateur de réseaux
Langages de programmation
Protocole d'échange de clés
Chiffrement symétrique