td2 ibrahimi

3

Click here to load reader

Upload: yunes-ifri

Post on 01-Jan-2016

37 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: TD2 Ibrahimi

Université d’Avignon, CERI /LIA Master Informatique Sécurité M1&M2

CERI/LIA, K. Ibrahimi 2009-2010

1

CRYPTOGRAPHIE TD N°2 (Solution)

Objectif du TD : Avoir quelques notions sur les méthodes de chiffrement symétrique et asymétrique : Modes ECB, CFB, DES et RSA Remarque : Support du cours est téléchargeable sur le lien : http://lia.univ-avignon.fr/fileadmin/documents/Users/Intranet/chercheurs/ibrahimi/Web-ibrahimi/Crypto-ibrahimi.pdf Chiffrement par blocs (block cypher) Le principe général est de séparer en mots de taille fixe n et appliquer l'algorithme de chiffrement pour chaque bloc.

1- Le mode ECB (Electronic Code Book) Déterminer deux fonctions une pour le chiffrement et l’autre pour déchiffrement. Quel est le problème de ce mode ? Proposez une solution pour ce problème ? Soient M = 101100010100101 message en clair et une clé K = (1->2, 2->3, 3-> 4, 4->1) par permutation. Chiffrez le message M. Solution

1- Les algorithmes de chiffrement du message M = M1M2…Mn et déchiffrement par le mode ECB s’effectuent de la façon suivante :

2- Le problème de ce mode est qu’il donne la possibilité de reconnaître les caractères du

message en clair dans celui chiffré. Ce qui facilite les attaques statistiques.

3- La taille de la clé K est 3 et donc il faut décomposer le message M en blocs de la même taille que la clé. Vous pouvez compléter le dernier bloc par 0. M=M1M2M3M4 tels que M 1= 1011, M2 = 0001, M3 = 0100, M4 = 1010. Le résultat de chiffrement est C = C1C2C3C4 = 0111001010000101.

2- Le mode CBC (Cipher Block Chaining)

1- Donnez les algorithmes de chiffrement et déchiffrement de ce mode.

2- Soit VI = 1010 vecteur d’initialisation. Soient M = 101100010100101 message en clair et une clé K = (1->2, 2->3, 3-> 4, 4->1) par permutation. Chiffrez le message M.

Solution

4- Les algorithmes de chiffrement du message M = M1M2…Mn et déchiffrement par le mode CBC s’effectuent de la façon suivante :

Page 2: TD2 Ibrahimi

Université d’Avignon, CERI /LIA Master Informatique Sécurité M1&M2

CERI/LIA, K. Ibrahimi 2009-2010

2

5- La taille de la clé K est 3 et donc il faut décomposer le message M en blocs de la même taille que la clé. Vous pouvez compléter le dernier bloc par 0. M=M1M2M3M4 tels que M 1= 1011, M2 = 0001, M3 = 0100, M4 = 1010. Le résultat de chiffrement est C = C1C2C3C4 = 0010011001001101.

3- CFB (Cypher FeedBack)

1- Donnez les algorithmes de chiffrement et déchiffrement de ce mode. 2- Expliquez le fonctionnement de ce mode. Parmi ces modes lesquelles sont utilisés par l’algorithme DES et pourquoi ? Expliquez les faiblisses du DES et son niveau de sécurité ? Solution 1- L’algorithme de cryptage utilisé est noté E et le vecteur d’initialisation est VI.

1- Pour le chiffrement du message M = M0M1…Mn : C0 = M0 ^ E(VI)

C0 = Mn ^ E(Mn-1), si (n > 0)

2- Pour le déchiffrement : M0 = C0 ^ E(VI)

Mn = Cn ^ E(Cn1), si (n > 0) 2-Pour les autres questions voir le cours et les corrections du TD que nous avons fait. Chiffrement asymétrique Les méthodes de chiffrement asymétrique consistent ŕ transformer le message en un nombre puis ŕ effectuer un calcul compliqué à l'aide de la clé publique (pour chiffrer). La clé privée permettra de faire un calcul secondaire conduisant au message d'origine. Rappel RSA : la clé publique est un doublet (e, n). Si l’utilisateur A veut chiffrer son message, il le transforme en un nombre entier M. Ce nombre doit être plus petit que n. Le message chiffré est tout simplement C = Me mod n. Pour déchiffrer, l’utilisateur A dispose d'une clé privée d. Le déchiffrement est fait ainsi : D = Cd mod n. Exercice 1 : Fabrication des clés par RSA L’utilisateur A choisit les facteurs premiers p = 11 et q = 23. Trouvez n, e et d. Solution 1- Puisque les deux nombres 11 et 23 sont premiers entre eux, alors n est calculé par le produit n = p q = 11*23 =253. 2- Il faut choisir un entier e le plut petit tel que : 1 < e < Φ(253) = (p-1)(q-1) = (11-1)(23-1) = 220 et PGCD(e, (p-1)(q-1)) =1

Page 3: TD2 Ibrahimi

Université d’Avignon, CERI /LIA Master Informatique Sécurité M1&M2

CERI/LIA, K. Ibrahimi 2009-2010

3

d’où, on peut choisir e =3, car PGCD(3, 220) = 1. 3- L’entier d est calculé avec les conditions suivantes : 1 < d < (p-1)(q-1) et de =1 mod (p-1)(q-1) On utilisant l’algorithme d’Euclide étendu la valeur de d est 147. Donc la clé publique de A est Kp = (e, n) et sa clé privée est Kpr = (d, n). Après il détruit les nombres p, q et Φ(253). Exercice 2 : Chiffrement par RSA Utilisant la valeur de n trouvée dans l’exercice 1 et e, déterminez l’espace des messages en clair {0, 1, …, n-1}. Puis chiffrez le message m = 165 noté c. Solution : L’espace des messages en clair est constitué de tous les messages m avec 0<= m <n. Le message en clair m est chiffré par la relation c = m^e mod n. Pour m = 165, on obtient c = 165^3 mod 253 = 110. Exercice 2 : Déchiffrement par RSA Utilisant les valeurs de n, d et e trouvées dans l’exercice 1, déterminez à partir du message c précédent le message m. Solution : De la même manière que l’exercice 2, le message c est déchiffré par la relation 110^147 mod 253 = 165.