Module LI336 - Introduction à la Cryptologie Version enseignant LI336 page 1/5 Examen de seconde session de Cryptologie 25 juin 2012 Auteurs Guénaël Renault Version du 10 avril 2013 Les seuls documents autorisés sont les slides du cours. L utilisation d un appareil électronique est proscrit pendant toute la durée de l épreuve. Exercice 1 Questions de cours/td (12 points) Dans tout cet exercice on demande aux étudiants de répondre de manière très précise à chacune des questions. Chaque réponse sera accompagnée de deux ou trois phrases d argumentation ou d une présentation des calculs la plus claire possible comme vue en cours/td. 1. (1 point) Définir la cryptographie symétrique. Quels sont ses avantages/désavantages par rapport à la cryptographie asymétrique? La cryptographie symétrique utilise la même clef pour chiffrer et déchiffrer, le chiffrement et le déchiffrement nécessitent la connaissance complète de la clef. L avantage majeur de la cryptographie symétrique est sa rapidité puisqu elle met en jeu des outils extrêmement basiques. L inconvénient est l explosion combinatoire du nombre de clefs : pour que n personnes communiquent il faut O(n 2 ) clefs qui doivent être échangées de façon sûre (ce qui est particulièrement difficile pour établir la communication avec quelqu un qu on ne connaît pas donc avec qui on a aucune raison de partager un secret) au lieu de O(n) clefs en cryptographie asymétrique. 2. (1.5 point) Qu évoquent pour vous les noms propres ou communs suivants : Turing, DLP, Diffie, Hellman, Enigma en cryptologie? Vous replacerez ces noms dans leur contexte historique. Enigma est un système de chiffrement utilisé par les Allemands pendant la seconde guerre mondiale, Alan Turing et son équipe ont cryptanalysé Enigma. Diffie et Hellman ont décrit en 1976 un algorithme d échange de clefs qui a marqué l avènement de la cryptographie asymétrique. Le DLP (Discrete Logarithm Problem) consiste dans un groupe cyclique multiplicatif G = g à trouver n tel que g n = a pour a donné dans G. Ce problème est devenu d une actualité brûlante avec l apparition de la cryptographie asymétrique. 3. (1 point) Comment peut-on cryptanalyser un texte chiffré par un cryptosystème mono-alphabétique? Comment cette méthode peut-être généralisée au cas d un chiffrement de type Vigenère? (Vous répondrez de manière concise. Un paragraphe faisant plus de dix lignes ne sera pas considéré par le correcteur.)
Module LI336 - Introduction à la Cryptologie Version enseignant LI336 page 2/5 On compare la fréquence des caractères du texte chiffré avec celle d un texte de référence dans la même langue. Pour un chiffrement de Vigenère, une fois que l on a trouvé la longueur de la clef k, chaque sous-chaîne S i, 1 i k des caractères en position λk + i dans le texte est chiffré par décalage qui est un cas particulier de chiffrement mono-alphabétique et on applique l analyse de fréquences sur chacune de ces sous-suites, ou bien seulement à la première sous-suite si on utilise l indice de multi-coïncidences, pour associer le caractère le plus fréquent de la sous-suite à celui le plus fréquent de la langue, ce qui nous indique le décalage de la sous-suite. 4. (1 point) À quoi sert l échange de clefs de Diffie et Hellman et pourquoi joue-t-il un rôle central en cryptographie? L échange de clefs permet, à partir d un couple (clef publique, clef privée) pour A et B d obtenir une clef de session K commune pour que A et B puissent communiquer par un réseau non sûr sans que la clef K soit jamais transmise sur ce réseau. On utilise la cryptographie asymétrique pour cet échange de clef, la clef K sert ensuite à faire de la cryptographie symétrique entre A et B. 5. (1 point) Quelles sont la principale qualité et la limite de l algorithme Baby Step Giant Step? L algorithme BSGS, qui permet de résoudre le DLP, est optimal puisqu il a un coût en O( H ) et que la résolution du DLP dans un groupe générique nécessite au moins O( H ) opérations dans H. Cet algorithme est cependant limité car il suppose de créer un tableau ou une table de hachage de taille H, donc pour un tableau on est limité par la taille maximale de l index d un tableau, H MAX où MAX est le plus grand entier non signé et il est bien clair que les DLP traités dans la vraie vie n entrent généralement pas dans cette catégorie, et de toute façon pour un tableau ou une table de hachage stocker H éléments a un coût mémoire prohibitif pour tout exemple réaliste. 6. (0.5 point) Quel est l intérêt de l utilisation des courbes elliptiques en cryptographie? Il n y a pas d attaque connue de complexité sous-exponentielle pour les cryptosystèmes à base de courbes elliptiques. L arithmétique sur les courbes elliptiques peut être rendue très rapide. Les clefs sont plus petites pour une sécurité équivalente : il suffit de seulement 160 bits pour les courbes elliptiques pour obtenir la même sécurité qu avec 1024 bits pour RSA. 7. (4 points) Soit le message m = 11 à chiffrer avec le cryptosystème RSA défini avec les clés publique e = 3 (l exposant de chiffrement) et N = 187 (le module). Donner le chiffré c de m. Sachant que N = pq, avec p = 11 et q = 17, déchiffrer c = 23 m 3 = 11 121 = 1331 et c = 1331 mod 187 = 22. Il faut calculer l exposant de déchiffrement d à partir e et φ(n) = (p 1)(q 1) = 160. On a 53 3 = 159 et donc 53 est l inverse de 3 modulo φ(n). On calcule 23 107 mod 187. Pour cela on utilise le CRT. 23 107 mod 11 = 1 mod 11 et 23 107 mod 17 = 6 11 mod 17. Pour ce calcul on a 6 11 = 6 (6 2 ) 5 = 6 (2 5 ) = 6 32 = 6 ( 2) = 12 = 5 mod 17.
Module LI336 - Introduction à la Cryptologie Version enseignant LI336 page 3/5 Reste à remonter le résultat par le CRT. Comme on a la relation de Bézout 1 = 2 17 3 11 on en déduit le clair m = 2 17 + 5 ( 3 11) = 56 mod 187 8. (2 points) Soit a = 1515 et b = 4046 deux entiers. Calculer le logarithme discret de b en base a en tant qu éléments de (Z/1511Z). Nous avons a = 4 mod 1511 et b = 1024 mod 1511 et donc b = a 5 car 2 10 = 1024.
Module LI336 - Introduction à la Cryptologie Version enseignant LI336 page 4/5 Exercice 2 Courbe elliptique sur un corps de caractéristique 2 (12 points) La définition d une courbe elliptique donnée en cours n est valide (en toute généralité) qu en caractéristique différente de 2 et 3. Plus généralement une courbe elliptique est définie par une équation de la forme y 2 + a 1 xy + a 3 y = x 3 + a 2 x 2 + a 4 x + a 6 (1) et ceci quelle que que soit la caractéristique du corps. Dans ce cas, l addition entre deux points est donnée par des équations différentes de celles du cours et par exemple on a pour P = (x, y) un point de la courbe : P = (x, a 3 y a 1 x) Nous allons étudier une telle courbe dans le cas où elle est définie sur un corps K de caractéristique 2. 1. (Points d ordre deux 1 point) Supposons que la courbe E soit définie par une équation de la forme (1) telle que les coefficients dans K vérifient a 3 = a 4 = 0, a 1 = 1, a 6 0 et a 2 0. Montrer que les points de la courbe E définie sur K et d ordre 2 sont ceux dont l abscisse est nulle. Un point P = (x, y) d ordre 2 vérifie par définition P + P = O ce qui est équivalent à P = P. D après l énoncé, ceci revient à (x, y) = (x, a 3 y a 1 x) et d après les hypothèses faites sur la courbe E on a (x, y) = (x, x y) = (x, x + y), la dernière égalité étant obtenue car les coordonnées des points sont dans un corps de caractéristique 2. L égalité sur les ordonnées nous donne y = x + y ce qui est équivalent à x = 0 et le résultat suit. 2. (0.5 point) Montrer que dans K tout élément est un carré. En déduire que la courbe elliptique vérifiant les hypothèses de la question précédente a toujours exactement un point d ordre 2. Soit a un élément de K et notons q le cardinal de K. Alors, d après une version généralisée d un théorème de Fermat et du à Euler (vu en TD), on a a q = a. Comme K est de caractéristique 2 son cardinal q est nécessairement une puissance de 2, soit q = 2 k. Posant r = a 2k 1 K on a bien r 2 = (a 2k 1 ) 2 = a 2k = a q = a, ce qu il fallait démontrer. Plus directement, nous avons vu en cours que le morphisme de Frobenius x x c est bijectif dans un corps de caractéristique c. Donc tout élément est bien le carré d un autre. D après la question précédente, les points d ordre deux sont ceux d abscisse nulle, ils vérifient donc y 2 = a 6. Comme a 6 n a qu un seul antécédent r par le morphisme de Frobenius il existe donc une ordonnée possible et donc un seul point d ordre deux (0, r). 3. (1 point) Soit x 2 + bx + c = 0 une équation du second degré à coefficients dans K dont on cherche les solutions dans K. Pourquoi ne pouvons-nous pas utiliser les formules habituelles pour déterminer les racines de cette équation? Montrer que si b 0 alors cette équation peut être transformée en z 2 + z + c = 0 après un changement de variable que vous exhiberez. Les formules usuelles de résolution d une équation du second degré nécessite de diviser par 2, ce qui est impossible en caractéristique 2. Si b 0 alors b est inversible dans K et on peut considérer le changement de variable z = b 1 x. L équation en x devient alors b 2 z 2 + b 2 z + c = 0 et en divisant le tout par b 2 (qui est lui aussi inversible puisque K est intègre, c est un corps) on obtient l équation z 2 + z + b 2 c = 0. Posant c = c b 2 on obtient le résultat attendu. 4. (0.5 point) Soit α une racine dans K d une équation de la forme z 2 + z + c = 0 avec c dans K. Montrer que α + 1 est aussi une racine de cette équation. Existe-t-il d autres solutions à cette équation? (Argumentez votre réponse.)
Module LI336 - Introduction à la Cryptologie Version enseignant LI336 page 5/5 Soit Q(z) le polynôme z 2 + z + c. Par hypothèse, on a Q(α) = 0. Évaluons Q en α + 1. On a Q(α + 1) = (α + 1) 2 + (α + 1) + c = α 2 + 1 + α + 1 + c = Q(α) = 0 où la deuxième égalité est obtenue par application du Frobenius. Il est donc clair que α + 1 est aussi une solution de l équation Q(z) = 0. D après un théorème de Lagrange vu en TD, comme Q est de degré 2 il ne peut pas avoir plus de deux racines ou encore Q(z) = 0 ne peut avoir plus de deux solutions dans K. 5. (3 points) Déduire des questions précédentes une méthode générale pour résoudre une équation du second degré x 2 + bx + c = 0 à coefficients dans K. Pour se faire, on exprimera les solutions de cette équation à partir de celles d une équation du second degré plus simple (c est-à-dire n ayant qu un seul coefficient différent de 1). Notez que dans le cas usuel c est aussi ce que nous faisons puisque nous exprimons les racines en fonctions de racines carrées (ces dernières étant des solutions d une équation de la forme z 2 c = 0). Si b = 0 alors la solution unique est le résidu quadratique de c dans K, c est-à-dire c 2k 1 comme vu à l une des questions précédentes. Si b 0 alors, après changement de variable z = b 1 x, on s intéresse à une équation z 2 + z + c = 0 où c = b 2 c. Cette équation est plus simple que la première, considérons donc ses racines α et α+1. Les solutions de la première seront alors bα et b(α + 1). 6. (1.5 points) Nous avons vu en cours et en TD une méthode générale pour calculer les points rationnels d une courbe elliptique sur un corps premier de cardinal > 3. Déduire de la question précédente une variante de cette méthode dans le cas d une courbe définie sur K de la forme de celle de la question 1. On commence par faire deux tableaux de correspondance entre antécédents et images de b b 2 et z z 2 + z à partir de toutes les valeurs de K. Pour chaque abscisse x possible dans K, on évalue l équation de la courbe en cette abscisse et on se retrouve à résoudre une équation du second degré. En utilisant la méthode de la question précédente et les tableaux que nous venons de calculer, on transforme cette équation en une équation simple et on calcule les solutions pour obtenir les ordonnées correspondantes. 7. (0.5 point) Donner une construction explicite d un corps de cardinal 8. On notera pour la suite K un tel corps. Montrer que tout élément non nul et différent de 1 dans K est un générateur du groupe multiplicatif K. On utilise un polynôme irréductible de degré 3 à coefficients dans F 2. D après la correction de l examen de première session, nous savons que x 3 + x + 1 est un tel polynôme. Le corps K peut alors être construit à l aide du quotient F 2 [x]/ x 3 + x + 1. 8. (4.5 points + bonus à tout va s ils vont jusqu ici!!!) Soit ω un élément d ordre 7 dans K, le corps de la question précédente, et E la courbe elliptique définie sur K par l équation y 2 + xy = x 3 + x 2 + ω Donner l ensemble des points rationnels, l ordre du groupe construit à partir de E et montrer qu il est cyclique.