Vous êtes sur la page 1sur 6

Initiation ` a la cryptographie

Correction TD de cryptographie no 1
ESIAL 2A TRS

Introduction, concepts g en eraux


Ce TD va permettre de revenir sur les notions de recherche exhaustive et de shabituer a manipuler la cryptographie ` ` a cl e secr` ete et cl e publique.

Se familiariser avec les ordres de grandeur

Exercice 1. Mot de passe Un syst` eme est prot eg e par un mot de passe. Apr` es un essai infructueux le syst` eme attend 1s avant de redemander le mot de passe. Combien de temps faudra-t-il pour p en etrer le syst` eme dans les cas suivants : 1. le mot de passe est un pr enom ; 2. cest un mot du dictionnaire ; 3. il est compos e de 4 chires ; 4. il fait 8 caract` eres.

Correction : 1. LINSEE publie la liste des 20000 pr enoms donn es en France depuis 1946. En pratique, seul un millier de pr enoms sut ` a d esigner plus de la moiti e de la population fran caise. Il faudrait ainsi, en moyenne moins de 17 minutes et dans le pire des cas moins de 5 heures et 30 minutes pour retrouver le mot de passe. 2. Le fran cais compte environ 200000 mots dont seulement 3000 sont utilis es couramment, soit donc 2 jours et 8 heures au maximum et vraisemblablement moins de 50 minutes. 3. Il y 104 = 10000 mots de passe di erents constitu es de 4 chires, ce qui repr esente 2h et 45 minutes pour tous les tester. 4. Si il sagit de 8 lettres minuscules, il faut : 268 s 6600 ann ees. Cependant si lon sautorise les minuscules, les majuscules, les chires et quinze signes de ponctuations : 778 s 4 106 ann ees.

Exercice 2. La force brute Le facteur de travail dun algorithme est le nombre dinstructions el ementaires n ecessaire ` a son ex ecution. La puissance dune machine est le nombre dinstructions quelle ex ecute par unit e de temps. Nous allons approximer la puissance dun PC actuel ` a environ 2000 Mips (millions dinstructions par seconde). Le facteur de travail dun algorithme optimis e pour tester une cl e de 128 bits de lalgorithme AES est denviron 1200 instructions el ementaires. On dispose dun couple clair/chir e connu et on d esire retrouver la cl e utilis ee par force brute, cest-` a-dire en testant toutes les cl es les unes apr` es les autres. Une cl e est constitu ee dun mot de 128 bits. On suppose que toutes les cl es sont equiprobables. 1. En combien de temps une machine de 2000 Mips teste-t-elle une cl e? 2. Combien y a-t-il de cl es possibles ? Quel est le nombre moyen de cl es ` a tester avant de trouver la bonne ? ` quel temps moyen de calcul cela correspond-il si on suppose quun seul PC eectue la 3. A recherche ? Si les 1 milliard de PC de lInternet sont mobilis es ` a cette t ache ?

Correction : 1. t =
facteur de travail puissance

1200 2000

= 0, 6s.

2. Nbre de cl es possibles = 2128 . On consid` ere les cl es possible comme etant les entiers de 0 ` a 2128 1, et la cl e secr` ete est not ee k . On a deux scenarios dattaque par force brute possible. On note n = 2128 . Si on essaie tous les entiers les uns apr` es les autres. La probabilit e, pour un entier i donn e, davoir 1 k = i (et donc davoir exactement i +1 tirages ` a eectuer si on part de 0), est egale ` an . Lesp erance du nombre dessais est donc : n1 n(n + 1) n 1 . (i + 1) = n 2 n 2 i=0 Si on eectue un grand nombre de tirages al eatoires parmi 2128 , on a une loi binomiale. Chaque 1 tirage a une probabilit e de succ` es n = p. La probabilit e quon trouve la cl e au bout de i tirages est : (1 p)i1 p . On a donc lesp erance du nombre de tirages n ecessaires :

E=
i=1

i(1 p)i1 p = pf (1 p), o` u f (x) = 1 1 = . 2 (1 (1 p)) p

1 1x .

=p

3. On use et abuse des approximations 103 = 1000 21 0, 1jour = 216 s, 1an = 29 jour = 225 secondes, etc. On calcule dabord le nombre dinstructions calcul ees en un an ` a la fr equence de 2000 Mips. 2000 Mips.ann ees 2000 220 29 216 245 instructions, 211+20+9+16 256 . Le nombre dinstructions ` a eectuer pour trouver la cl e est : 1200 2127 2138 . Soit un temps de 13856 81 1 8 2 2 ann ees (ou, en base 10 : 2 (2 0) 2 1024 ). Les un milliard ( 230 ) de PC dInternet permettent de gagner un facteur 23 0, ou 109 . Soit quelque chose comme 2 1015 ann ees, soit un petit million de fois l age de lunivers.

Exercice 3. La loi de Moore Il est admis que, gr ace aux progr` es technologiques permanents, la puissance des machines double en moyenne tous les 18 mois (loi empirique de Moore). On suppose maintenant que lon change les machines tous les mois en commen cant avec une machine dune puissance de 1000 Mips. Pour tout entier n, on note Wn le nombre dinstructions ex ecut ees par la machine du mois n. 1. Quel est le facteur dam elioration a de la puissance des machines dun mois ` a lautre ? 2. Calculer W0 , puis Wn en fonction de W0 , de a et de n. 3. Quel est le temps moyen n ecessaire pour trouver la cl e de lexercice pr ec edent avec une machine chang ee tous les mois ?

Correction : 1. On a dun part Wn+1 = aWn et la loi de Moore nous indique que Wn+18 = a18 Wn = 2Wn . On en d eduit donc que a = 18 2. 2. Lhypoth` ese est que la machine a une fr equence de 1000 Mips (230 par seconde), donc en un mois (25 16 jours de 2 secondes, en gros), ca fait 251 instructions. En outre on a : Wn = an W0 . 3. Au bout de n mois, le nombre dinstructions Sn eectu e est W0 + + Wn1 , soit : Sn = W0 (1 + a + + an1 ), an 1 = 251 . a1 Pour que Sn d epasse le nombre dinstructions ` a eectuer, qui est (2127 211 = 2138 ), il faut une ` la calculatrice on obtient a 1 1 . On vise donc : estimation ` a la louche de a 1. A 25 an 1 213851 (a 1), 287 28 2, 25 82 log 2 n , log a 82 18 123 ann ees. Ce qui est tr` es tr` es loin du temps calcul e` a lexercice pr ec edent. Il faut penser ` a rajouter quon a donc besoin de changer 1476 fois dordinateurs.

Fonctions de hachage

Exercice 4. Le buzz free mobile Aujourdhui 6 janvier 2012, les geeks sagitent pour savoir si les forfaits de la marque Free Mobile seront lanc es aujourdhui, demain, ` a P aques, o` u ` a la Saint-Glinglin. Pour amuser la galerie, le site live.free.fr contient un dessin de fus ee, avec les symboles : efb7929e6a5b7dcc6ebb79aa3c45af13. Cette valeur est ce que renvoie la fonction de hachage md5 sur la donn ee jesaispas . Des petits malins y voient aussi un second message cach e en interpr etant la cha ne efb7929e6a5b7dcc6ebb79aa3c45af13 dans le codage ascii. On y lirait NIEL JOIN RACE >>START :

1. Est-il plausible de parvenir ` a fabriquer un message intelligible (si tant est que celui-ci le soit !) dans le hach e dun message intelligible quon passe ` a une fonction de hachage ?

Correction : 1. Non pas du tout. Il nest pas possible de faire sortir ce quon d ecide ` a la fonction de hachage. Inversement, etant donn e une ecriture, si cryptique soit-elle, dun message cach e quon voudrait mettre dans la valeur de hachage, il est impossible de trouver un ant ec edent.

Cl e secr` ete

Exercice 5. C esar / Vig en` ere Le chirement de C esar prend un texte compos e de lettres, et d ecale chaque lettre dun nombre constant de positions dans lalphabet. Ce nombre de positions est la cl e. Pour d eterminer la cl e ` a partir dun message chir e, on fait des suppositions statistiques sur le message dentr ee. Par exemple, si on suppose que le message est en fran cais, la lettre la plus fr equente est le e . Par ordre d ecroissant de fr equence, on trouve : e , s , a , i , t , n , r , u . 1. Est-il plus facile de d echirer un texte long ou un texte court ? 2. Pouvez-vous d echirer le message suivant : pwpnetzyacpdtopyetpwwp Le chirement de Vig en` ere (en fait du ` a Alberti au xv` eme si` ecle) est une sorte de C esar am elior e. La cl e est constitu ee non pas dun, mais de plusieurs d ecalages. Cette cl e est sp eci ee sous forme dun mot qui constitue la cl e. Par exemple la cl e bac , de longueur trois, sp ecie que pour chir e un message, on d ecale la premi` ere lettre dune position (lettre b ), la deuxi` eme de z ero positions (lettre a ), la troisi` eme de deux positions (lettre c ), et ainsi de suite en reprenant la cl e au d ebut. 3. Si lattaquant obtient la connaissance dun couple message clair / message chir e, peut-il d echirer tous les messages chir es ensuite avec cette m eme cl e? 4. On suppose que seulement un message chir e est ` a disposition de lattaquant. Si un attaquant conna t la longueur de la cl e, comment faire pour d echirer ? 5. Dune mani` ere g en erale, ce syst` eme de chirement est-il dicile ` a casser ?


Correction : 1. Un texte long car les fr equences sont alors plus proche des fr equences moyennes de la langue (on a moins de variations). 2. d ecalage a p . 3. Oui puisquil retrouve trivialement la cl e. 4. Il saucissonne le message en morceaux correspondants aux classes de congruence modulo la longueur de la cl e, et il se retrouve avec une cryptanalyse de type C esar. 5. Non, puisquil est ais e de commencer par un pari sur la longueur de la cl e (une hypoth` ese raisonnable etant que la cl e fait moins de vingt caract` eres).

Exercice 6. Am elioration dun syst` eme de chirement Monsieur X utilise pour chirer ses donn ees priv ees le cryptosyst` eme DES, param etr e par une cl e secr` ete k de 56 bits connue de lui seul. Comme Monsieur X a entendu dire que 56 bits etaient bien peu de nos jours, il envisage de rendre plus s ur le stockage de ses donn ees en chirant une seconde fois toutes ses donn ees, avec la cl e DES k = k + 1 (pour chaque donn ee en clair m, la donn ee chir ee est donc c = DESk+1 (DESk (m)), o` u k d esigne la cl e). 1. Est-ce une bonne id ee ? 2. Discuter les avantages et/ou les inconv enients. 3. Monsieur X pense ` a une autre am elioration possible. Il va chirer une fois avec DES, et une fois avec AES128. Comme AES128 a besoin de cl es de 128 bits, il va param etrer son chirement DES par sa cl e secr` ete k , et pour son chirement AES128 la m eme cl e secr` ete k , mais avec des z eros pour faire le remplissage. Est-ce mieux. 4. Quelle erreur fondamentale Monsieur X commet-il, eu egard aux principes de Kerckhos ?

Correction : Monsieur X na rien compris aux principes de Kerchos. Sa cl e reste k . Son hypoth` ese doit etre que son attaquant sait tout ce quil fait hormis la cl e. Or, ici, on na toujours que 256 valeurs de k ` a tester.

Cl e publique

Exercice 7. Quy a-t-il dans une carte bleue ? Une carte bancaire (` a puce) poss` ede un couple cl e publique/cl e priv ee kP , kS . Dans la perspective dune transaction, elle accomplit plusieurs choses. En premier lieu, elle apporte une preuve quelle est une vraie carte, car : Elle produit une signature valide = AkS (m) avec sa cl e priv ee dun message al eatoire quon lui fournit. Elle peut exhiber une preuve que sa cl e publique kP quelle fournit, et qui est n ecessaire pour v erier , est bien une cl e que la banque reconna t comme appartenant ` a un de ses clients. 1. Quelle forme peut prendre la preuve pr ec edemment cit ee ? Quelle connaissance doit avoir le distributeur pour v erier cette preuve ?

2. Logistiquement parlant, est-il pratique de sassurer que tous les distributeurs sur la plan` ete ont cette connaissance ? Quel r ole peuvent jouer alors des organismes plus mondiaux comme Visa, Mastercard ? En second lieu, la carte dit oui ou non ` a une proposition de valeur pour le code PIN que lui relaie le distributeur (celui-ci ne relaie le code PIN que si la carte sest authenti ee aupr` es de lui). Lors dune transaction, la carte a pour vocation de dire ok ou pas ` a un montant de transaction. Elle peut eventuellement aussi dire il faut demander ` a la banque . Pour dire ok , la carte renvoie un code dautorisation qui est une signature du montant de la transaction et du num ero de carte. 3. Si un attaquant parvient ` a trouver la cl e secr` ete kS de la carte, et quil dispose du mat eriel pour fabriquer une carte, que peut-il faire ? M eme question sil parvient ` a trouver la cl e secr` ete de la banque.

Correction : 1. Une signature de la cl e publique, ou m eme dun message contenant la cl e publique kP et dautres infos comme le nom du d etenteur, le num ero de la carte, sa date dexpiration etc, le tout sign e avec une cl e priv ee de la banque. Cette signature (certicat) peut etre v eri ee par qui dispose de la cl e publique de la banque. 2. Il faudrait que tous les distributeurs connaissent les cl es publiques de toutes les banques. Cest facile en terme de stockage, ou du moins pas trop dur, mais logistiquement irr ealisable (on ne peut pas mettre ` a jour tous les distributeurs de la plan` ete chaque fois quune nouvelle banque est cr e ee). Visa et Mastercard, eux, permettent de r esoudre ce probl` eme. Ils donnent aux banques un certicat o` u leur cl e publique est sign ee par la cl e priv ee de Visa (par exemple). Alors il sut pour v erier que les distributeurs connaissent les cl es publiques dune poign ee dorganismes centraux : Visa, Mastercard, GIE Cartes bancaires, . . . 3. Avec la cl e secr` ete de la carte, un attaquant peut fabriquer une fausse carte qui semble valide, puisquelle pr esente le bon certicat sign e par la banque, et (puisque la cl e secr` ete est d ecouverte par lattaquant) quelle peut sauthentier. Dautre part, cette carte peut r epondre toujours oui ` a toutes les questions (oui cest le bon code, oui japprouve la transaction, etc). On appelle cela une yes-card. Sil d ecouvre la cl e secr` ete de la banque, lattaquant peut produire des nouveaux certicats. Il peut donc cr eer des yes-cards associ ees ` a dautres identit es, avec dautres num eros, dautres dates dexpiration, etc.

Vous aimerez peut-être aussi