Browse Source

ajout fonctions chiffre_xor, send et receive dans Interface;correction bug dans InterfaceServeur

master
bollet.c 4 months ago
parent
commit
c9ba3aaaf5
  1. 23
      Interface.py
  2. 3
      InterfaceServeur.py

23
Interface.py

@ -19,11 +19,15 @@ class Interface(tk.Tk):
self.sendButton.pack()
self.recvButton = tk.Button(self, text="Receive", command=self.receive)
self.recvButton.pack()
#
self._cleSymetrique = None
def send(self):
"""Envoie le message chiffré."""
message = self.entree.get().encode("utf8")
# à compléter pour chiffrer le message
if self._cleSymetrique != None:
message = chiffre_xor(message, self._cleSymetrique)
self.connexion.send(message)
def receive(self):
@ -31,8 +35,25 @@ class Interface(tk.Tk):
Attention : bloque tant que le serveur n'envoie rien."""
message = self.connexion.recv()
# à compléter pour déchiffrer le message
self.message.set(message.decode("utf8"))
if self._cleSymetrique != None:
message = chiffre_xor(message, self._cleSymetrique)
self.message.set(message_dechiffre.decode("utf8"))
def set_cleSymetrique(self, val):
"""Définit/met à jour la clé symétrique"""
self._cleSymetrique = val
def destroy(self):
self.connexion.close()
tk.Tk.destroy(self)
def chiffre_xor(message, cle):
"""chiffre/déchiffre un message à l'aide d'une clé"""
res = b""
for i in range(len(message)):
lettre = bytes([message[i] ^ cle[i%len(cle)]])
res += lettre
return res

3
InterfaceServeur.py

@ -11,7 +11,6 @@ class InterfaceServeur(Interface):
self.e = 42205
self.d = 769020235650503533
# à compléter
self.cle_symetrique = None
self.btn_hello = tk.Button("Serveur Hello", command=self.hello)
self.btn_finished = tk.Button("Finished", command=self.finish)
@ -27,7 +26,7 @@ class InterfaceServeur(Interface):
"""attend la réception de la clé symétrique, la déchiffre avec sa clé privée, la
mémorise et envoie le message Finished chiffré avec cette clé"""
msg_recu = self.receive()
self.cle_symetrique = self.dechiffre_RSA(msg)
self.set_cleSymetrique(self.dechiffre_RSA(msg))
self.send("Finished")
def dechiffre_RSA(self, msg):

Loading…
Cancel
Save