Aperçu du sujet
Exercice 1 (6 points) Cet exercice porte sur la sécurisation des communications, la représentation des données et la programmation en Python. Alice et Bob cherchent à communiquer de manière sécurisée sur un réseau ouvert à tous. Eve veille et écoute tout ce qui passe sur le réseau. Mallory aimerait bien
Exercice 1 (6 points) Cet exercice porte sur la sécurisation des communications, la représentation des données et la programmation en Python. Alice et Bob cherchent à communiquer de manière sécurisée sur un réseau ouvert à tous. Eve veille et écoute tout ce qui passe sur le réseau. Mallory aimerait bien se faire passer pour quelqu’un d’autre. L’objectif de cet exercice est de s’intéresser à des protocoles de chiffrements et à un protocole de signature permettant d’authentifier l’auteur d’un message. Alice, qui ne connaît Bob que par les réseaux sociaux, aimerait lui faire parvenir de manière secrète le message suivant : m0 m0 = 'Rendez-vous à 16h place de la liberté. Signé : Alice.' Si Alice transmet directement ce message sur le réseau, Eve, qui écoute le m0 réseau en permanence, pourra en prendre connaissance. Partie A : Cryptographie symétrique On se place dans le cadre d’un chiffrement symétrique avec une seule clé. On suppose disposer d’une fonction en Python telle que permet code code(m, cle) de chiffrer et de déchiffrer un message à l’aide de la clé . Cette fonction prend m cle en paramètres deux chaînes de caractères et renvoie une chaîne de caractères. On suppose que, pour tout message , on a toujours : m code(code(m, cle), cle) égal à . m Ceci veut dire que l’on peut chiffrer un message à l’aide de la clé, puis le déchiffrer exactement de la même manière à l’aide de cette même clé. Alice effectue donc l’instruction suivante : m1 = code(m0, cle) Elle transmet à Bob le message ainsi que la clé sur le réseau. m1 cle 1. Donner l’instruction que doit écrire Bob pour déchiffrer le message d’Alice et affecter le résultat dans une variable . m2 Cependant, Eve dispose du message ainsi que de la qui ont tous les deux m1 cle été transmis sur le réseau. Elle peut donc effectuer la même instruction que Bob et prendre connaissance du message secret. Partie B : Cryptographie asymétrique On se place maintenant dans le cadre d’un chiffrement asymétrique avec cette fois-ci une paire clé privée/clé publique. Dans ce système, chaque individu possède une paire de clés associées . On suppose toujours disposer d’une (cle1, cle2) 25-NSIJ2NC1 Page : 2 / 18 fonction telle que permet de chiffrer ou déchiffrer un message code code(m, cle) à l’aide de la clé . On suppose cette fois-ci que, pour tout message et