25-NSIJ2ME1-3
-
Le message LIBRE, chiffré à l'aide de la clé EYQMT, donne le résultat PGRDX.
-
def chiffrement(msg, cle): assert len(cle) >= len(msg), 'impossible' indices_msg = lettres_vers_indices(msg) indices_cle = lettres_vers_indices(cle) n = len(msg) indices_msg_chiffre = [] for k in range(n): ind = indices_msg[k] + indices_cle[k] if ind >= 26: ind = ind - 26 indices_msg_chiffre.append(ind) msg_chiffre = indices_vers_lettres(indices_msg_chiffre) return msg_chiffre
-
L'appel lève ici l'erreur
AssertionError
(avec le message'impossible'
) car l'assertion en début de fonction n'est pas vérifiée, la longueur de la clé n'est pas ici au moins égale à longueur du texte. -
On peut d'abord déduire la somme masque + message et enfin le message clair :
1 (B) 17 (R) 0 (A) 21 (V) 14 (O) message + 5 (F) 21 (V) 4 (E) 8 (I) 19 (T) masque = 6 38 4 29 33 masque + message = 6 (G) 12 (M) 4 (E) 3 (D) 7 (H) masque + message mod 26
Le message clair est BRAVO.
-
Les indices du message clair sont obtenues en soustrayant les indices du message chiffré par les indices du masque, modulo 26. Il suffit ensuite de convertir ces indices en caractères pour obtenir le message clair.
-
def dechiffrement(msg, cle): assert len(cle) >= len(msg), 'impossible' indices_msg = lettres_vers_indices(msg) indices_cle = lettres_vers_indices(cle) n = len(msg) indices_msg_dechiffre = [] for k in range(n): ind = indices_msg[k] - indices_cle[k] if ind < 0: ind = ind + 26 indices_msg_dechiffre.append(ind) msg_dechiffre = indices_vers_lettres(indices_msg_dechiffre) return msg_dechiffre
-
Un algorithme de chiffrement symétrique utilise une seule et même clé pour chiffrer et déchiffrer un message. À l'inverse, un algorithme de chiffrement asymétrique repose sur deux clés distinctes :
- une clé publique pour chiffrer le message, librement diffusée,
- une clé privée pour le déchiffrer, conservée secrète.
-
Comme Alice a chiffré le message avec la clé publique de Bob, seul Bob peut le déchiffrer en utilisant sa clé privée.
-
Une personne malveillante peut intercepter l'échange de clés. Par exemple, lorsque Bob envoie sa clé publique à Alice, l'attaquant peut la remplacer par la sienne. Alice chiffre alors son message avec cette fausse clé, permettant à l'attaquant de le déchiffrer, de le lire ou le modifier, puis de le re-chiffrer avec la vraie clé publique de Bob. Ce dernier, ne se doutant de rien, pense que le message vient d'Alice. C'est une attaque de l'homme du milieu.
-
Le protocole HTTPS sécurise les communications entre deux hôtes sur un réseau en combinant chiffrement asymétrique et symétrique. Le serveur envoie sa clé publique accompagnée d'un certificat d'authenticité délivré par une autorité de confiance, que le client vérifie pour s'assurer de l'identité du serveur. Il chiffre ensuite une clé symétrique temporaire avec cette clé publique. Le serveur la déchiffre avec sa clé privée, et toute la communication qui suit utilise cette clé symétrique.
-
Le chiffrement asymétrique requiert un plus grand temps de calcul que le chiffrement symmétrique. HTTPS l'utilise juste pour échanger une clé symétrique, qui sert ensuite à chiffrer efficacement la communication.
-
Marc a mal saisi l'adresse IP de Bob : il a tapé 192.168.100.115 au lieu de 192.168.110.115. Cette adresse erronée ne fait pas partie de son réseau local. Comme l'erreur affichée n'est pas « destination inaccessible », cela signifie qu'une passerelle est bien configurée sur le réseau de Marc, et que la machine a tenté d'envoyer les paquets vers un autre réseau. Aucun hôte ne répondant à cette adresse, tous les paquets ont été perdus.
-
Ce masque s'écrit 255.255.255.224 en notation décimale.
-
Ce sous-réseau réserve 5 bits pour le numéro d'hôte. En excluant les deux adresses réservées, le nombre total d'adresses IPv4 utilisables est de \(2^5 - 2 = \boxed{30}\).
-
\(134 = 128 + 4 + 2 = \boxed{(10000110)_2}\)
-
On suppose que Zoé utilise également le masque 255.255.255.224 :
-
L'adresse 192.168.110.115 n'est donc pas sur son sous-réseau, car 115 = 0b01110011.
-
L'adresse 192.168.110.153 appartient au même sous-réseau que celui de Zoé, car 153 = 0b10011001.
Si aucune passerelle n’est configurée, seule la commande 2 peut aboutir.
-