Examen Cryptographie Sujet 03

EXAMEN CRYPTOGRAPHIE | SUJET 03

Examen cryptographie

Examinateur : Mr JoëlYk

Exercice 1 : Chiffrement - dechiffrement (7pts)

Le but de l’exercice est de trouver des chiffrements dont la fonction de déchiffrement est la même que la fonction de chiffrement.
1. Si la fonction de chiffrement est involutive quelle est la clé de déchiffrement ?
2. On se place dans le cas d’un chiffrement par décalage sur l’alphabet Zn. Trouver toutes les clés involutives (i.e. telles que la fonction de chiffrement est involutive). Traiter les cas n = 26 et n = 29.
3. Si le chiffrement est affine sur Zn, caractériser les clés involutives. Préciser le nombre de clés involutives dans le cas où n est un nombre premier

 

Exercice 2 : Message confidentiel et authentifie (3 pts)

Alice doit envoyer un message confidentiel et authentifi´e `a Bob, mais ne dispose que d’un canal
public. Elle utilise le protocole suivant :
— Bob envoie sa cl´e publique `a Alice.
— Alice envoie sa cl´e publique `a Bob.
— Alice produit son message, le signe avec sa cl´e priv´ee, et le chiffre avec la cl´e publique de Bob.
— Bob re¸coit le message, le d´echiffre avec sa cl´e priv´ee, et v´erifie que la signature colle avec la cl´e publique d’Alice. Ou est le l´ezard ?


Exercice 3   Congruence & reste chinios 4PTS

1) Calculer 15362 mod 26 . 1pt

2) Resoudre le systeme de congruence suivant en utilisant la methode des restes chinios (3pt):

X = 5 mod 4

X = 4 mod 11

X = 3 mod 13


Exercice 4   chiffrement rsa 6PTS

On souhaite générer une paire de clé RSA à partir de n=1037 et φ(n)=1008.

1) Calculer les paramètres p et q.
2) Calculer la clé privée correspondante à e=17.
3) Chiffrer le message M=976, ensuite déchiffrer le résultat.

 

Correction :

EXERCICE 1 :

1) (1pt) La clé de chiffrement est égale à la clé de déchiffrement.

2) (2pt) Les chiffrements par décalage s'écrivent comme suit : x -> x + K [n]. Les clés involutives sont celles pour lesquelles f-1(f(x)) = x ; f-1(x + K) = x + 2K = x -> 2K=0[n].

(0.5pt) Pour n=26, ce sont les clés pour lesquelles 2K = 26q, soit K = 13q. On a alors K = 13 ; K = 0.

(0.5pt) Pour n=29, on a K = 0.

3) (2pt) Chiffrement affine : on cherche les fonctions de codage telles que fa,b(fa,b(x)) ≡ x pour tout x dans E (c'est-à-dire (fa,b)-1 = fa,b) : on doit donc avoir pour tout x dans E a(ax + b) + b ≡ x [n], soit a2x + ab + b ≡ x [n]. Donc il faut que a2 ≡ 1 [n] et b(a + 1) ≡ 0 [n].

(1pt) Si n est premier, la solution pour les deux équations précédentes est a = n-1 et b ∈ Zn, les clés sont les couples (n-1, b) ; il y a n clés.

EXERICE 2 :

Dans ce schéma qui semble à première vue parfait, il y a un élément crucial qui n'a pas été pris en compte, et ce dès le début : Bob (resp. Alice) n'a aucune certitude qu'il parle bien à Alice (resp. Bob). Un attaquant, disons Charlie, peut alors se créer lui aussi une paire de clés publique / privée. Il intercepte la clé publique de Bob et envoie la sienne à Alice, sans laisser transiter celle de Bob. De même, il intercepte la clé publique d'Alice et envoie la sienne à Bob. Dans toute la suite des échanges, il peut déchiffrer les messages qu'il reçoit (puisque chiffrés avec sa clé publique), et les rechiffrer pour le bon destinataire, sans que ces deux-là ne se rendent compte de rien. Cette attaque est appelée l'attaque de l'homme du milieu ou "man in the middle" en anglais.

Pour l'éviter, il faut par exemple que les clés publiques soient certifiées par une tierce autorité, ou que Bob et Alice trouvent un autre moyen de vérifier leurs clés publiques (attestées par un autre correspondant en lequel ils ont confiance au préalable, vérification oculaire derrière un écran, etc).

EXERCICE 3 :
1)---

Reste chinios pandacodeur

2)---

Reste chinios pandacodeur 1

EXERCICE 4 : rsa
 

Si vous avez trouvé les examenscorrigés en Cryptographie de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 658395978 | Réaliser Par Joël_Yk

  • Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam