Professional Documents
Culture Documents
Pierre-Louis CAYREL
www.cayrel.net
1 / 63
2
Table des matires
1 noncs 7
1.1 Ordres de grandeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1 Mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2 Dnombrements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.3 Vider locan avec un d coudre . . . . . . . . . . . . . . . . . . . . . . 7
1.1.4 La force brute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.5 La loi de Moore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Vignre, Polybe et Hill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1 Csar/Vignre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Chiffrement de Vignre . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.3 Chiffrement de Polybe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.4 Chiffrement affine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.5 Chiffrement de Hill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Chiffrement et modes de chiffrement . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.1 Cryptographie cl secrte . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.2 Amlioration dun systme de chiffrement . . . . . . . . . . . . . . . . . 11
1.3.3 Mode ECB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.4 Mode CBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.5 Mode CTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.6 Attaque par insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.7 Mallabilit des chiffrements flot . . . . . . . . . . . . . . . . . . . . . . 13
1.3.8 3DES et 2DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.9 Algorithme de Berlekamp-Massey . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Mthodes de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.1 Square and Multiply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.2 Calcul modulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.3 Thorme des restes chinois . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.4 Autour des nombres premiers . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.5 Test de primalit de Miller-Rabin . . . . . . . . . . . . . . . . . . . . . . 17
1.4.6 Algorithme p 1 de Pollard . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.7 Thorme de Wilson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5 change de clefs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.1 Fonctionnement cl prive vs cl publique . . . . . . . . . . . . . . . . . 18
1.5.2 Cl prive vs cl publique . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.3 Diffie-Hellman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.4 Perte dune cl prive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.5 Attaque par le milieu de Diffie-Hellman . . . . . . . . . . . . . . . . . . . 18
1.6 Chiffrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.6.1 Kid-RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3
4 TABLE DES MATIRES
2 Corrections 31
2.1 Pour se familiariser avec les ordres de grandeur . . . . . . . . . . . . . . . . . . 31
2.1.1 Mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1.2 Dnombrements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1.3 Vider locan avec un d coudre . . . . . . . . . . . . . . . . . . . . . . 31
2.1.4 La force brute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1.5 La loi de Moore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2 Vignre, Polybe et Hill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.1 Csar/Vignre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.2 Chiffrement de Vignre . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.3 Chiffrement de Polybe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.4 Chiffrement affine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.5 Chiffrement de Hill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3 Chiffrement et modes de chiffrement . . . . . . . . . . . . . . . . . . . . . . . . 36
TABLE DES MATIRES 5
5 / 63
6 TABLE DES MATIRES
noncs
1.1.2 Dnombrements
Le nombre de cls disponibles dans un systme de chiffrement donne une borne maximale de
sa scurit (mesure de la complexit dune recherche exhaustive).
1. Quel est le nombre de cls possibles dans un chiffrement de Csar ?
2. Pour un chiffrement affine ? (C(x) = ax + b mod 26 pour chaque caractre x Z26 )
3. Pour un chiffrement par substitution (substitution arbitraire, caractre par caractre) ?
4. Pour un chiffrement de Vignre (avec une cl de longueur k) ?
7
8 CHAPITRE 1. NONCS
de temps. La puissance dun PC actuel est denviron 2000 Mips. (millions dinstructions par
secondes).
Le facteur de travail dun algorithme optimis pour tester une cl de 128 bits de lalgorithme
AES est denviron 1200 instructions lmentaires.
On dispose dun couple clair/chiffr connu et on dsire retrouver la cl utilise par force brute,
cest- -dire en testant toutes les cls les unes aprs les autres. Une cl est constitue dun mot
de 128 symboles binaires. On suppose que toutes les cls sont quiprobables.
1. En combien de temps une machine de 2000 Mips teste-t-elle une cl ?
2. Combien y a-t-il de cls possibles ?
Quel est le nombre moyen de cls tester avant de trouver la bonne ?
3. quel temps moyen de calcul cela correspond-il si on suppose que le milliard de PC de
linternet sont mobiliss cette tche ?
1 2 3 4 5
1 M Y S T E
2 R A B C D
3 F G H I J
4 K L N O P
5 Q U V X Z
Le chiffrement seffectue alors en remplaant chqaue lettre par les deux chiffres : ligne colonne
qui indiquent sa position dans la grille . Par exemple, F est chiffr 31.
1. Expliquer comment on peut cryptanalyser un tel systme : par une attaque clair connu,
puis dans une attaque simple (seulement un chiffr).
Raoul envoie un message Anna pour lui fixer rendez-vous.
Le cryptogramme est le suivant :
123222 512215 424215 512242 242255 534352 111524 225254
322252 512211 515222 532251 142251 154352 21
2. Dcrypter ce message.
Quelle est la svrit de lattaque (distinguer le chiffr dun ala, cassage total,. . .) ?
9 / 63
10 CHAPITRE 1. NONCS
Dans le chiffrement de Hill, chaque lettre de lalphabet est reprsente par un entier compris
entre 0 et 25. Lalgorithme est un chiffrement par blocs de m lettres, qui transforme un bloc
(x1 , x2 , . . . , xm ) en un bloc (y1 , y2 , . . . , ym ) dfini par la relation algbrique :
(y1 , y2 , . . . , ym ) = (x1 , x2 , . . . , xm ) A
o A est une matrice carre dordre m coefficients dans Z26 , tous les calculs sont effectus
modulo 26.
5 1
Par exemple avec m = 2 et A = , le message (10, 21) est chiffr en :
12 3
Sachant que le chiffrement du mot chiffrement avec la mme cl donne le chiffr jvfrtqealv.
Dcrypter (partiellement, les 4 premiers caractres suffiront) le texte suivant qui a t obtenu
en appliquant le chiffrement de Hill sur des blocs de taille 2 sur un mot de la langue franaise :
gzatzxjihvbreosu 4pts
Indications :
a b
Posons : M = M4 (Z26 ) la matrice utiliser pour le dchiffrement.
c d
Le fait que M transforme
le bigramme
jven le bigramme ch et le bigramme fr en le bigramme
9 5 2 8
if, nous donne 3 : M. =
21 17 7 5
11 / 63
12 CHAPITRE 1. NONCS
2. Si d = 1 alors
t(X) = f (X) et f (X) = f (X) + g(X)X N m .
Si 2L 6 N alors L = N + 1 L, m = N, g(X) = t(X).
1. Appliquer lalgorithme de Berlekamp Massey la suite : 001101110 .
2. Puis concluez en vrifiant votre rponse.
13 / 63
14 CHAPITRE 1. NONCS
au + bv = d
360 = 51 7 + 3
7 = 23+1
1 = 7 2 3 mod 360
1 = 7 2 (360 51 7) mod 360
1 = 7 + 102 7 mod 360
1 = 7 (1 + 102) mod 360
1 = 7 103 mod 360
Do d = 103.
56 = 31 mod 170; 37 = 131 mod 143; 113 = 171 mod 120; 219 = 191 mod 520.
4137 mod 527 = 113; 57 mod 403 = 346; 12817 mod 407 = 50;
2.
529436 mod 66
3.
10234096 mod 1024
4.
4562308 mod 234327
15 / 63
16 CHAPITRE 1. NONCS
On a alors :
x = u1 M1 r1 + u2 M2 r2 + ... + uk Mk rk + nM
avec n entier.
Application - 1
Une bande de 17 pirates sest empare dun butin compos de pices dor dgale valeur.
Ils dcident de se les partager galement et de donner le reste au cuisinier chinois. Celui-ci
recevrait trois pices. Mais les pirates se querellent et six dentre eux sont tus. Le cuisinier
recevrait alors 4 pices. Survient alors un naufrage et seuls 6 pirates, le cuisinier et le trsor
sont sauvs et le partage laisserait 5 pices dor ce dernier.
Quelle est alors la fortune minimale que peut esprer ce dernier sil dcide dempoisonner le
reste des pirates ?
Application - 2
Pour vous entraner, vous appliquerez le thorme des restes chinois deux des systmes de
congruences suivants (vrifiez votre rsultat) :
x = 0 mod 5 x = 0 mod 5
1. x = 4 mod 7 3. x = 6 mod 7
x = 4 mod 19 x = 1 mod 19
x = 2 mod 5 x = 5 mod 6
2. x = 5 mod 7 4. x = 4 mod 11
x = 10 mod 19 x = 3 mod 17
Application - 3
Choisissez, sans me le dire, un nombre entier entre 1 et 500.
Je vais seulement vous demander trois nombres construits laide de celui-ci et je retrouverais
sans trop de difficult le nombre que vous aviez choisi.
Pour cela, diviser votre nombre par 5 et donner moi le reste obtenu.
Faites de mme avec la division par 7 et celle par 19.
Ces trois restes suffisent pour retrouver votre nombre.
Raliser cette exprience avec votre voisin (avec trois nombres premiers entre eux de votre
choix).
Noter sur une feuille, que vous me rendrez, lensemble des rsultats.
1.4. MTHODES DE CALCUL 17
17 / 63
18 CHAPITRE 1. NONCS
1.5.3 Diffie-Hellman
Dterminer la cl commune dAlice et Bob dans le cas o p = 23 et g = 3 et Alice choisit un
nombre secret a = 6 et Bob choisit b = 15.
1.6 Chiffrement
1.6.1 Kid-RSA
Cet exemple indiqu des fin pdagogiques par Neil Koblitz donne une ide de ce que peut
tre la cryptographie cl publique. Evidemment il nest pas raliste dans la mesure o il est
lmentairement cassable. Les lettres A, B, . . . , Z sont reprsentes par les nombres 0, 1, . . . , 25.
Alice choisit 4 entiers > 3 nots a, b, a0 , b0 et calcule successivement :
M = ab 1 e = a0 M + a
ed 1
d = b0 M + b n=
M
Alice rend public (dans un annuaire par exemple) le couple (n; e) (sa cl publique) et maintient
d secret (sa cl prive). Lutilisation du systme se fait de la faon suivante : si Bob dsire
envoyer un message Alice, il chiffre successivement toutes les lettres de ce message en faisant
correspondre tout nombre m compris entre 0 et 25 le nombre c = em mod n.
1. Montrer que n > 25. Pourquoi est-il souhaitable quil en soit ainsi ? Montrer que e et n
sont premiers entre eux.
2. Comment Alice peut elle rcuprer simplement m lorsquelle a reu c ?
3. Charlie coute la ligne de communication entre Alice et Bob et disposent donc de c.
Comment peut-il attaquer le systme et dcouvrir m ?
4. Utiliser ce systme pour signer un message.
19 / 63
20 CHAPITRE 1. NONCS
On utilise les notations habituelles du chiffrement RSA : N est un entier et p et q sont deux
entiers premiers tels que N = pq. On note lindicatrice dEuler = (N ) = (p 1)(q 1) et
e et d sont deux lments de Z/N Z tels que ed = 1 mod .
1. On souhaite utiliser lalgorithme de chiffrement RSA.
Comment chiffre-t-on un message m ? 0.5pt
Et comment dchiffre-t-on un message c ? 0.5pt
Parmi les entiers N, p, q, , e et d quels sont ceux qui doivent rester secrets ? 0.5pt
Montrer que la divulgation de lune quelconque des valeurs secrtes permet de retrouver
toutes les autres valeurs prives. 2pts
2. On pose N = 1003 et e = 3.
Calculer p, q et . 1pt
Que vaut alors lentier d associ e ? 1pt
Que vaut le message chiffr c associ au message clair m = 4 ? 0.5pt
Dans ce cas particulier, est-il possible de retrouver m partir de c sans connatre d ?
1pt
3. On pose dsormais N = 65.
Donner tous les couples (e, d) possibles. 1pt
Chiffrer le message m = 4 en utilisant e = 5. 0.5pt
Vrifier le rsultat obtenu en le dchiffrant laide de la clef prive correspondante.
1.5pt
1.6.5 RSA-3
Dans tout cet exercice, on se donne trois entiers premiers impairs p, q et r differents deux
deux. Soit n lentier gal au produit pqr. On sintresse ici un cryptosystme identique RSA.
1. Montrer que lon peut dfinir, de la mme manire que pour RSA, une fonction de chiffre-
ment et de dchiffrement ainsi quun cryptosystme cl publique en utilisant lentier N.
Vous exhiberez les cls publiques et prives et dfinirez lensemble des messages possibles.
On notera ce cryptosystme RSA-3 dans toute la suite de lexercice.
2. Rappeler quels sont les messages qui sont dangereux lors de lutilisation de RSA.
Quels seront ceux qui seront dangereux pour RSA-3 ? (Vous argumenterez votre rponse.)
3. Montrer quil est possible dutiliser le thorme des restes chinois lors du dchiffrement
dun message.
4. Donner le chiffrement de x = 13 et le dchiffrement de y = 11 en utilisant le thorme
des restes chinois avec p = 3, q = 5, et r = 7 et e (lexposant de chiffrement) gal 19.
21 / 63
22 CHAPITRE 1. NONCS
1. A d ne ( N)
2. x = A2 n ( N)
3. Tant que x nest pas carr parfait
(a) A A + 1
(b) x A2 n
4. Retourner p = A + x et q = A x
On appelle falsifier une signature le fait den crer une de toutes pices.
Quelles signatures ve est-elle capable de falsifier dans ces conditions ?
4. On suppose quve souhaite falsifier la signature dun message cible not mt quelle a
aussi russi factoriser en fonction des j :
Y
mt = j j .
j
avec : p
c = 3 64/9.
k est une constante qui dpend de la qualit du programme.
1. Calculer k sachant quen 1999, un entier de 512 bits a t factoris par une quipe inter-
nationale avec un facteur de travail de 8000 Mips-annes ;
2. Avec cette valeur, quel est le facteur de travail ncessaire pour factoriser un entier de 768
bits ? et 1024 bits ?
23 / 63
24 CHAPITRE 1. NONCS
o h(.) est une fonction de hachage. Le couple (r, s) est la signature du message m.
2. Dcrire une attaque contre ce schma de signature si le mme ala k est utilis pour signer
deux messages diffrents. De quel type dattaque sagit-il ?
1.8. SIGNATURE ET HACHAGE 25
25 / 63
26 CHAPITRE 1. NONCS
1.9 Hachage
1.9.1 Fonction de hachage faiblement sans collision
Dfinition : Soit h : X Y une fonction de hachage.
h est dite sens unique si, pour presque tout y de Y, il est calculatoirement infaisable de
trouver x tel que y = h(x).
h dite faiblement sans collision si, pour x donn, il est calculatoirement infaisable de
trouver x0 tel que h(x0 ) = h(x).
h est dite sans collision sil est calculatoirement infaisable de trouver x et x0 tels que
h(x) = h(x0 ).
1. Montrer que sans collision implique faiblement sans collision et que sens unique im-
plique faiblement sans collision.
2. Montrer quune fonction peut tre sans collision mais pas sens unique.
Est-il plausible dobtenir fabriquer un message intelligible qui donne un hach intelligible ?
1.10. AUTHENTIFICATION 27
1.10 Authentification
1.10.1 Authentification clef secrte
Il existe des protocoles permettant dauthentifier une entit A auprs dune entit B. Cela
prsuppose donc que A sache effectivement que lentit vrificatrice est bien B, et pas un
attaquant C qui se fait passer pour B. Or lors de la plupart des connexions, rien ne len
assure. Il faudrait alors que B sauthentifie galement auprs de A. Cest ce quon appelle
lauthentification mutuelle.
Lide gnrale est alors de reprendre les protocoles qui existent pour lauthentification dune
entit et de lappliquer de manire symtrique pour authentifier B auprs de A. Nous allons
voir sur deux exemples quil est tout de mme ncessaire de prvoir quelques ajustements.
1. Expliquer pourquoi il nest pas possible de faire de lauthentification mutuelle par mot de
passe.
2. Suggrer alors une attaque qui permet de rcuprer un mot de passe Unix. Enumrez
dautres situations dans lesquelles une interception de mot de passe est possible en lab-
sence dauthentification du serveur.
On cherche maintenant utiliser une authentification de type dfi-rponse utilisant un
systme cl secrte. Considrons le protocole suivant qui utilise un chiffrement cl
secrte. A et B partagent au pralable une cl secrte K.
(i) A tire une valeur alatoire rA et lenvoie B;
(ii) B tire une valeur alatoire rB et calcule = EK (rA , rB ). B envoie A;
(iii) A calcule DK (). Sil ny a pas eu dattaque, il retrouve rA : B sest authentifi. Il
prend connaissance de rB . Il envoie rB B : A sest authentifi.
3. Trouver une attaque de ce protocole par rejeu. On donne les lments de dpart de
lapproche. Le participant A est honnte, et lattaquant C (malhonnte) se fait passer
pour B.C va, paralllement la tentative dauthentification mutuelle manant de A (vers
B, pense-t-il) appele session 1, initier une session dauthentification vers A (en faisant
croire quelle mane de B), quon appellera session 2. Les messages de ces deux sessions
sentrelacent.
Les premires tapes sont (exactement dans cet ordre) :
session 1 : A envoie rA C.
session 2 : C envoie rA A.
Complter, et expliquer do provient le problme.
4. Suggrer une amlioration.
27 / 63
28 CHAPITRE 1. NONCS
1.11.2 Certificats
Discuter les trois scnarios suivants en termes de scurit :
1. Deux certificats diffrents sont signs par la mme clef prive.
2. Deux certificats diffrents contiennent la mme clef publique.
3. Deux certificats diffrents ont la mme signature.
29 / 63
30 CHAPITRE 1. NONCS
Corrections
Cependant si lon sautorise les minuscules, les majuscules, les chiffres et quinze signes de
ponctuations :
778 s 4 106 annes.
2.1.2 Dnombrements
1. 26, trivialement [environ 4,7 bits].
2. On a 26 choix pour b, mais a doit tre inversible modulo 26, sinon on ne peut pas dchiffrer !
Donc il y a (26) = (13 1)(2 1) = 12 choix pour a.
Au total : 26 12 = 312 cls [environ 8,29 bits].
3. On a droit toutes les permutations des valeurs [0,26] : chaque lettre est transforme en
lune des 26 autres, mais de faon bijective. Donc 26 ! cls possibles [88,4 bits ... mais cest
sans compter lexploitation des redondances linguistiques].
4. Il y a 26 choix possibles pour chacun des k caractres donc 26k cls possibles [4,7 bit par
caractre de cl].
31
32 CHAPITRE 2. CORRECTIONS
Sn = W0 (1 + a + + an1 ),
an 1
= 251 .
a1
Pour que Sn dpasse le nombre dinstructions effectuer, qui est (2127 211 = 2138 ), il
1
faut une estimation la louche de a 1. la calculatrice on obtient a 1 25 . On vise
donc :
287
an 1 213851 (a 1), 282 ,
25
2.1. POUR SE FAMILIARISER AVEC LES ORDRES DE GRANDEUR 33
82 log2 2
n 82 18 123 annes.
log2 a
Ce qui est trs trs loin du temps calcul lexercice prcdent.
Il faut penser rajouter quon a donc besoin de changer 1476 fois dordinateurs.
33 / 63
34 CHAPITRE 2. CORRECTIONS
2a + b = 17
17a + b = 14
qui a comme solution (a, b) = (5, 7).
2.2. VIGNRE, POLYBE ET HILL 35
2. Si on chiffre deux fois par un chiffre affine de cl (a0 , b0 ) on obtient une fonction qui
x Z/26Z associe :
a0 (a0 x + b0 ) + b0 = a02 x + (a0 b0 + b0 ).
On obtient donc un chiffre affine de cl (a00 , b00 ) avec :
a00 = a02
b00 = a0 b0 + b0
NGBAMX est reprsent par la suite dentiers : [13, 6, 1, 0, 12, 23].
La rsolution du systme :
2a00 + b00 = 13
17a00 + b00 = 6
donne cette fois : (a00 , b00 ) = (3, 7).
La matrice multiplie M nest pas inversible dans M4 (Z26 ) (son dterminant est pair et donc
non inversible dans Z26 ), nous considrons donc le bigramme suivant : tq qui doit tre dchiffr
en fr et nous obtenons la nouvelle quation :
9 19 2 5
M. =
21 16 7 17
Soit : 1
2 5 9 19
M= .
7 17 21 16
2 5 16 19 1 17
= (51 mod 26) . =
7 17 21 9 3 4
Le dchiffrement du bigramme gz donne alors :
1 17 6 15
. =
3 4 25 14
35 / 63
36 CHAPITRE 2. CORRECTIONS
Ja|ck|??|10|50|00 Q9|2D|FP|VX|C9|IO
2. Si il ny avait pas dIV deux blocs identiques aux mmes positions de deux fichiers alors
leurs chiffrs seraient identiques et on le saurait. Si lon pense aux exemples prcdents,
on pourrait dire par exemple : 4 personnes ont le mme salaire ou le centre des deux
images est identiques.
3. Seulement deux blocs sont altrs.
2.3. CHIFFREMENT ET MODES DE CHIFFREMENT 37
C = Ek,IV (M ) = M S(k, IV )
2. Si on pose C 0 = C M 0 , on a alors :
3. Si on connat le format des messages changs, il est alors facile den transformer le sens :
transformer
TRANSFER $0000100.00 TO ACCOUNT #199 en
TRANSFER $0100000.00 TO ACCOUNT #227
ne demande pas beaucoup dinformation supplmentaire.
37 / 63
38 CHAPITRE 2. CORRECTIONS
(a) 2DES est plus rapide que 3DES mais plus lent que DES et a priori il est plus
robuste que DES. Navement, on peut estimer la force cryptographique ajoute
par 2DES un facteur de 2 puisque on applique deux fois DES avec deux cls
diffrentes.
i. Avec DES, on chiffre un bloc de 64 bits avec une cl de 56 bits. Avec 2DES,
on chiffre un bloc de 64 bits avec une cl de 112 bits (56 + 56 bits). Si on
considre un message m de 64 bits, le message chiffr c avec 2DES correspondant
(c = 2DES(k; m)) est aussi de 64 bits. Pour un message m donn, il y a 264
valeurs possibles pour le message chiffr c.
Puisquil y a 2112 valeurs possibles pour la cl, en moyenne il y a donc 2112 /264 =
248 valeurs de cls possibles qui donnent le mme message c.
ii. Meet in the middle attack : attaque permettant de faire un compromis entre
le temps de calcul et lespace de stockage utilis pour la cryptanalyse (Dif-
fie et Hellman 1977). Lattaquant construit deux listes L1 et L2 telles que :
L1 = {DES(k; m); k} et L2 = {DES 1 (k; c); k}. Il retrouve ainsi deux
listes de textes chiffrs intermdiaires. Parmi ces textes intermdiaires, il y a
en moyenne 248 chiffrs que lon retrouve dans les deux listes. Lattaquant re-
trouve ainsi en moyenne 248 cls possibles (meet in the middle). Si lattaquant
connat une deuxime paire de texte clair/chiffr, il peut refaire les mmes op-
rations en utilisant cette fois les cls obtenues partir de la premire paire et
ainsi augmenter la probabilit de retrouver la cl secrte.
iii. Le nombre de cls possibles en moyenne se rduit 248 /264 = 216 . La probabilit
que lattaquant retrouve la cl secrte est donc gale 1 216 Il faut savoir
que la cryptanalyse de DES requiert un effort de lordre de 255 oprations du
fait de la proprit de complmentarit de DES. Donc, lattaquant de 2DES
effectue en tout 255 oprations de chiffrement et 255 oprations de dchiffrement
pour la premire paire de textes clair/chiffr et 248 oprations de chiffrement et
248 oprations de dchiffrement pour la deuxime paire : un effort de lordre de
2 (255 + 248 ) < 257 oprations. La cryptanalyse de 2DES ncessite donc un
effort de lordre dune attaque de recherche exhaustive dune cl de 57 bits.
2.3. CHIFFREMENT ET MODES DE CHIFFREMENT 39
Conclusion :
Le LFSR de longueur 5 ayant pour polynme de rtroaction X 5 + X 3 + 1 gnre donc la suite
donne.
Attention ! Le polynme que lon trouve via Berlekamp-Massey correspondant aux bits que
lon considre pour la rtroaction (X tant le bit le plus GAUCHE dans le registre).
Le polynme se lit donc dans lautre sens ...
39 / 63
40 CHAPITRE 2. CORRECTIONS
Daprs le thorme des restes chinois (puisque 17, 11 et 6 sont premiers entre eux deux deux),
les solutions sont de la forme :
x = u1 11 6 3 + u2 17 6 4 + u3 17 11 5 + n 17 11 6
ou encore
x = 198u1 + 408u2 + 935u3 + 1122n
avec n entier.
Il reste trouver les ui .
On a x mod 17 = u1 11 6 3 mod 17 = 3 mod 17 donc u1 est linverse de 11 6 mod 17.
On a par division euclidienne :
66 = 3 17 + 15 17 = 1 15 + 2 15 = 7 2 + 1
2.4. MTHODES DE CALCUL 41
Application - 2
1. 270 3. 20
2. 257 4. 785
Application - 3
Pas de correction
Pour que 2n2 + 5mn + 3m2 soit premier, il est ncessaire que n + m = 1 ou que
2n + 3m = 1.
Or n et m sont des entiers naturels donc
n + m = 1 n + m = 1 (n = 0 et m = 1) ou (n = 1 et m = 0)
41 / 63
42 CHAPITRE 2. CORRECTIONS
3. Les 1 000 entiers conscutifs 1001! + 2, 1001! + 3, ..., 1001! + 1001 sont respectivement
divisibles par 2, 3, ... , 1 001 et sont donc tous composs ;
Par exemple,
1001! + 2 = 1 2 3 1001 + 2 = 2(3 1001 + 1)
donc 2|1001! + 2 (et 1 < 2 < 1001! + 2);
Ils forment donc 1 000 entiers naturels conscutifs, tous composs. Ainsi, les nombres
premiers sont infinis mais on peut trouver des "plages" aussi grandes quon veut sans
nombres premiers !
4. On calcule 237900 mod 379001 en utilisant lexponentiation rapide.
On a 37900 = 32768 + 4096 + 1024 + 8 + 4 donc
237900 = 17168 455 22213 256 16 = 12802 mod 37901
donc 37901 nest pas premier. Malheureusement, le thorme de Fermat ne permet pas
de montrer directement quun entier est premier.
1 p 1 = 1 p 1 = 1
43 / 63
44 CHAPITRE 2. CORRECTIONS
2.5.4 Diffie-Hellman
Elle envoie Bob la valeur g a mod p = 36 mod 23 = 16.
Bob envoie Alice la valeur g b mod p = 315 mod 23 = 12.
Alice peut maintenant calculer la cl secrte :
(g b mod p)a mod p = 126 mod 23 = 9
Bob fait de mme et obtient la mme cl quAlice :
(g a mod p)b mod p = 1615 mod 23 = 9.
2.5. CHANGE DE CLEFS 45
45 / 63
46 CHAPITRE 2. CORRECTIONS
2.6 Chiffrement
2.6.1 Kid-RSA
1. ed 1 = (a0 M + a)(b0 M + b) = a0 b0 M 2 + M (a0 b + ab0 ) + ab 1 = M (a0 b0 M + a0 b + ab0 + 1).
Donc n = a0 b0 M + a0 b + ab0 + 1. Par suite si les nombres a, a0 , b, b0 sont > 3 alors M > 8
et n > 91.
Il est important que n soit > 25 car comme on travaille modulo n si on veut avoir une
chance que deux messages m et m0 distincts (0 6 (m, m0 ) 6 25) soient toujours chiffrs
diffremment il est ncessaire que cette condition soit ralise.
Remarquons que nM ed = 1 et donc que tout nombre qui divise n et e divise 1. Donc
e et n sont premiers entre eux.
2. Alice calcule
cd mod n = edm mod n = m mod n = m.
3. Il suffit Charlie de trouver un nombre d1 tel que
ed1 = 1 + kn
Comme e est premier avec n ceci revient la rsolution dun problme de Bzout.
4. Pour signer un message m Alice utilise sa cl prive pour calculer s = md mod n et joint
la signature s au message m. Celui qui reoit le message m sign avec s na plus qu
utiliser la cl publique dAlice pour calculer se mod n et vrifier quil obtient bien m.
n e C p q m
143 17 84 11 13 2
247 5 115 13 19 20
319 11 133 11 29 12
323 25 19 17 19 19
403 7 346 13 31 5
407 17 50 11 37 128
583 19 207 11 53 192
4717 21 2804 53 89 2
47 / 63
48 CHAPITRE 2. CORRECTIONS
2.6.5 RSA-3
1. Il ny a rien a changer, on choisit un couple dentiers (e; d) tel que ed = 1 mod (n),
on chiffre le message clair x par y = xe mod n et on dchiffre le message chiffr y par
x = y d mod n.
La clef publique est (e; n), la clef prive (d; p; q; r) et lensemble des messages possibles
est Z/nZ car pour tout message m Z/nZ nous pouvons montrer comme pour RSA que
m = DRSA3 (ERSA3 (m)). On a
x(n) = 1 mod n
(0d = 0; yqr
d
= (xeqr )d mod (qr) = xed
qr mod (qr)).
xqr = x mod (qr) est premier avec qr (parce que x est un multiple de p premier avec qr)
(qr)
donc daprs le petit thorme de Fermat, xqr = 1 mod (qr) et xed qr = xqr mod (qr).
d
Dans Z/nZ, le couple (0; yqr mod (qr) = xqr ) de Z/pZ Z/qrZ redonne videmment par
le thorme des restes chinois x.
2. Les messages dangereux pour RSA sont ceux qui ne sont pas premiers avec n, puisqualors
on trouve un facteur commun au message et n donc un des deux facteurs premiers de n,
on en dduit lautre puis (n), on obtient alors d linverse modulaire de e modulo (n),
cest-a-dire toute la clef secrte.
Il en va de mme ici : les messages dangereux pour RSA-3 sont ceux qui ne sont pas
premiers avec n, puisqualors on trouve un facteur commun au message et n, cest--
dire soit un facteur, disons p, soit le produit de deux facteurs pq et on dduit le facteur
n
r = pq , dans tous les cas on dduit un des trois facteurs de n et le produit des deux autres.
En soi un seul message nest pas dangereux, il faudra avoir la chance den trouver un
second qui nous apporte la connaissance dun autre facteur de n pour connatre alors la
factorisation de n, do (n) et d linverse modulaire de e modulo (n), cest-a-dire toute
la clef secrte.
49 / 63
50 CHAPITRE 2. CORRECTIONS
3. Algorithme
On reoit y et on doit calculer x = y d mod n. On calcule
puis
xp = y dp mod p; xq = y dq mod q; xr = y dr mod r
4.
car
5 19 = 95 = 2 48 1.
Le chiffre de x = 13 est xe mod N = 1319 mod 105.
On a
132 = 169 = 105 + 64 = 64 mod 105
et
642 = 4096 = 39 105 + 1 = 1 mod 105
donc
xe mod N = 1319 mod 105 = 649 13 = 14 64 13
= 463 11 = 16 46 11 = 1 11 = 11.
2.6. CHIFFREMENT 51
d = 0 mod 25
d = 3 mod 31
Par le thorme des restes chinois, ce systme quivaut la congruence d = 400 mod 775, et
donc Alice et Bob changeront leurs cls le mme jour dans 400 jours.
51 / 63
52 CHAPITRE 2. CORRECTIONS
X 2 (n (n) + 1)X + n = 0
Vrification :
p2 (n n + p + q 1 + 1)p + n = p2 pn + pn p2 pq + p p + n = 0.
(m11 m22 )d mod n = m11 d mod n m22 d mod n = s11 s22 mod n
o i {1, 1}.
4. Compte tenu du rsultat de la question prcdente, il faut quve ait en sa possession des
messages tels quil soit possible de trouver un ensemble dindices I pour lesquels
X
j, i i,j = j .
iI
Si elle ne trouve pas un tel ensemble dindices, elle doit trouver un moyen de faire si-
gner Alice un message dapparence anodine de la forme ci-dessus tel quil complte
lensemble dindices recherch. Lensemble dindices recherch peut tre vu comme un
vecteur solution dun systme linaire.
= k exp (64 9 512)1/3 = k exp( 294912) k exp(66.563)
3
53 / 63
54 CHAPITRE 2. CORRECTIONS
2.8 Signature
2.8.1 Signature RSA
1. Avec p = 17 et q = 23, on a n = p q = 391 et (n) = (p 1)(q 1) = 352.
2. e = 11 nest pas un exposant de vrification correct car il nest pas premier avec (n).
En effet on a pgcd(11, 352) = 11. e = 13 en revanche convient et on peut calculer lexpo-
sant de signature correspondant par lalgorithme dEuclide tendu :
352 = 13 27 + 1
13 = 1 13 + 0
On a donc : 1 352 + (27) 13 = 1
Donc modulo (n) on a 13 (27) = 1. Do d = 27 = 325 mod 352
3. SIGN (100, 325) = 100325 mod 391. On a 325 = 256 + 64 + 4 + 1 donc on calcule :
100325 = 100 (100 (100 1004 )16 )4 mod 391
= 100 (100 (100 186)16 )4 mod 391
= 100 (100 22316 )4 mod 391
= 100 (100 52)4 mod 391
= 100 (117)4 mod 391
= 100 16 mod 391
= 36 mod 391
4. On calcule 3613 mod 391. On a 13 = 8 + 4 + 1 donc on calcule :
3613 = 36 (36 362 )4 mod 391
= 36 (46656)4 mod 391
= 36 (127)4 mod 391
= 36 220 mod 391
= 100 mod 391
k = 213 est un bon choix car gcd(213, 466) = 1, donc on pourra diviser par k :
Via Euclide on a :
16 466 + (35) 213 = 1 mod 466.
Linverse de 213 est donc 35 qui vaut 431 mod 466.
La signature est
a = g k = 2213 mod 467 = 29
et
b = (m xa) k 1 = (100 65 29) 431 mod 466 = 31.
4. On calcule les deux valeurs suivantes :
4
gm = 2100 = (2 (26 )4 ) = (2 644 )4
= (2 241)4 = 189 mod 467
y a ab = 27129 2931 = 322 295 = 189 mod 467.
do par soustraction :
Il sagit donc dun cassage total (rcupration de la cl secrte) dans une attaque deux
messages connus.
55 / 63
56 CHAPITRE 2. CORRECTIONS
2.9 Hachage
2.9.1 Fonction de hachage faiblement sans collision
1. Si pour x0 donn on peut trouver x tel que h(x) = h(x0 ) alors on peut utiliser ce mme
couple pour montrer que h nest pas sans collision. Donc non faiblement sans collision
implique non sans collision : par contrapose, on obtient le rsultat.
Si une fonction nest pas faiblement sans collision alors, pour x donn, on peut trouver
x0 tel que h(x0 ) = h(x). Comme on est capable de trouver un antcdent y = h(x), la
fonction nest pas sens unique.
2. On prend, pour n fix, la fonction de Fn2 Fn2 qui x associe x. Cette fonction est bien
sans collision, mais elle nest pas sens unique puisque lon peut facilement trouver des
antcdents.
57 / 63
58 CHAPITRE 2. CORRECTIONS
2.10 Authentification
2.10.1 Authentification clef secrte
1. Il nest pas possible de faire de lauthentification mutuelle par mot de passe tout simple-
ment parce quon ne peut donner un mot de passe qu une entit de confiance (on doit
tre sr de qui elle est) ce qui nest videmment pas le cas si on a besoin dauthentification
mutuelle
2. Le faux cran de login (par exemple). Il est possible si un serveur DNS est compromis
quun nom renvoie une adresse IP diffrente. Un utilisateur non averti peut donc penser
communiquer avec le vritable serveur.
3. Il suffit que lattaquant C lance en parallle une autre session dauthentification mutuelle
vers A en rejouant immdiatement les alas envoys et en entrelaant correctement les
envois de manire faire calculer A les valeurs des rponses. Cela donne :
y v e = r+es es = r = x mod p
s = (e e0 )1 (y y 0 ) mod q.
Notons que pour cela il a seulement besoin dinverser un entier modulo q et de multiplier
deux entiers modulo q, toutes oprations rapides.
2.11.2 Certificats
1. Le fait que deux certificats soient signs par la mme clef ne pose aucun problme. Cest
tout simplement le cas quand une autorit de certification signe des certificats suivant
la norme X.509 ou lorsque quune personne signe des certificats PGP de plusieurs autres
personnes.
2. Cest ici une situation trs problmatique puisque deux personnes diffrentes possdent
des clefs publiques identiques : dune part chacune dentre elles peut lire les messages
chiffrs destins lautre personne ; dautre part il sera impossible de diffrencier les
signatures des deux personnes.
3. Si deux certificats diffrents ont la mme signature, cela signifie que la fonction de hachage
utilise pour la signature a cr une collision. La signature de lun des deux certificats
peut avoir t faite par un pirate qui a constat une collision sur la fonction de hachage.
59 / 63
60 CHAPITRE 2. CORRECTIONS
3. La clef k1 (resp. k4 ) est typiquement gnre quand A (resp. B) configure son environne-
ment PGP pour la premire fois. Cette clef ne devrait tre gnre quune seule fois, sauf
si elle a expir ou a t rvoque. La clef k2 est galement gnre quand A configure son
environnement PGP, ou quand A change son mot de passe. En effet, la clef k2 est drive
directement du mot de passe de A. Elle est utilise pour protger k1 sur le disque. La clef
k3 est une clef de session qui nest utilise quun seule fois et une nouvelle est gnre
chaque fois quun courrier est chiffr.
5. La clef prive associe un certificat ne doit tre que trs rarement stocke en clair (no-
tamment sur disque). Elle est protge par un chiffrement symtrique dont la passphrase
constitue la clef. Cest donc un mot de passe permettant de dverrouiller lusage du certi-
ficat et de protger la clef prive de lutilisateur en cas de vol (par exemple afin de lui lais-
ser le temps de dtecter le vol et de rvoquer son certificat).
6. Si une passphrase est aussi utilise sur le serveur, chaque lancement du service web,
il sera ncessaire de la fournir au programme afin quil puisse accder la clef pri-
ve du certificat serveur. Il est peu probable que ceci soit effectu de manire inter-
active ( chaque redmarrage...). Il est plus probable quen pratique, soit la clef pri-
ve est effectivement stocke en clair sur le serveur, soit la passphrase en question est sto-
cke dans les paramtres de configuration du serveur (ce qui nest pas mieux).
Ce faisant, les administrateurs web/systme drogent vis vis du certificat serveur aux rgles
de protection quils recommandent leurs utilisateurs pour les certificats clients.
61 / 63