Vous êtes sur la page 1sur 63

 

Pierre-Louis CA
CAYREL
YREL
www.cayrel.net

Protection de l’information - 61 exercices corrigés

1 /  6
 633
 

2
 

Table des matières

1 Én
Énononcé
céss   7
1.1
1.1 Or
Ordr
dres
es de gr
grand
andeureur   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.
1.1.11 MoMott de pa pass
ssee   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2
1.1.2 DénDénomombrebremen
ments ts   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.3
1.1.3 VidVider
er l’océa
l’océann ave
avecc un dé à coudcoudre re   . . . . . . . . . . . . . . . . . . . . . . 7
1.1.
1.1.44 La fo forc
rcee brut
brutee   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.
1.1.55 La lo loii de Moore
Moore   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Vig
Vigénèr
énère,
e, Po
Polybe
lybe et Hill
Hill   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1
1.2.1 CésCésar/
ar/VigVigénèr
énèree   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2
1.2.2 ChiChiffre
ffremenmentt de VigVigénèr
énèree   . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.3
1.2.3 ChiChiffre
ffremenmentt de Po Polybe
lybe   . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.4
1.2.4 ChiChiffre
ffremenmentt affine
affine   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.5
1.2.5 ChiChiffre
ffremenmentt de HilHilll   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Chi
Chiffre
ffremen
mentt et modes
modes de chiff chiffrem
remenentt   . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.1
1.3.1 CryCrypto
ptogra
graphi
phiee à clé secrsecrète
ète  . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.2 Améli
Améliorati
oration
on d’un systèm
systèmee de chiffremen
chiffrementt   . . . . . . . . . . . . . . . . . 11
1.3.
1.3.33 Mod
Modee EC ECB B . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . 11
1.3.
1.3.44 Mod
Modee CB CBC C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.
1.3.55 Mod
Modee CT CTR R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.6
1.3.6 At Attaq
taqueue par insinsert
ertion
ion   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.7
1.3.7 MalMalléa
léabil
bilité
ité des chiff
chiffrem
rement
entss à flo
flott . . . . . . . . . . . . . . . . . . . . . . 13
1.3.
1.3.88 3D3DES
ES et 2DES2DES   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.9 Algor
Algorithme
ithme de Berlekamp-Mas
Berlekamp-Massey sey   . . . . . . . . . . . . . . . . . . . . . . 13
1.4
1.4 Mét
Méthod
hodes
es de ca calc
lcul
ul   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.4.1
1.4.12 Ca
1.4.
1.4.2 Squ
Square
Calcare
lcul and ulai
ul modul
mod Multip
Mul retiply
aire   ly
. .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.3
1.4.3 Thé
Théorèm
orèmee des des restes
restes ch chinoinois
is   . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.4
1.4.4 Aut
Autour
our des nom nombre bress prem
premier ierss   . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.5
1.4.5 Test ddee pri
primal
malité
ité de Mille
Miller-Rr-Rabin
abin   . . . . . . . . . . . . . . . . . . . . . . 17
1.4.
1.4.66 Algo
Algori
rith
thmeme  p − 1  de Pollard   . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.
1.4.77 Th
Théor
éorèm
èmee de Wi Wils lson
on   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5
1.5 Éc
Échan
hange
ge de cl
clef
efss  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.1 Fonction
onctionnemen
nementt cclé lé ppriv
rivéeée vs clé publiq
publique
ue   . . . . . . . . . . . . . . . . . 18
1.5.2
1.5.2 Clé privé
privéee vsvs clé
clé pub
publiq
liqueue   . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.3
1.5.3 Diffi
Diffie-H
e-Hell
ellman
man   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.4
1.5.4 PePerte
rte d’une
d’une clé pri privévéee   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.5
1.5.5 AtAttaq
taque
ue par le milie
milieuu de Diffie-Diffie-Hel Hellma
lmann   . . . . . . . . . . . . . . . . . . . 18
1.6
1.6 Ch
Chiff
iffre
1.6.1 remen
1.6.1 ment
Ki tRSA
Kid-   . A.   .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 1199
d-RS

3
 

4   TABLE DES MATIÈRES 


MATIÈRES 

1.6.2 Chiffr
Chiffremenement/Déc
t/Déchiffrem
hiffrement ent RSA 
RSA   . . . . . . . . . . . . . . . . . . . . . . . 19
1.6.
1.6.33 Ex
Exemempl ples
es de RSA 
RSA  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.6.
1.6.44 Ch
Chiff iffre
reme
ment nt RSA   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.6.
1.6.55 RS
RSA- A-33   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.6.6
1.6.6 Chi
Chiffreffremen
mentt El Gamal
Gamal   . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.6.
1.6.77 Ch
Changangememenentt de clclés
és   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.7
1.7 Attaq
ttaques
ues sur
sur RSA
RSA   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.7.1
1.7.1 AtAttaq
taqueue par modul
modulee commcommun un   . . . . . . . . . . . . . . . . . . . . . . . . 22
1.7.2 De   φ(n)  à la factorisation   . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.7.3
1.7.3 RSA av avec
ec deux
deux fa facte
cteurs
urs tro
tropp proc
proches
hes   . . . . . . . . . . . . . . . . . . . . 22
1.7.4
1.7.4 Mal
Malléaléabil
bilité
ité de RSA   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.7.5
1.7.5 Le te temps
mps de ffact actori
orisat
sation
ion dedess gran
grands
ds entie
entiersrs   . . . . . . . . . . . . . . . . 23
1.8 Sig
Signat
nature
ure et hachage
hachage   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.8.
1.8.11 Si
Sign
gnatatur
uree RS
RSA A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.8.2
1.8.2 Sig
Signat
nature
ure avaveugl
euglee aave
vecc RSA
RSA   . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.8.
1.8.33 Si
Sign
gnatatur
uree El Gama
Gamall   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.8.4
1.8.4 Sig
Signat
nature
ure ElEl Gam
Gamal al : utili
utilisat
sation
ion de
de l’aléa
l’aléa   . . . . . . . . . . . . . . . . . . 24
1.8.5 Signat
Signature ure El Gamal sans vér vérificati
ification
on modulaire
modulaire   . . . . . . . . . . . . . . 25
1.8.6 Signat
Signature ure GHR (Genn (Gennaro-Ha
aro-Halevi-
levi-Rabin)
Rabin)   . . . . . . . . . . . . . . . . . . 25
1.9
1.9 Ha
Haccha
hage
ge   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.9.1 Fonction de hac hachage
hage ffaiblem
aiblementent sans collision
collision   . . . . . . . . . . . . . . . 26
1.9.2
1.9.2 Fonct
onctionion de ha hach
chage
age eett signat
signature
ure   . . . . . . . . . . . . . . . . . . . . . . 26
1.9.
1.9.33 Le buzbuzzz frfree
ee mo
mobi bile
le   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.10 Authen
Authentificat
tificationion   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.10.1 Authen
Authentificat
tificationion à clef secrète
secrète   . . . . . . . . . . . . . . . . . . . . . . . . 27
1.10.2 Authen
Authentificat
tificationion à clef publique
publique   . . . . . . . . . . . . . . . . . . . . . . . 27
1.10.3 Schém
Schémaa de Sc Schnorr
hnorr   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.11 PKI, Certificats   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.11.1
1.11.1 PKI   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.11.2 Certi
Certificats
ficats   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.11.3 Dist
Distinguer
inguer les clefs
clefs utilis
utiliséesées dans PGP   . . . . . . . . . . . . . . . . . . . 29
1.11.4
1.11.4 Hac
Hachéshés de mots de pas passe se   . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.11.5 Le protocole HTTPS   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.11.6
1.11.6 La car carte
te bl
bleue
eue   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2 Co
Corr
rrec
ecti
tion
onss   31
2.1 Po
Pour
ur se familia
familiaris
riser
er avec
avec les ordordres
res de grandeu
grandeurr   . . . . . . . . . . . . . . . . . . 31
2.1.
2.1.11 MoMott de pa pass
ssee   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1.2
2.1.2 DénDénomombrebremen
ments ts   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1.3
2.1.3 VidViderer l’océa
l’océann ave
avecc un dé à coudcoudrere   . . . . . . . . . . . . . . . . . . . . . . 31
2.1.
2.1.44 La fo forc
rcee brut
brutee   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1.
2.1.55 La lo loii de Moore
Moore   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2 Vig
Vigénèr
énère,e, Po
Polybe
lybe et Hill
Hill   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.1
2.2.1 CésCésar/
ar/VigVigénèr
énèree   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.2
2.2.2 ChiChiffre
ffremenmentt de VigVigénèr
énèree   . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.3
2.2.3 ChiChiffre
ffremenmentt de Po Polybe
lybe   . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.4
2.2.4 ChiChiffre
ffremenmentt affine
affine   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.5ffremen
2.2.5
2.3 Chi
Chiffre Chi
Chiffre
ffremen
t etment
ment t de de
modes
modes Hil
Hillchiff
clhiffrem
  . remen
. . .ent
.t .  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 3365
 

TABLE DES MATIÈRES    5

2.3.1 Cry
2.3.1 Crypto
ptogragraphiphiee à clé secr
secrèteète  . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.2 Améli
Améliorati
oration on d’un systèm
systèmee de chiffremen
chiffrementt   . . . . . . . . . . . . . . . . . 36
2.3.
2.3.33 Mod
Modee EC ECB B . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . 36
2.3.
2.3.44 Mod
Modee CB CBC C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.
2.3.55 Mod
Modee CT CTR R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.3.6
2.3.6 AtAttaq
taqueue par ins insert
ertion
ion   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.3.7
2.3.7 Mal
Malléa
léabil
bilité
ité ddes
es cchiff
hiffremremententss par flflotot   . . . . . . . . . . . . . . . . . . . . 37
2.3.
2.3.88 3D
3DESES et 2DES2DES   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3.9 Algor
Algorithme
ithme de Berlekamp-Mas
Berlekamp-Massey sey   . . . . . . . . . . . . . . . . . . . . . . 39
2.4
2.4 Mét
Méthod
hodes
es de cacalclcul
ul   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4.1
2.4.1 Squ
Square
are and MultipMultiply ly   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4.
2.4.22 Ca
Calclcul
ul modul
modulai aire
re   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4.3
2.4.3 Thé
Théorèm
orèmee des des restes
restes ch chino
inois
is   . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4.4
2.4.4 Aut
Autour
our des nom nombrebress prem
premierierss   . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.5
2.4.5 Test ddee pri primal
malitéité de Mille
Miller-R
r-Rabin
abin   . . . . . . . . . . . . . . . . . . . . . . 42
2.4.
2.4.66 Algo
Algoririth
thmeme  p − 1  de Pollard   . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4.
2.4.77 Th
Théor
éorèmèmee de Wi Wils lson
on   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.5
2.5 Éc
Échan
hange
ge de clclef
efss  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5.1 Fonction
onctionnemennementt cclé lé ppriv
rivée
ée vs clé publiq
publiqueue   . . . . . . . . . . . . . . . . . 44
2.5.2
2.5.2 Clé privé
privéee vs vs clé
clé pub
publiqlique
ue   . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5.3
2.5.3 PePerte
rte d’une
d’une clé pri privé
véee   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5.4
2.5.4 Diffi
Diffie-He-Hellellman
man   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5.5
2.5.5 AtAttaq
taqueue par le milie milieuu de Diffie-Diffie-Hel Hellma
lmann   . . . . . . . . . . . . . . . . . . . 45
2.6
2.6 Ch
Chiff
iffre
remen
mentt   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.6.
2.6.11 Ki
Kid-
d-RS
RSA A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.6.2 Chiffr
Chiffremen
ement/Déc t/Déchiffrem
hiffrement ent RSA 
RSA   . . . . . . . . . . . . . . . . . . . . . . . 46
2.6.
2.6.33 Ex
Exememplplee de RSA   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.6.
2.6.44 Ch
Chiffiffre
reme
ment nt RSA   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.6.
2.6.55 RS
RSA-A-33   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.6.6
2.6.6 Chi
Chiffre
ffremen
mentt El GamalGamal   . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.6.
2.6.77 Ch
Chang
angememen entt de cl clés
és   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.7
2.7 Attaq
ttaques
ues sur
sur RSA
RSA   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.7.1
2.7.1 AtAttaq
taqueue par modulmodulee comm commun un   . . . . . . . . . . . . . . . . . . . . . . . . 52
2.7.2 De   φ(n)  à la factorisation   . . . . . . . . . . . . . . . . . . . . . . . . . . 52

2.7.3
2.7.3 Mal
2.7.4
.4 RSAléabil
Malléa av
avec
ecité
deux
dede
bilité ux RSA
fa
facte
cteurs
urs
  . .tro
trop
. p. proc
proches
. . .hes
. .  . . . . . . . . . . . . . . . . . . . . 532
2.7.5
2.7.5 Le te temps
mps de ffact
actori
orisat
sation
ion de
dess gran
grands
ds entie
entiersrs   . . . . . . . . . . . . . . . . 53
2.8
2.8 Sign
Signatatur
uree   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.8.
2.8.11 SiSign
gnat
atur
uree RS
RSA A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.8.2
2.8.2 SigSignat
nature
ure av
aveugl
euglee aave
vecc RSA
RSA   . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.8.
2.8.33 SiSign
gnat
atur
uree El Gama
Gamall   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.8.4
2.8.4 SigSignat
nature
ure ElEl Gam
Gamal al : utili
utilisat
sation
ion de
de l’aléa
l’aléa   . . . . . . . . . . . . . . . . . . 55
2.8.5 Signat
Signature
ure El Gamal sans vér vérificati
ification
on modulaire
modulaire   . . . . . . . . . . . . . . 56
2.8.6 Signat
Signature
ure GHR (Genn
(Gennaro-Ha
aro-Halevi-
levi-Rabin)
Rabin)   . . . . . . . . . . . . . . . . . . 56
2.9
2.9 Ha
Haccha
hage
ge   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.9.1 Fonction de hac hachage
hage ffaiblem
aiblement ent sans collision
collision   . . . . . . . . . . . . . . . 57
2.9.2
2.9.2 Fonctonction
ion de hahach
chage
age eett signat
signatureure   . . . . . . . . . . . . . . . . . . . . . . 57
2.9.
2.9.33 Le
2.10 Authen buz
buzz
Authentificat z fr
tificationfree
ion   .ee. mo
mobi
. . bile
. le 
.   .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 5587

5 /  6
 633
 

6   TABLE DES MATIÈRES 


MATIÈRES 

2.10.1 Authen
Authentificat
tification
ion à clef secrète
secrète   . . . . . . . . . . . . . . . . . . . . . . . . 58
2.10.2 Authen
Authentificat
tification
ion à clef publique
publique   . . . . . . . . . . . . . . . . . . . . . . . 58
2.10.3 Schém
Schémaa de Sc Schnorr
hnorr   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.11 PKI, certificats   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.11.1
2.11.1 PKI   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.11.2 Certi
Certificats
ficats   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.11.3 Dist
Distinguer
inguer les clefs
clefs utilis
utilisées
ées dans PGP   . . . . . . . . . . . . . . . . . . . 59
2.11.4
2.11.4 Hac
Hachés
hés de mots de pas passe
se   . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.11.5 Le protocole HTTPS   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.11.6
2.11.6 La car
carte
te bl
bleue
eue   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Ces exercices ont été inspirés par les supports de cours/TD de :
•  Didier Alquié •  Philippe Gaborit •  Nouha Oualha
•   Christine Bacchoc •  Arthur Hecker •  Emmanuel Thomé
•  Florent Bernard •   Jean Leneutre •  Damien Vergnaud
•  Emmanuel Bresson •   Philippe Oechslin
•  Céline Chevalier •  Rodolphe Ortalo
 

Chapitre 1

Énoncés
Cryptographie à clef secrète
1.1
1.1 Or
Ordr
dres
es de gr
gran
ande
deur
ur
1.1.
1.1.1
1 Mot
Mot de pass
passee
Un système est protégé par un mot de passe, après un essai infructueux le système attend 1s
avant de redemander. Combien de temps faudra-t-il pour s’identifier dans les cas suivants :

1. le mot de passe est un prénom 1 ; 3. il est composé


composé de 4 ch
chiffr
iffres
es ;
2. c’est un mot du dictionnaire 2 ; 4. il fait 8 caractères.

1.1.2
1.1.2 Dénom
Dénombre
bremen
ments
ts
Le nombre de clés disponibles dans un système de chiffrement donne une borne maximale de
sa sécurité (mesure de la complexité d’une recherche exhaustive).
1. Quel est le nom
nombre
bre de clés possible
possibless dans un chiffrement
chiffrement de Césa
Césarr ?
2. Po
Pour
ur un chiffre
chiffremen
mentt affine ? (C (x) = ax + b  mod 26  pour chaque caractère   x ∈   Z26 )
3. Pour un chiffremen
chiffrementt par substi
substitutio
tutionn (subst
(substituti
itution
on arbitrair
arbitraire,
e, caractère par caract
caractère)
ère) ?
4. Pour un chiffrement de Vigénère (avec une clé de longueur   k) ?

1.1.
1.1.3
3 Vide
Viderr l’oc
l’océa
éan
n av
avec u
un
n dé à cou
coudr
dree
On considère
considère qu’un dé à coudre est un cylind
cylindre
re de 1, 5 cm. de hauteur pour 1, 5 cm de diamètre
diamètre..
Selon l’Institut Français des Mers, les océans couvrent 360 millions de km
 k m avec une profondeur
2

moyenne de 3800 m. Encadrer entre deux puissances de 2 consécutives le nombre de dés à coudre
d’eau que contiennent les océans.

1.1.
1.1.4
4 La forc
forcee brut
brutee
Le facteur de travail  d’un
  d’un algorithme est le nombre d’instructions élémentaires nécessaire à son
exécution. La puissance d’une machine est le nombre d’instructions qu’elle exécute par unité
1. L’INSEE
L’INSEE publie la liste des 20 000 prénoms donnés en Fr
France
ance depuis 1946.
1946. En pratique,
pratique, seul un millier de
prénoms suffit à désigner plus de la moitié de la population française.
2. Le français compte
compte environ
environ 200 000 mots dont seulement
seulement 3000 sont utilisés
utilisés couramment.
couramment.

7
 

8   CHAP
CHAPITRE
ITRE 1. ÉNONCÉS 
ÉNONCÉS 

de temps. La puissance d’un PC actuel est d’environ 2000 Mips. (millions d’instructions par
secondes).
Le facteur de travail d’un algorithme optimisé pour tester une clé de 128 bits de l’algorithme
AES est d’environ 1200 instructions élémentaires.
On dispose d’un couple clair/chiffré connu et on désire retrouver la clé utilisée par force brute,
c’est- à-dire en testant toutes les clés les unes après les autres. Une clé est constituée d’un mot
de 128 symboles binaires. On suppose que toutes les clés sont équiprobables.
1. En combi
combienen de temps une machi
machinene de 2000 Mips teste-t
teste-t-elle
-elle une clé ?

2. Com
Combien
Quelbien
est ley nombre
a-t-
a-t-il
il de moyen
clésen
moy possi
possible
de bles
cléss ?à tester av
avant
ant de trouve
trouverr la bonne
b onne ?
3. À quel temps moy moyenen de calc
calcul
ul cela correspond
correspond-il
-il si on suppose
suppose que le milliar
milliardd de PC de
l’internet
l’internet sont mobil
mobilisés
isés à cette tâche?
tâche ?

1.1.
1.1.5
5 La loi
loi de
de Moo
Moore
re
Il est admis que, grâce aux progrès technologiques permanents, la puissance des machines
double en moyenne tous les 18 mois (loi de Moore). On suppose maintenant que l’on change les
machines tous les mois (30 jours) en commençant avec une machine d’une puissance de 1000
Mips. Pour tout entier   n,  on note   W n  le nombre d’instructions exécutées par la machine du
mois  n.
1. Quel est le facteur d’amélioration   a  de la puissance des machines machines d’un mois à l’autre
l’autre??
2. Calculer  W 0 , puis   W n  en fonction de   W 0 ,  de   a  et de  n.
3. Quel est le temps moy moyen en nécessair
nécessairee pour trouv
trouver er la clé (de l’exercice précédent)
précédent)??

1.2
1.2 Vi
Vigé
génè
nère
re,, Polybe
olybe et Hi
Hill
ll
1.2.1
1.2.1 César/
César/Vig
Vigénè
énère
re
Le chiffrement de César prend un texte composé de lettres, et décale chaque lettre d’un nombre
constant de positions dans l’alphabet. Ce nombre de positions est la clé. Pour déterminer la clé
à partir d’un message chiffré, on fait des suppositions statistiques sur le message d’entrée. Par
exemple, si on suppose que le message est en français, la lettre la plus fréquente est le   e. Par
ordre décroissant de fréquence, on trouve :   e,   s,   a,   i,   t,   n,   r,   u.
1. Est-i
Est-ill plus facile de déchiffrer
déchiffrer un texte
texte long ou un texte court court??
2. Pouv
Pouvez-v
ez-vous
ous déchiffre
déchiffrerr le message suiv
suivant
ant :   pwpnetzyacpdtopyetpwwp
pwpnetzyacpdtopyetpwwp
Le chiffrement de Vigénère (en fait du à Alberti au XVème siècle) est une sorte de César
amélioré. La clé est constituée non pas d’un, mais de plusieurs décalages. Cette clé est
spécifiée sous forme d’un mot qui constitue la clé. Par exemple la clé   bac, de longueur
trois, spécifie que pour chiffré un message, on décale la première lettre d’une position
(lettre   b), la deuxième de zéro positions (lettre   a), la troisième de deux positions (lettre
c), et ainsi de suite en reprenant la clé au début.
3. Si l’attaq
l’attaquant
uant obtie
obtient
nt la connaissanc
connaissancee d’un couple message clair / message chiffr
chiffré,
é, peut-il
déchiffrer
déchi ffrer tous les messages chiffrés ensuit
ensuitee avec cette même clé ?

4. On suppose
Si un que seulement
attaquant connaît la un
connaît message
r dechiffré
longueur
longueu la clé, est à disposition
comment fair de l’attaquant.
fairee pour
p our déchiffrer
déchiffrer ?
 

1.2. VIGÉNÈRE,
VIGÉNÈRE, P
POL
OLYBE
YBE ET HIL
HILL
L   9

5. D’une maniè
manière
re générale, ce systè
système
me de chiffrement
chiffrement est-
est-il
il difficil
difficilee à casser ?

1.2.2
1.2.2 Chiffre
Chiffremen
mentt de Vigénè
Vigénère
re
1. Chiffrer à l’aide de l’algorithme de Vigénère le texte suivant :   textesecretadecoder  e
textesecretadecoder  enn
utilisant comme clé le mot  crypto ;
2. Pour le même texte clair on obtient le texte chiffré suivant   brqksmzcspxiqxtcxzr. Quelle
brqksmzcspxiqxtcxzr
est la clé?

3. Même question si le chiffré est   aaabbbcccdddeeefffg. Que remarque-t-


aaabbbcccdddeeefffg remarque-t-on
on ?
1.2.
1.2.3
3 Chiff
Chiffre
reme
men
nt de
de P
Pol
olybe
ybe
On considère l’alphabet privé du  W , soit 25 lettres. Polybe a proposé le mécanisme suivant : on
range les lettres dans un tableau   5 × 5,  en commençant par le mot clé (et en supprimant les
doublons), puis on continue avec les lettres restantes de l’alphabet, dans l’ordre.
Par exemple, avec le mot-clé  MYSTERE, on construit le tableau suivant :

1 2 3 4 5
1 M Y S T E
2 R A B C D
3 F G H I J
45    KQ LU NV OX PZ

Le chiffrement s’effectue alors en remplaçant chqaue lettre par les deux chiffres : ligne colonne
qui indiquent sa position dans la grille . Par exemple,   F  est chiffré 31.
1. Expli
Expliquer
quer comment
comment on ppeuteut cryptan
cryptanalyser
alyser un tel systè
système
me : par une attaque à clair connu,
connu,
puis dans une attaque simple (seulement un chiffré).
Raoul envoie un message à Anna pour lui fixer rendez-vous.
Le cryptogramme est le suivant :
123
123222222 512
122215 42424421
2155 512
122242 242222555 53534435
3522 1115
15224 22
225525
2544
322
322252522 512
122211 51515522
2222 532
322251 142222551 15154435
3522 21
2. Décrypter ce message.
Quelle est la sévérité
sévérité de l’attaque
l’attaque (dist
(distinguer
inguer le chiffré
chiffré d’un aléa, cassage total,.
total,. . .) ?

1.2.
1.2.4
4 Chiff
Chiffre
reme
men
nt affine
affine
1. On représen
représente
te l’alphabet latin par les entier
entierss entre 0 et 25 avec la conventi
convention
on  A =
 A  = 0, B   =
1, C   = 2, . . .
Un chiffrement affine x →  ax +b mod 26 transforme le message CRYPTO en le cryptogramme
 ax+
ROXEYZ. Trouver la clé   (a, b)correspondante.
2. Le message clair  CRYPTO  a cette fois été chiffré deux fois de suite par un chiffre affine de
clé   (a , b )  (c’est-à-dire qu’on a chiffré le chiffré) pour donner en sortie  NGBAMX.
(a) Montrer que   NGBAMX   est le chiffré de   CRYPTO  par un chiffre affine de clé   (a , b ).
Trouver   (a , b ).

9 /  6
 633
 

10   CHAP
CHAPITRE
ITRE 1. ÉNONCÉS 
ÉNONCÉS 

1.2.
1.2.5
5 Chiff
Chiffre
reme
men
nt de Hill
Hill
Examen 2012-2013

Dans le chiffrement de Hill, chaque lettre de l’alphabet est représentée par un entier compris
entre 0 et 25. L’algorithme est un chiffrement par blocs de   m  lettres, qui transforme un bloc
(x1 , x2 , . . . , xm )  en un bloc   (y1 , y2 , . . . , ym )  défini par la relation algébrique :

(y1, y2 , . . . , ym ) = (x1 , x2 , . . . , xm ) A
·
où   A  est une matrice carrée d’ordre   m  à coefficients dans   Z26 ,  tous les calculs sont effectués
modulo 26.  
5 1
Par exemple avec   m  = 2  et  A
 A =
 = ,  le message   (10
(10,, 21)  est chiffré en :
12 3

(10,, 21) A  = (10


(10 · × 5 + 21 × 12
12,, 10 + 21 × 3) = (16,
(16, 21)
21)..

Sachant que le chiffrement du mot  chiffrement  avec la même clé donne le chiffré  jvfrtqealv.
Décrypter (partiellement, les 4 premiers caractères 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 française :
gzatzxjihvbreosu   4pts 
Indications :
a b
Z
Posons :  M 
 M    = c d ∈ M ( )  la matrice à utiliser pour le déchiffrement.
  4 26
Le fait que  M  transforme
 9 le bigramme
   en le bigramme  et le bigramme  en le bigramme
 jv  ch  fr
5 2 8
if, nous donne 3 :   M. =
21 17 7 5

3. Si la matrice
matrice n’est pas inversib
inversible,
le, prenez le bigramme
bigramme suivant.
suivant.
 

1.3. CHIFFREME
CHIFFREMENT
NT ET MODES DE CHIFF
CHIFFREME
REMENT 
NT    11

1.3 Ch
Chiffr
iffreme
emen
nt et
et m
modes
odes de chiffrem
hiffremen
entt
1.3.1
1.3.1 Crypto
Cryptogra
graphi
phiee à clé
clé secrèt
secrètee
Examen 2012-2013
1. Que
Quell candi
candidat
dat a gagné le con
concour
courss AES ?   0.5pt 
2. Expliquer la différence entre décoder, déchiffrer et décrypter.   1.5pt 
3. Que sign
signifie
ifie conf
confusi
usion
on et diff
diffusi
usion
on ?   2pts 

4. Quelle
Quelless sont les grandes idées uti
utilisées
lisées en chiffremen
chiffrementt par blocs ?   1.5pt 
5. Citer 3 noms de cryptographes (célèbres) 4 ayant travaillé sur les schémas de chiffrement
par blocs.   0.5pt 

1.3.2
1.3.2 Amélior
Améliorati
ation
on d’un
d’un sys
systèm
tèmee de chiff
chiffre
remen
mentt
Monsieur X utili
Monsieur utilise
se pour chiffrer
chiffrer ses données privéprivéeses le crypto
cryptosystèm
systèmee  DES,  paramétré par une
clé secrète k  de 56 bits connue de lui seul. Comme Monsieur X a entendu dire que 56 bits étaient
bien peu de nos jours, il envisage de rendre plus sûr le stockage de ses données en chiffrant une
seconde fois toutes ses données, avec la clé DES  k    = k +  k  + 1  (pour chaque donnée en clair   m,  la
donnée chiffrée est donc   c  = D
 =  DES 
ES k+1 (DE
DES  )),,  où   k  désigne la clé).
S k (m))
1. Est-ce une bonne idée?
2. Discuter les avantages et/ou les inconvénients.
3. Monsieur X pense à une autre amélioration possible. Il va chiffrer une fois avec   DES,
et une fois avec AES128. Comme AES128 a besoin de clés de 128 bits, il va paramétrer
son chiffrement   DEDES S  par
  par sa clé secrète   k,  et pour son chiffrement AES128 la mêeme clé
secrète   k,  mais avec
avec des zéros pour faire le remplissage
remplissage.. Est-ce mieux ?
4. Quelle err
erreur
eur fondamen
fondamentaletale Monsieu
Monsieurr X commet-il,
commet-il, eu égard aux principes
principes de Kerckhoffs
Kerckhoffs ?

1.3.
1.3.3
3 Mod
Mode ECB
ECB
Le mode de chiffrement ECB (Electronic Code Book ou Dictionnaire de code) est le mode
de chiffrement le plus simple que l’on puisse imaginer : chaque bloc de données est chiffré
indépendamment
indépendam ment par la foncti
fonction
on de chiffremen
chiffrement.
t.
1. Ce mode de chiffrement n’est pas sûr, expliquer pourquoi.
2. Jack, qui gagne 105000 euros par an, a retrouvé l’entrée chiffrée qui lui correspond dans
la base de données des salaires de son entreprise :
Q92DFPVXC9IO
Sachant que la fonction de chiffrement utilisé a des blocs de deux caractères et que le
service informatique de son entreprise ne comprend aucun expert en cryptographie (en-
tendre
tendre par là, util
utilise
ise le mode ECB !), retr
retrouv
ouver
er le sal
salair
airee de Jane
Jane la patronne
patronne de Jack
Jack
parmi le reste de la base de données :

TOAV6RFPY5VXC9,
TOAV6RFPY5VXC9, YPFGFPDFDFIO, Q9AXFPC9IOIO, ACED4TFPVXIOIO, UTJSDGFPRTAVIO
UTJSDGFPRTAVIO
3. Exemple 2. Imaginer à quel point ce mode chiffrement est déplorable pour les photogra-
phies.
4. Cayrel
Cayrel n’est pas (encore)
(encore) une réponse acce
acceptabl
ptablee

11 /  63
 

12   CHAP
CHAPITRE
ITRE 1. ÉNONCÉS 
ÉNONCÉS 

1.3.
1.3.4
4 Mod
Mode CBC
CBC
Le mode de chiffrement CBC (Cipher Block Chaining ou Enchaînement des blocs) suit le shéma
suivant :

1. Dessiner le schéma de déchiffrement correspondant à ce mode de chiffrement.


2. À quoi sert le vvecteur
ecteur d’initia
d’initialisat
lisation
ion (IV) ? Doit-i
Doit-ill rester secret
secret ?
3. Que se passe-t-
passe-t-il
il lors du déchiff
déchiffremen
rementt si l’un des blocs chiff
chiffrés
rés a été altéré ?

1.3.
1.3.5
5 Mod
Mode CTR
CTR
Le mode de chiffrement CTR (mode compteur) consiste à chiffrer un compteur qui est incré-
mentéé à chaqu
ment chaquee bloc, puis à en calculer le ou exclusif ave
avecc le message. Le compteur est initial
initialisé
isé
à une valeur choisie au hasard appelée la nonce.
1. Dessiner les schéma de chiffrement et déchiffrement de ce mode opératoire.
2. Expliquer l’intérêt de la nonce.
3. Quel int
intérêt
érêt vo
voyez-
yez-vous
vous à ce mo
mode
de de chi
chiffremen
ffrementt quant à son implémenta
implémentation
tion ?

1.3.6
1.3.6 Atta
ttaque
que par insert
insertion
ion

On considère un chiffrement par blocs utilisant un mode opératoire OFB ou CTR. Un atta-
quant parvient à intercepter un chiffré   C   C   = (c0 , c1 , . . . ),  correspondant à un message   M 
M    =
(m0 , m1 , . . . ).  L’attaquant connaît uniquement   C,  mais pas   M,  ni bien sûr la clé   K  ou
  ou encore
la valeur   I V  (pour OFB) ou la nonce (pour CTR).
On suppose que l’attaquant parvient à forcer la personne qui chiffre à re-chiffrer un message  M 
quasiment identique à  M  M,,  mais avec uniquement un bloc de zéros inséré parmi les autres blocs.
On suppose en outre que l’attaquant parvient à forcer ce deuxième chiffrement à être réalisé
avec la même   I V   (pour OFB) ou  nonce  (pour CTR). L’attaquant obtient donc un nouveau
chiffré   C  .
1. Comment l’attaquant peut-il déterminer le bloc à partir duquel   M   et   M   di
 diffèren
ffèrentt ?
2. Suppo
Supposon
sonss que ce pre
premie
mierr bloc différen
différentt ait pour indice
indice   i.  Que vaut alors   ci ? Comment
l’attaquan
l’attaquantt peut-il en déduire  mi ?
3. Que doit-
doit-on
on en conclure comme pr
précautio
écautionn sur l’utilisati
l’utilisation
on de OFB ou CTR ?
 

1.3. CHIFFREME
CHIFFREMENT
NT ET MODES DE CHIFF
CHIFFREME
REMENT 
NT    13

1.3.7
1.3.7 Malléa
Malléabil
bilité
ité des
des cchiff
hiffrem
remen
ents
ts à flot
flot
1. Rappeler le fonctionnement du chiffrement à flot.
  le chiffré d’un message   M,  comment pouvez vous produire le chiffré   C   du même
2. Soit   C  le
message que vous aurez altéré.
3. Imaginer une utilisation pratique de cette attaque.

1.3.
1.3.8
8 3DE
3DES et 2D
2DES
ES
1. Expli
Expliquer
quer le fonctionnemen
fonctionnementt de  3DE  3 DES 
S   (TDES ). Pourquoi ce schéma de chiffrement est-il
utilisé à la place de   DE S ? Quel facteur de complexité
DES  complexité aajoute-
joute-t-il
t-il ?
2. Comme l’exécution de   3DE DES  S  est
  est coûteuse, on propose d’utiliser à la place l’algorithme
2DES, qui consiste à composer deux chiffrements DES classiques avec des clefs différentes.
Soit  m  un message et  k 1   et   k2  des clefs DES, on obtient le chiffré   c  de la façon suivante :
c  = 2DE
DES  |
S (k2 k1 ; m) =  DES 
 D ES ((k2 ; DE
DES 
S (k1 ; m))
(a) Quels sont les avantages de cette approche par rapport à   3DE DES  S ? Quelle est la
première estimation naïve de la force cryptographique théorique de   2DE DES  S ?
(b) Analyse de sécurité de   2DE
DES S   :
i. Combien
Combien y a-t-i
a-t-ill de clefs différ
différent
entes
es possibles
possibles?? On dé ?nit les col collision
lisionss par l’exi
l’exis-
s-
tence de messages clair   m  et chiffré   c  tels que   c  = 2DE
DES 
S (k ; m) = 2DEDES  S (k ; m)

bien  kexiste-t-il
avec  = k .t-il
existe-  Enenconsidérant
moyenne de la clefs
taillequi
despour
blocsundeclair
messages clairscrée
 m  donné, à chiffrer, com-
une collision
(i.e. fournissent le même   c) ?
ii. En exploitant la propriété suivante de  DE S  : : si  c  c =  DES 
 = D ES ((k2; DE
DES  )),, alors
S (k1; m))
il existe un chiffré   c   =   DE
 DES 
S (k1; m) =   DE
DES S  (k2 ; c),  construire une méthode
− 1

d’attaque sur  2DE S  qui


 2 DES   qui utilise 2 paires de messages clair/chiffré.
iii. À partir du nombre moyen d’opérations nécessaires à la cryptanalyse de DES,
estimer
estim er les efforts nécessaires
nécessaires ppour
our cette attaque
attaque ainsi que la probabilit
probabilitéé d’avoir
d’avoir
trouver
trouv er la bonne clef grâce à elle. Quelle est ?nalement
?nalement la force est estimée
imée de 2DES ?

1.3.9
1.3.9 Algori
Algorithm
thmee de Berlek
Berlekamp
amp-Ma
-Masse
ssey
y
Cet algorithme consiste à construire pour les valeurs successives de   N  un LFSR de longueur
LN  et de polynôme de rétroaction   f N  qui génère les   N  premiers bits de la suite   s.
Pour  N    = 2L,  l’algorithme retourne le polynôme de rétroaction du LFSR de départ.
 N 
Algorithme de Berlekamp-Massey
Entrée :   s0 , s1 ,...,sn−1  une suite de longueur n.
Init :   f 
f ((X )  −
= 1, L  = 0, m  = 1, g (X ) = 1
Pour   N   variant de   0   à   n
variant 1 −
L
1. Calculer  d X + c2 X 2 + ...)
 d =  s N  +
 = s
 i=1 ci sN −i  mod 2.(f (
2. f (X ) = 1+ c1 X + ...)
2. Si   d = 1  alors
 f ((X )  et  f 
•   t(X ) = f   f ((X ) =  f 
 f ((X ) + g N  m
+  g((X )X  − .
•   Si   2L  N  alors   L = N  =  N   + 1 − L, m  = N =  N,, g (X ) =  t
 t((X ).
1. Appliquer l’algorithme de Berlekamp Massey à la suite :  001101110  .
2. Puis concluez en vérifiant votre réponse.

13 /  63
 

14   CHAP
CHAPITRE
ITRE 1. ÉNONCÉS 
ÉNONCÉS 

Cryptographie à clef publique


Dans toute la suite, on pourra utiliser les résultats numériques suivants :
–  319 = 11 × 29 ;   1011 = 263 (mod 319) ;  263  2 632 = 216 × 319 + 265 ;
–   1333 = 12 (mod 319) ;   13325 = 133 (mod 319) ;
–   112 = 121 (mod 280) ;   114 = 81 (mod 280) ;   118 = 121 (mod 280) ;   1116 = 81 (mod 280) ;
–  95 = 64 + 31 ;   81.
81.11 = 51 (mod 280) ;   81.81.121 = 1 (m(mod
od 28 0).
280)
Identité de Bezout
Soient  a  et   b  deux entiers relatifs et  d  leur PGCD alors il existe deux entiers   u  et  v  tels que :
au + bv
 bv =  d
 = d

Résolution d’une équation diophantienne


Soient   a,   b   et   c  des entiers, et   d  le PGCD de   a   et   b, alors l’équation   au +  bv   =   c  admet des
au + bv
solutions entières si et seulement si   c  est un multiple de   d.
Théorème de Bezout
Soient   a  et   b  deux entiers
entiers relatifs non nul nuls.
s.   a  et   b  sont premiers entre eux si, et seulement si, il
existe deux entiers   u  e  ett   v  tels que  au + bv
bv   = 1.
Théorème de Gauss
Si un nombre   a  divise un produit de facteurs et si   a  est premier avec l’un des deux facteurs
alors   a  divise le deuxième facteur.
L’algorithme d’Euclide  permet de calculer le P.G.C.D. de deux entiers naturels   a   et   b  tels
que   a > b  . Il consiste à réitérer les manipulations suivantes :
1. Effectuer la division euclidienne de   a  par  b . Soit   r  le reste.
2. Remplacer  a  par   b  e
 ett   b  pa
 parr   r. On a   b > r  d’après la définition de la division euclidienne.
Le P.G.C.D. est le dernier reste non nul.

Exemple d’application : calcul d’inverse modulaire


Déterminez   d  tel que   7d = 1 mod 360.
360.  (revient à calculer l’inverse de  7 mod 360).

360 =   51 × 7 + 3
7 =   2×3+1

puis "on remonte" :


1 =   7 2 3 mod 360
− ×
1 =   − × − ×
7 2 (360 51 7) mod 360
1 =   7 + 102 7 mod 360
×
1 =   ×
7 (1 + 102)
102) mod 360
1 =   ×
7 103 mod 360

D’où  d =
 d  = 103.
103.

Entraînez-vous  en montrant que :

56 = 3−1 mod 170; 37 = 13−1 mod 143; 113 = 17−1 mod 120; 219 = 19−1 mod 520.
520.

Détailler le calcul de 3 inverses modulaires (différents de ceux proposés ci-dessus).


 

1.4. MÉTHODES
MÉTHODES DE CALCUL
CALCUL   15

1.4
1.4 Mé
Méth
thod
odes
es de ca
calc
lcul
ul
1.4.
1.4.1
1 Squa
Square
re and
and Mu
Mult
ltip
iply
ly
En utilisant l’algorithme  square and multiply , montrer que :

4137 mod 527 = 113; 57 mod 403 = 346; 12817 mod 407 = 50;

84113 mod 143 = 2; 207219 mod 583 = 192.


192.

Détailler le calcul de 3 exponentiations modulaires (différentes de celles déjà proposées).

1.4.
1.4.2
2 Calcu
Calcull modul
modulai
aire
re
Calculer (de tête si possible)
1.
2256 mod 128

2.
529436 mod 66

3.
10234096 mod 1024

4.
4562308 mod 234327

1.4.3
1.4.3 Théorè
Théorème
me des
des rrest
estes
es chino
chinois
is
Comment résoudre le système de congruences suivant :
 x   =   r   mod
1 mod   m 1
 x   =   r   mod
2 mod   m 2
?
...
 x   =   r   mod
k mod   m k

C’est
Soit   kle nombres
théorèmeentiers
des restes chinois
naturels   m1,qui nous fournit
m2 ,...,m la réponse :
k ,  premiers entre eux deux à deux, et   k  entiers
r1 , r2,...,rk .
Le système de congruences
 x   =   r   mod
1 mod   m 1
 x   =   r   mod
2 mod   m 2
...
 x   =   r   mod
k mod   m k

admet une unique solution modulo   M   =  m 1 m2 ...mk .

La méthode permettant de construire une solution de ce système est fournit ci-dessous.


  M 
Posons   M    = mi
i
pour   i   = 1, 2,...,k.  On a donc pgcd(M i , mi ) = 1  et on peut ainsi trouver
d’aprèss l’ide
d’aprè l’identi
ntité
té de Bezout deux ent
entiers
iers  ui   et  v i  tel que   M i ui  + mi vi  = 1.

15 /  63
 

16   CHAP
CHAPITRE
ITRE 1. ÉNONCÉS 
ÉNONCÉS 

On a alors :

u1 M 1 r1 + u2 M 2 r2 + ...


 +  ... + mod   mi  pour   i  = 1, 2,...,k
 uk M k rk   =  r i   mod
 + u

Par conséquent le nombre   x  = u ... + uk M k rk  est solution du système.


 =  u 1 M 1 r1 + u2 M 2 r2 + ... +
De plus si   y  est une autre solution de celui-ci, alors   mi  divise   x − y  pour chaque   i  = 1, 2,...,k.
Ainsi   x − y  est divisible par  M .  Le système admet donc une seule solution modulo   M.

Autrement dit, les solutions du système sont de la forme

x  = u
 =  u 1 M 1 r1 + u2 M 2 r2 + ... +
... + uk M k rk  + nM 

avec   n  entier.

Application - 1
Une bande de 17 pirates s’est emparée d’un butin composé de pièces d’or d’égale valeur.
Ils décident de se les partager également et de donner le reste au cuisinier chinois. Celui-ci
recevrait trois pièces. Mais les pirates se querellent et six d’entre eux sont tués. Le cuisinier
recevrait alors 4 pièces. Survient alors un naufrage et seuls 6 pirates, le cuisinier et le trésor
sont sauvés et le partage laisserait 5 pièces d’or à ce dernier.

Quelle
reste
res estpir
te des alors
atess la
pirate ? fortune minimale que peut espérer ce dernier s’il décide d’empoisonner le

Application - 2
Pour vous entraîner, vous appliquerez le théorème des restes chinois à deux des systèmes de
congruences suivants (vérifiez votre résultat) :
 x   = 0 mo d 5
 x   = 0 mod 5
1. 3.
 xx    == 4 mo d 7
4 mod 19
 xx    == 6 mod 7
1 mod 19
x = 2 mod 5 x = 5 mod 6
2.  x   = 4.  x   =
 5 mod 7
 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
construits à l’aide
l’aide de celui-ci
celui-ci et je retrouver
retrouverais
ais
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 même avec la division par 7 et celle par 19.
Ces trois restes suffisent ppour
our retrouver votr
votree nombr
nombre.
e.

Réaliser cette expérience avec votre voisin (avec trois nombres premiers entre eux de votre
choix).
Noter sur une feuille, que vous me rendrez, l’ensemble des résultats.
 

1.4. MÉTHODES
MÉTHODES DE CALCUL
CALCUL   17

1.4.4
1.4.4 Autour
Autour des nombre
nombress prem
premier
ierss
1. Pour quelles valeurs du nombre entier   n  le nombre   n2 − 8n + 15  est-  est-il
il premier
premier ?
Même question pour   n + 4n2
4n + 3. 3.
2. Pour quelles valeurs de   n  e  ett   m  (entiers) le nombre   2n2 + 5mn
5mn + 3m 3m2 est-il premi
premierer ?
3. Trouver 1 000 entiers naturels consécutifs, tous composés.
4.   •   Théorème :  Soit   n   un entier naturel. Si   n  est un nombre premier, alors pour tout
mod   n  (c’est-à-dire   n  divise   an−1 − 1).
entier   a  premier avec   n,  on a   an−1 = 1 mod 
 Remarque :  Le théorème de Fermat peut être utilisé pour montrer qu’un entier n’est
• pas premier : si il existe un entier   a  premier avec   n  tel que   an−1 = 1 mod  mod   n  alors   n
n’est pas premier.
•  Application :  L’en L’entier
tier 37901 est-il premier ?

1.4.5
1.4.5 Test de
de pr
prima
imalit
litéé de Mille
Miller-R
r-Rabi
abin
n
Soit p un nombre premier impair que l’on écrit sous la forme p =  p  = 2s ×d+1. Soit a ∈ {1, . . . , p−1}.
i
On définit une suite récurrente   (bi )  en posant :   bi   = a d×2 .
1. Montrer que dans   Z/pZ, l’équation   x2 = 1  entraine   x  = 1  ou   x =  −1.
2. Montrer que   bs ≡ 1 mod 
mod   p.
3. On suppose que   b0  n’est pas congru à 1 modulo   p.
Montrer l’existence de   i 0, . . . , s 1  tel que   bi mod   p.
1 mod 
4. En déduire un test de non-primalité
 ∈ { −d’un} entier.  ≡ −
1.4.
1.4.6
6 Algo
Algori
rith
thme
me   p − 1  de Pollard
Le but est de trouver un fecteur non trivial de   n  = 19 048 567. 567.  On prend   B   = 19  et  a  = 3.
1. Vérifier que  gcd( a, n) = 1.
 gcd(a,
2. Déterminer, pour chaque nombre premier    19 19,,  sa plus grande puissance qui soit    n.
Soit   Q  le ppcm de toutes ces puissances, et   p   un  hypothétique  fecteur premier de   n   tel
que   p − 1  soit 19-friable 5 .
3. Montrer que   p − 1  divise   Q.
4. En déduire que   p  divise  a Q − 1  (on pourra utiliser le petit théorème de Fermat).
5. En déduire que  gcd(
 gcd(aaQ 1, n)(= gcd((a
gcd((aQ 1) mod  mod   n, n))  est différent de 1.

6. On admet le calcul intermédiaire   aQ mod−  n   = 554 56.
56.  En déduire numériquement un
facteur non-trivial de   n.

1.4.
1.4.7
7 Théo
Théorè
rème
me de Wils
Wilson
on
Le but de cet exercice est de démontrer le théorème de Wilson : un entier   n  2  est premier si
et seulement si  (n mod   n.
 ( n − 1)! ≡ −1 mod 
1. Soit   p  premier. Combien de solutions l’équation   x2 = 1  admet-elle dans   Z/pZ ?
2. Soit   p  premier. Montrer que   ( p − 1)! = −1 mod mod   p.
3. Soit   n  2  un entier tel que   n  divise   (n − 1)! + 1.
Montrer que pour tout   a ∈ {1, . . . , n − 1},   a  est inversible dans   (Z/nZ, ×).
En déduire que   n  est premier.
5. C’est-à-di
C’est-à-dire
re que tous les facteurs
facteurs premiers sont inférieurs
inférieurs à 19.

17 /  63
 

18   CHAP
CHAPITRE
ITRE 1. ÉNONCÉS 
ÉNONCÉS 

1.5
1.5 Éc
Écha
hang
ngee de cl
clef
efss
1.5.1
1.5.1 Fonc
onctio
tionne
nnemen
mentt clé privé
privéee vs clé publiqu
publiquee
Expliquez les principes de fonctionnement de la cryptographie symétrique et de la cryptographie
asymétrique, en mettant en évidence les différences entre ces deux catégories, leurs avantages
et leurs inconvénients respectifs. Vous pourrez illustrer votre réponse par un exemple de chaque
catégorie, décrit aussi précisément que possible. Réponse limitée à une page.

1.5.
1.5.2
2 Clé
Clé p
pri
riv
vée vs clé
clé pub
publiq
lique
ue
Dix-sept personnes veulent pouvoir s’échanger des messages deux à deux. Si elles choisissent
un système à clé secrète, combien de clés faut-il en tout? Même question pour un système à
clé publique. Quels sont les avanta
avantages
ges de chaqu
chaquee système ? Lequel conseillez-
conseillez-vous
vous??

1.5.
1.5.3
3 Diffie
Diffie-H
-Hel
ellm
lman
an
Déterminer la clé commune d’Alice et Bob dans le cas où   p   = 23   et   g   = 3  et Alice choisit un
nombre secret  a =
 a  = 6  et Bob choisit  b  = 15.
15.

1.5.
1.5.4
4 Perte
erte d’un
d’unee cclé
lé priv
privée
ée
Un utilisateur, qui utilise souvent la messagerie sécurisée de son entreprise, vient de perdre sa
clé privée, mais dispose encore de la clé publique correspondante.
1. Peut
Peut-il
-il encore envoy
envoyer
er des courriers électroniques
électroniques chiffrés
chiffrés ? En recev
recevoir
oir ?
2. Peut
Peut-il
-il encore signer les courriers électroniques
électroniques qu’il envoie
envoie ? Vérifier les signatures des
courriers
courri ers électroniq
électroniques
ues qu’il reçoit ?
3. À quoi peut encore serv
servir
ir la clé publiq
publique
ue de notre utili
utilisateur
sateur ?
4. Que doit-il faire pour être à nouveau capable d’effectuer toutes les opérations mentionnées
ci-
ci-dess
dessus
us ?

1.5.5
1.5.5 Atta
ttaque
que p
par
ar le milie
milieu
u de Diffie
Diffie-He
-Hellm
llman
an
Décrire une attaque dans le protocole de Diffie-Hellman dans laquelle un attaquant  actif   (i.e.
qui peut modifier les données pendant le protocole Diffie-Hellman) peut ensuite intercepter,
déchiffrer et modifier toutes les communications qu’Alice ou Bob chiffrerait avec sa clé.
 

1.6. CHIFFREME
CHIFFREMENT 
NT    19

1.6
1.6 Ch
Chiff
iffre
reme
men
nt
1.6.
1.6.1
1 Kid-
Kid-RS
RSA
A
Cet exemple indiqué à des fin pédagogiques par Neil Koblitz donne une idée de ce que peut
être la cryptographie à clé publique. Evidemment il n’est pas réaliste dans la mesure où il est
élémentairement cassable. Les lettres A  A,, B , . . . , Z  sont
 sont représentées par les nombres  0
 0,, 1, . . . , 25
25..
Alice choisit 4 entiers     3 notés  a
 a,, b, a , b  et calcule successivement :
M   =  ab  =  a  M   + a
1   e  = a
−   ed 1 −
 =  b  M   + b
d  = b n  =

Alice rend public (dans un annu
annuaire
aire par exemple) le couple ( n; e)  (sa clé publique) et maintient
 (n
d  secret (sa clé privée). L’utilisation du système se fait de la façon suivante : si Bob désire
envoyer
envoy er un message à Alice
Alice,, il chiffre successiv
successivemen
ementt toutes les lettr
lettres
es de ce message en faisant
faisant
correspondre à tout nombre   m  compris entre 0 et 25 le nombre   c = em
 =  em   mod
mod   n.
1. Montrer que   n >   25.
25.  Pour
 Pourquoi
quoi est-il souhai
souhaitable
table qu’il en soit ainsi ? Montrer que   e   et   n
sont premiers entre eux.
2. Comment Alice peut elle récupérer simplement   m  lorsqu’elle a reçu   c ?
3. Charlie écoute la ligne de communication entre Alice et Bob et disposent donc de   c.
Comment peut-il attaquer le système et découvrir   m ?

4. Utiliser ce système pour signer un message.


1.6.2 Chiffremen
Chiffrement/Dé
t/Déch
chiffrem
iffremen
entt RSA
On considère la clef publique RSA (11, 319), c’est-à-dire pour   n = 319  et   e  = 11.
1. Quel est le chiffrement avec cette clé du message  M   = 100 ?
 M  =
2. Calculer  d  la clé privée correspondant à la clé publique   e.
3. Déchiffrer le message   C  =  = 133.
4. Le message chiffré   625  peut-il résulter
résulter d’un chiffremen
chiffrementt avec la clé publique
publique ?

1.6.
1.6.3
3 Exem
Exempl
ples
es de RSA
RSA
Considérer le système RSA avec   p  = 19  et   q  =
 = 23.
23.
1. Calculer  n  et  φ(
 φ (n).
2. Calculer l’exposant   d  associé à   e = 9,  puis  e =
 e  = 14
14..
3. Calculer l’exposant   d  associé à   e = 17.
17.
n e C 
143 17 84
247 5 115
Dans le tableau ci-contre   n  e  ett   e  sont publics : 319 11 133
–   n = pq 
 =  pq  avec   p  e
 ett   q  deux
  deux nombres premiers secrets.
323 25 19
–   e  a pour inverse   d   :  ed  ed =
 = 1 mod ( p ( p − 1)( q  − 1)  qui est tenu secret.
1)(q 
403 7 346
On donne un chiffré   C   =  m  mo  modd   n.
407 17 50
À vous de retrouver   p, q   et   m.
583 19 207
Détaillez
Détail lez vot
votre
re méthode et véri vérifiezfiez vot
votre
re résult
résultat.
at.
4717 21 2804

Donner
À lui de un   p, q    (etn,e,C 
autre triplet
déterminer  m . )  (non présent dans le tableau ci-dessus) à votre voisin.

19 /  63
 

20   CHAP
CHAPITRE
ITRE 1. ÉNONCÉS 
ÉNONCÉS 

1.6.
1.6.4
4 Chiff
Chiffre
reme
men
nt RSA
RSA
Examen 2012-2013

On utilise les notations habituelles du chiffrement RSA :   N  est un entier et   p   et   q  sont   sont deux
entiers premiers tels que   N   =  pq
 pq..  On note  φ  l’indicatrice d’Euler  φ
 φ = N ) = ( p − 1)(
 φ((N )
 = φ q  − 1)  et
1)(q 
e  et   d  sont deux éléments de   Z/N Z  tels que   ed  = 1 mod 
ed = mod   φ.
1. On souhaite utiliser l’algorithme de chiffrement RSA.
– Comment chiffre-t-on un message   m ?   0.5pt 
– Et comment déchiffre-t-on un message   c ?   0.5pt 
– Parmi les entiers  N q,φ,, e  e
 N,, p, q,φ  ett   d  quels sont ceux qui doiv
doivent secrets ?   0.5pt 
ent rester secrets
– Montrer que la divulgation de l’une quelconque des valeurs secrètes permet de retrouver
toutes les autres valeurs privées.   2pts 

2. On pose  N   = 1003  e


 N  =  ett   e = 3.
– Calculer   p, q   et   φ.   1pt 
– Que vaut alors l’entier  d  associé à   e ?   1pt 
– Que vaut le message chiffré   c  associé au message clair  m  = 4 ?
 m =   0.5pt 
– Dans ce cas particulier, est-il possible de retrouver   m  à partir de   c  sans connaître   d ?
1pt 
3. On pose désormais   N   = 65. 65.
– Donner tous les couples  (e,  ( e, d)  possibles.   1pt 
– Chiffrer le message  m  m =  = 4  en utilisant   e  = 5.   0.5pt 
– Vérifier le résultat obtenu en le déchiffrant à l’aide de la clef privée correspondante.
1.5pt 

1.6.
1.6.5
5 RSA
RSA-3
Dans tout cet exercice, on se donne trois entiers premiers impairs   p, q   et   r  differents deux à
deux. Soit n  l’entier égal au produit  pqr. On s’intéresse ici à un cryptosystème identique à RSA.
1. Mont
Montrer
rer que l’on peut définir, de la même manièr
manièree que ppour
our RSA, une fonction de chiffre-
chiffre-
ment et de déchiffrement ainsi qu’un cryptosystème à clé publique en utilisant l’entier  N.
 N .
Vous exhiberez les clés publiques et privées et définirez l’ensemble des messages possibles.
On notera ce cryptosystème RSA-3 dans toute la suite de l’exercice.
2. Rappeler quels sont les messages qui sont dangereux lors de l’utilisation de RSA.
Quels seront ceux qui seront dangereux pour RSA-3 ? (Vous (Vous argumenterez votre réponse.)
3. Montrer qu’il est possible d’utiliser le théorème des restes chinois lors du déchiffrement
d’un message
message..
4. Donner le chiffrement de   x   = 13  et le déchiffrement de   y   = 11  en utilisant le théorème
des restes chinois avec  p =  = 5,  et   r  = 7  et   e  (l’exposant de chiffrement) égal à 19.
 p  = 3, q  =

Réaliser un protocole de chiffrement à la RSA-3 avec votre voisin.


Noter sur une feuille, que vous me rendrez, l’ensemble des résultats.
 

1.6. CHIFFREME
CHIFFREMENT 
NT    21

1.6.
1.6.6
6 Chiff
Chiffre
reme
men
nt El Ga
Gama
mall
Alice choisit   p  = 97  et   g  = 13.
13.
(a) Elle choisit aléatoirement un nombre   a,  disons   45 45,,  dans l’intervalle   [1,...,
[1,..., 95]
95]..
(b) Elle calcule   α  = (1345 mod 97) = 20. 20.
(c) Elle publie sa clé   (97 13, 20)  et garde secrète sa clé   45
(97,, 13, 45..
Bob veut envoyer le message   RAS  à Alice.

(a) En utilisant le code ASCII, son message est  118 101 119. 119.
(b) Il le découpe en nombres entre   0  et  97
 9 7  :  11 81 01 11 09.
09.
(c) Il choisit aléatoirement un nombre   b,  disons   35 35,,  dans l’intervalle  [1,..,
 [1 ,.., 95]
95]..
(d) Il calcule   β   = 1335 mod 97 = 71 mod 97.97.
1. Vérifier que le chiffré de son message est   (71(71,, 21 40 46 21 26).26) .
2. Commen
Commentt Alice déchiffre-t-
déchiffre-t-elle
elle le message de Bob ? Déchiffrer-le
Déchiffrer-le..

Réaliser un protocole de chiffrement à la El Gamal avec votre voisin.


Noter sur une feuille, que vous me rendrez, l’ensemble des résultats.

1.6.
1.6.7
7 Chan
Change
geme
men
nt de clés
clés
Alice change sa clé RSA tous les 25 jours. Bob lui change sa clé tous les 31 jours. Sachant
qu’Alice change sa clé aujourd’hui et que Bob a changé sa clé il y a trois jours, déterminer
quand sera la prochaine fois qu’Alice et Bob changeront leur clé le même jour.

21 /  63
 

22   CHAP
CHAPITRE
ITRE 1. ÉNONCÉS 
ÉNONCÉS 

1.7
1.7 Attaq
ttaque
uess su
surr RS
RSA
A
1.7.1
1.7.1 Atta
ttaque
que par module
module commu
commun
n
Une implantation de RSA donne à deux personnes (Alice et Bob) le même nombre   n  (produit
de deux nombres premiers) mais des clefs  (e  ( eA , dA)  et   (eB , dB )  différentes.
On suppose de plus que   eA   et   eB  sont premiers entre eux (ce qui est le plus général).
Supposons alors que Alice et Bob chiffrent un même message   m  et que Oscar intercepte les
deux messages  c A   = m eA mod
mod   n  et  c B   =  m eB mod
mod n  n  qu’il sait être deux chiffrements du même
message   m.
Montrer qu’Oscar peut alors très facilement découvrir le message   m.
Vous illustrerez cette attaque par un exemple de votre choix.

1.7.2 De   φ(n)  à la factorisation


On considère un module RSA   n = pq
 =  pq,,  où   p  et   q  sont
  sont les inconnues.
Montrer simplement comment la connaissance de   φ(n) = ( p − 1)(  − 1)  (la fonction d’Euler)
q  −
1)(q 
permet de remonter à la factorisation de   n.
On rappelle que si on connaît   pq   et   p + q  alors 
  alors   p   et   q  sont
  sont racines d’un polynôme de degré 2 à 
déterminer.

1.7.3
1.7.3 RSA ave
avecc deux
deux facte
facteurs
urs trop
trop proches
proches
Supposons que   n  soit un entier produit de deux nombres premiers   p   et   q  proches (on peut
). On pose   t =   p+2 q  et   s  =   p−2 q  .
toujours supposer que   p > q ).
Montrer que :
1.   n = t
 =  t 2 − s2 ,
2.   t  est légèrement supérieur à la racine carrée de  n.
On peut utiliser ces informations pour factoriser  n.

L’algorithme s’appelle l’algorithme de Fermat, le voici :

1.   A
√ n   (  N )
 ←  
2.   x  =  A 2 − n  
∈∈   N)
(
3. Tant que
que   x  n’est pas carré parfait
(a)   A  ← A + 1
(b)   x ← A 2 − n
4. Retourner
Retourner   p  =  A +
√ x  et   q  = √ 
 =  A − x

1. Appliquer cet algorithme pour factoriser  24960007


 24960007,,  puis  3649574023
 3649574023..
2. Déterminer la complexité de cet algorithme, en fonction de   p  et de   n.
On sait que lorsque   A  vaudra   p+2 q  =  alors   x  = t  =  s 2 sera un carré.
 =  t 2 − n  = s

3. Déterminer
√ 4n.
4 le nombre d’itérations de l’algorithme lorsque   p  diffère de √ n  de moins de
 

1.7. ATT
TTAQU
AQUES
ES SUR RSA   23

1.7.
1.7.4
4 Mallé
Malléab
abili
ilité
té de RSA
RSA
Nous allons montrer comment les propriétés multiplicatives de RSA rendent une utilisation
naïve de ce cryptosystème complètement illusoire.
1. Proposer un procédé de signature  naïf   d’un message   m  ∈   Z/nZ  par Alice avec sa clé
privée RSA.
2. Ève a réussi à se procurer les signatures du message   m1  et du message   m2.
Montrer quels autres messages elle peut signer au nom d’Alice, et comment.
3. Nous allons montrer une sorte de généralisation de ce procédé.
On suppose qu’Ève s’est procuré un ensemble de signatures de messages : elle connaît
un grand nombre de couples   (mi ; S (mi ))
))..   De plus, les   mi  sont petits et Ève a pu les
factoriser :
αi,j
∀i, mi   =
µ   .
 j
 j

On appelle falsifier une signature le fait d’en créer une de toutes pièces.
Quelless signatures Ève est-el
Quelle est-elle
le capable de falsifi
falsifier
er dans ces conditions?
conditions ?
4. On suppose qu’Ève souhaite falsifier la signature d’un message cible noté   mt   qu’elle a
aussi réussi à factoriser en fonction des   µ j   :
β
mt   = µ j j  .

 j

Montrer comment Ève doit s’y prendre pour falsifier la signature de  m t .

1.7.5
1.7.5 Le temps
temps de
de factori
factorisat
sation
ion de
dess grands
grands en
entie
tiers
rs
Le meilleur algorithme connu à ce jour pour factoriser les grands entiers est le GNFS (General
Number Field Sieve). SOn facteur de travail, pour factoriser un entier   N   est donné par la
formule :
W (N ) =  k exp c(log2 N )1/3 (log2 log2 N 
N ))2/3
W (
 
avec :
•   c =  64
  3
64//9.
  k  est une constante qui dépend de la qualité du programme.
• 1. Calculer   k  sachant qu’en 1999, un entier de 512 bits a été factorisé par une équipe inter-
nationale avec un facteur de tra
nationale travvail de 8000 Mips-années
Mips-années ;
2. Avec cette val
valeur,
eur, quel est le facteur de trav
travail
ail nécessair
nécessairee ppour
our factoriser
factoriser un entier
entier de 768
bits? et 1024 bits?

23 /  63
 

24   CHAP
CHAPITRE
ITRE 1. ÉNONCÉS 
ÉNONCÉS 

1.8
1.8 Si
Sign
gnat
atur
uree et ha
hacchage
hage
1.8.
1.8.1
1 Sign
Signat
atur
uree RS
RSA
A
1. Calculer le module   n  et l’entier   φ(n)  associés aux nombres premiers   p  = 17  et   q  = 23..
 = 23
2. Quels sont les exposants secrets de signature associés aux exposants publics   e   = 11   et
e  = 13 ?
3. Quelle est la signature de  m  = 100 ?
 m =
4. Vérifier que la vérification fonctionne.

Réaliser un protocole de signature RSA avec votre voisin.


Noter sur une feuille, que vous me rendrez, l’ensemble des résultats.

1.8.2
1.8.2 Signat
Signature
ure av
aveu
eugle
gle avec
vec RSA
RSA
Trouver un algorithme à partir de la signature R.S.A qui permet de faire un algorithme de
signature aveugle. On a un message   m  qu’on souhaite faire signer sans que le signataire sache
ce qu’il signe, et un couple de clés publique/privée.

1.8.
1.8.3
3 Sign
Signat
atur
uree El Ga
Gama
mall
On considère la méthode de signature d’El Gamal, avec   p  = 467,
467, g  = 2, x = 65
1. Justifier la validité du choix de  p  et   g.
2. Calculer la clé publique   y   = g x mod
mod   p.
3. Calculer la signature du message   m  = 100  en utilisant les valeurs aléatoires   k   = 64   et
k  = 213.
213.
4. Vérifier que la vérification fonctionne.

Réaliser un protocole de signature à la El Gamal avec votre voisin.


Noter sur une feuille, que vous me rendrez, l’ensemble des résultats.

1.8.4
1.8.4 Signat
Signature
ure El Ga
Gamal
mal : util
utilisa
isatio
tion
n de l’al
l’aléa
éa
Le schéma de signature El Gamal utilise un générateur g de Z p∗ et une clef publique y  = g
 =  g x mod  p,
mod p,
où   x  est la clé privée.
1. Dans quel ensemble choisir  x ?
Pour signer un message   m,  le signataire tire un aléa  k  et calcule

 =  g k mod
r  = g mod   p  e  =  k −1 (h(m)
 ett   s  = k − xr)
xr)

où   h(.)  est une fonction de hachage. Le couple   (r, s)  est la signature du message   m.

2. deux
Décri
Décrire
re une attaque
messages contre
cont
différents.reDe
différents. ce quel
schéma
typeded’attaq
signature
d’attaque ? aléa k  est utilisé pour signer
si le même
ue s’agit-il
 

1.8. SIGNATURE
SIGNATURE ET HA
HACHA
CHAGE 
GE    25

1.8.5
1.8.5 Signat
Signature
ure El
El Gamal
Gamal sans véri
vérifica
ficatio
tion
n modul
modulair
airee
On suppose que le schéma de signature El Gamal est utilisé sans vérifier si   0   < r < p.   On
suppose que l’ataquant connaît la signature   (r, s)  d’un message   m.
Soit   m  un message arbitraire et   s  = sα  =  h((m )h(m)−1 mod
 =  sα  avec   α  = h mod   p − 1.
1. Trouver deux équations vérifiées par   r  (l’une modulo   p  et m’autre modulo   p − 1) telles
que   (r , s )  soit une signature de   m .
2. Comment peut-on résoudre ces équations?
3. De quel ttype
ype d’atta
d’attaque
que s’agit-il
s’agit-il??

1.8.6
1.8.6 Signat
Signature
ure GHR
GHR (Genn
(Gennaro
aro-Ha
-Halev
levi-R
i-Rabi
abin)
n)
Ce schéma de signature proposé en 99 fonctionne de la manière suivante.
On considère un module RSA de la forme   N   = pq   où   p  = 2 p + 1  et   q  =
 = 2q  + 1, 1 ,  avec  p, p , q , q  
 

tous premiers. On prend au hasard   u ∈  Z∗N  tel que   u  soit d’ordre   2 p q    (u2 p q mod
mod   N   = 1)1)..  La
clé publique est  (N,
 ( N, u). La clé privée est constituée de la factorisation de   N.
1. Montrer que   p  suffit à retrouver la factorisation de   N.
2. Montrer que la valeur   p q   suffit également à retrouver la factorisation.
3. Quelle est la valeur de   φ(N )
N ) ?
Soit   h(.)  une fonction de hachage qui produit des hachés de taille   N.  Pour signer un message
M,  on calcule   m  = H 
 =  H ((M ),  puis   s  = u −1 
 =  u m mod 2 p q mod
N    :  la valeur de la signature est   s.
mod   N  
4. Pourquoi l’inverse de   m  est-il calculé modulo   2 p q  ?
5. Retrouver quelle est la procédure de vérification d’un couple message/signature   (M, s).
La sécurité de ce schéma est liée au problème algorithmique suivant, qui est une variante du
problème RSA (on l’appelle  flexible  RSA)
  RSA) : étant donnée  ( N, v )  où  N  est un module RSA et   v
 (N,
un élément de   ZN  trouver un couple   (x, e)  tel que   e >  1  et   x  = v
∗  =  v   mod
mod   N.
6. Rappeler la différence avec le problème RSA classique.
7. Expliquer pourquoi on impose   e >  1.
 1 .
8. Montrer que si le problème RSA classique est facile, alors le problème  flexible  RSA
  RSA pré-
sentéé ci-dess
sent ci-dessus
us est également
également facile.

25 /  63
 

26   CHAP
CHAPITRE
ITRE 1. ÉNONCÉS 
ÉNONCÉS 

1.9 Hachage
1.9.1
1.9.1 Fonc
onctio
tion
n de hachag
hachagee faiblem
faiblemen
entt sans collisi
collision
on
Définition : Soit   h : X   → Y  une fonction de hachage.
 :  X  →
•   h est dite à sens unique  si,  si, pour presque tout  y  de  Y ,  il est calculatoirement infaisable de
trouver  x  tel que   y   = h(
 h (x).
•   h  dite  faiblement sans collision   si, pour   x   donné, il est calculatoirement infaisable de
trouver  x  tel que   h(x ) =  h(
  h (x).
•   h  est dite  sans collision  s’il est calculatoirement infaisable de trouver   x   et   x  tels que
h(x) =  h(
 h (x ).
1. Montrer que  sans collision  implique   faiblement sans collision  et
  et que  à sens unique   im-
plique  faiblement sans collision .
2. Montrer qu’une fonction peut être  sans collision  mais
  mais pas  à sens unique .

1.9.2
1.9.2 Fonc
onctio
tion
n de hac
hachag
hagee et sign
signatu
ature
re
Soit   h  une fonction de hachage à valeur dans   Fn2 .
On considère le cas d’un attaquant qui pour abuser une signature souhaite construire deux
messages (presque identiques) ayant le même haché.
1. Donner une attaque en (2n/ n/2
2
)  pour la fonction de hachage   h  qui permet de construire
deux messages (presque O identiques) mais avec le même hachés.
2. Montrer comment l’attaque précédente peut être utilisée avec la signature RSA pour
abuser un vérificateu
vérificateurr de signature.
signature.

1.9.
1.9.3
3 Le bu
buzz
zz free
free mobi
mobile
le
Le 6 janvier 2012, les geeks s’agitent pour savoir quand les forfaits de la marque Free Mobile
seront lancés. Le site  live.free.fr  contient un dessin de fusée, avec les symboles :
efb7929e6a5b7dcc6ebb79aa3c45af13
Cette valeur est ce que renvoie la fonction de hachage   md5  sur la donnée  jesaispas.
Des petits malins y voient aussi un second message caché en interprétant la chaîne précédente
  NIE
NIEL
L JOIN
JOIN RACE
RACE >>STAR
>>START
T
dans le codage ascii. On y lirait

Est-il plausible d’obtenir à fabriquer un message  intelligible  qui


  qui donne un haché  intelligible  ?
 ?
 

1.10. AUTHENTIFICATION 
AUTHENTIFICATION    27

1.10
1.10 Au
Authe
then
ntificat
tification
ion
1.10.1
1.10.1 Authen
Authentifi
tificat
cation
ion à clef
clef secrèt
secrètee
Il existe des protocoles permettant d’authentifier une entité   A   auprès d’une entité   B.   Cela
présuppose donc que   A   sache effectivement que l’entité vérificatrice est bien   B,   et pas un
attaquant   C   qui se fait passer pour   B.  Or lors de la plupart des connexions, rien ne l’en
assure. Il faudrait alors que   B   s’authentifie également auprès de   A.  C’est ce qu’on appelle
l’authentification mutuelle.
L’idée générale est alors de reprendre les protocoles qui existent pour l’authentification d’une
entité et de l’appliquer de manière symétrique pour authentifier   B  auprès de   A.  Nous allons
voir sur deux exemples qu’il est tout de même nécessaire de prévoir quelques ajustements.
1. Expli
Expliquer
quer pourquoi il n’est pas possibl
p ossiblee de faire de l’authen
l’authentificat
tification
ion mutuel
mutuelle
le par mot de
passe.
2. Suggérer alors une attaque qui permet de récupérer un mot de passe Unix. Enumérez
d’autres situations dans lesquelles une interception de mot de passe est possible en l’ab-
sence d’authentification du serveur.
On cherche maintenant à utiliser une authentification de type défi-réponse utilisant un
système à clé secrète. Considérons le protocole suivant qui utilise un chiffrement à clé
secrète.  A  et   B  partagent au préalable une clé secrète   K.
(i)   A  tire une valeur aléatoire   r  et l’envoie à  B ;
A
(ii)   B  tire une valeur aléatoire   rB  et calcule   β   =  E K  K (rA , rB ). B  envoie   β   à   A;

(iii)   A  calcule   DK (β ).  S’il n’y a pas eu d’attaque, il retrouve   rA   :   B  s’est authentifié. Il
prend connaissance de  r B .  Il envoie  r B   à   B   :  A  s’est authentifié.
3. Trouver une attaque de ce protocole par rejeu. On donne les éléments de départ de
l’approche. Le participant   A  est honnête, et l’attaquant   C  (malhonnête) se fait passer
pour  B.C 
 B .C   va,
va, parallèlement à la tentative d’authentification mutuelle émanant de  A  (vers
B,  pense-t-il) appelée  session 1, initier une session d’authentification vers   A  (en faisant
croire qu’elle émane de   B ), qu’on appellera  session 2 . Les messages de ces deux sessions
s’entrelacent.
Les premières étapes sont (exactement dans cet ordre) :
 session 1   :   A  envoie   rA   à   C.
•  session 2   :   C  envoie
  envoie   rA   à   A.
Compléter,
Complé ter, et expliq
expliquer
uer d’où provien
provientt le problème.
problème.
4. Suggérer une amélioration.

1.10.2
1.10.2 Authen
Authentifi
tificat
cation
ion à clef
clef publiqu
publiquee
Proposer un schéma basé sur le chiffrement ou sur la signature pour faire de l’authentification
à clé publique.

27 /  63
 

28   CHAP
CHAPITRE
ITRE 1. ÉNONCÉS 
ÉNONCÉS 

1.10
1.10.3
.3 Sché
Schéma
ma de Schn
Schnor
orrr
Dans un protocole d’identification, un vérificateur   V  veut vérifier l’identité d’un prouveur   P.
Pour cela,   P  doit convaincre  V  qu’il est en possession d’un certain secret   s.  Les deux objectifs
essentiels
essen tiels d’un tel protocole sont d’une part qu’un usurpate
usurpateur
ur  U  ne connaissant pas  s  ne puisse
pas convaincre   V,  et d’autre part que   P  puisse convaincre   V  qu’il possède   s  sans lui révéler la
valeur de   s  (sinon   V  pourrait devenir à son tour un usurpateur de l’identité de  P   P )).
Nous décrivons maintenant
maintenant le protocole d’iden
d’identificat
tification
ion de Schnorr
Schnorr :
 p et  q  sont
  sont des nombres premiers tels que  q  divise
  divise  p 1 et  α  est un élément d’ordre  q  du
  du groupe
multiplicatif    (Z/pZ) ∗ .  Un nombre  s   mod
mod   q  est − de   P,  tandis que les valeurs de  p,q,α,
  est le secret
et  v   := mod   p  sont publiques.
 α −s mod
:= α
Le protocole d’identification se déroule en quatre étapes :
1. Engagement :   P  choisit aléatoirement un entier   r   mod  q  et transmet   x  = α
mod q  mod   p  à   V.
 =  α r mod
2. Challenge :   V  envoie un challenge   e ∈  [0; q  − 1[  à   P.
3. Réponse :   P   envoie  y  = r
 =  r + mod   q   à   V.
 es   mod
 + es
4. Vérification :   V   vérifie que   x  = α
 =  α y v e mod
mod   p.
P  a réussit son identification auprès de   V  si la vérification est positive.
1. Montrer que   P  réussit toujours son identification auprès de   V.
2.   U  tente
  tente de s’identifier auprès de  V .  Pour cela il répond un  y  aléatoire à l’étape 3. Quelles
sont ses chances de succès?
3. Supposons que le protocole précédent soit mal exécuté, et que l’ordre des étapes 1 et 2
soit inversé. Montrez que   U  peut   peut alors réussir son identification auprès de  V .
4. Montrez que, si pour un même engagement   r, U  est   est capable de répondre correctement à
 ett   e  distinctes posées par   V,  alors il connait   s.
deux questions   e  e
 

1.11. PKI, CER


CERTIFICA
TIFICATS 
TS    29

1.11
1.11 PKI,
PKI, Cert
Certifi
ifica
cats
ts
1.11.1 PKI
Proposer une méthode à base de certificat pour vérifier une signature reçue par un individu,
sans avoir à consulter un annuaire ou une base de données.

1.11
1.11.2
.2 Cert
Certifi
ifica
cats
ts

Discuter les trois scénarios suivants en termes de sécurité :


1. Deux certificats différents sont signés par la même clef privée.
2. Deux certificats différents contiennent la même clef publique.
3. Deux certificats différents ont la même signature.

1.11.3
1.11.3 Distin
Distingue
guerr les
les cle
clefs
fs utili
utilisée
séess dans
dans PGP
PGP utilise 4 clefs quand un utilisateur   A  souhaite signer et chiffrer un courrier électronique
pour un utilisateur   B   :

•  la clef utilisée pour signer le contenu du courrier,


 la clef utilisée pour déchiffrer la clef utilisée dans la première étape,
•  la clef utilisée pour chiffrer le contenu du courrier,
•  la clef utilisée pour chiffrer la clef utilisée dans la troisième étape.
1. Lesque
Lesquelles
lles de ces clefs son
sontt dites symé
symétriqu
triques
es ?
2. Que
Quelle
lless longueu
longueurs
rs (ex
(expri
primées
mées en bitbits)
s) sem
semble
blent
nt adéquates
adéquates pour des clefs
clefs symétr
symétriqu
iques
es ?
Même question pour des clefs asymétriques.
3. Expliquer à quel moment les 4 clefs considérées sont générées.

1.11
1.11.4
.4 Hac
Hachés
hés d
dee m
mot
otss de pass
passee
Les systèmes d’authentification usuels vérifient les mots de passe à l’aide de leur haché stocké
dans des fichiers protégés.
1. Que
Quelle
lle est l’util
l’utilité
ité de stocke
stockerr les hach
hachés
és des mots
mots de passe plutôt que les mots
mots de passe
passe
eux-mê
eux-mêmes
mes ?
2. Pour
Pourquoi
quoi doit-on
doit-on protég
protéger
er l’accès aux hachés
hachés des mots de passe ?
3. Sous quelle condi
condition
tion cette précaution
précaution ne serait
serait-elle
-elle pas nécess
nécessaire
aire ?

29 /  63
 

30   CHAP
CHAPITRE
ITRE 1. ÉNONCÉS 
ÉNONCÉS 

1.11
1.11.5
.5 Le pr
prot
otoco
ocole
le HTTP
HTTPS
S
Le protocole HTTPS (HTTP sur SSL/TLS) est couramment utilisé pour sécuriser les com-
munications entre un serveur web et un navigateur. Pour cela, une session HTTPS s’appuie
sur un certi
certificat
ficat diffusé par le serveur
serveur permettan
permettantt d’effectuer une session d’authenti
d’authentificatio
ficationn ini-
tiale et ensuite un chiffrement du canal de communication dans lequel transite l’échange HTTP.
HTTP.
1. Lor
Lorss de l’auth
l’authent
entific
ificati
ation,
on, le pro
protocol
tocolee utilise
utilise une cl
clef
ef publiqu
publiquee cont
conten
enuu dans un certi-
certi-
ficat que le serveur détient et diffuse au client à l’établissement de la connexion.

Quelles sont
Quelles
2. Commen
Comment lesisateur
protectio
protections
t l’utilisateu
l’util r dunsnavigateur
offertes
navigat eurpar cette être
peut-il utilis
utilisation
êtr ation d’un
e assuré certificat
que cette clef serveu
serveur
publ r ? corres-
publique
ique corres-
pond bien à l’organisme
l’organisme auquel
auquel il souhaite accéder ?
3. Pour
Pourquoi
quoi de nombreux
nombreux service
servicess web, utilisant
utilisant pourtant
pourtant HTTP
HTTPS, S, demandent-ils
demandent-ils en plus à
l’utilisateur de fournir un nom de compte et un mot de passe pour compléter l’ouver-
turee de sess
tur session
ion ?
4. Il est possible d’utiliser un certificat client stocké sur le navigateur pour l’échange HTTPS.
Quel est l’effet de l’utilisation d’un certificat client sur la protection de l’ensemble du ser-
vice?
5. Avec un certificat client, l’utilisateur doit quand même parfois fournir une  passphrase   :
de quel mot de pass passee s’a
s’agit
git-il
-il ?
6. Pens
Pensez-v
ez-vous
ous qu’il y ait une « passphase » utilisateur
utilisateur sur la partie
partie privée du certificat ser-
veur? Pourquoi?

1.11
1.11.6
.6 La cart
cartee bleu
bleuee
Une carte bancaire (à puce) possède un couple clé publique/clé privée kP , kS . Dans la perspective
d’une transaction, elle accomplit plusieurs choses. En premier lieu, elle apporte une preuve
qu’elle est une vraie carte, car :
•  Elle produit une signature valide  σ  = A
 =  A kS (m)  avec sa clé privée d’un message aléatoire qu’on
lui fournit.
•   Elle peut exhiber une preuve que sa clé publique
publique  k P   qu’elle
qu’elle fournit, et qui est nécessaire pour
vérifier  σ, est bien une clé que la banque reconnaît comme appartenant à un de ses clients.
1. Quelle for
forme
me peut prendre la preuv
preuvee précédemm
précédemment
ent cit
citée
ée ?

Quelle connaissance
connaissance doit av
avoir
oir le distributeu
distributeurr ppour
our vérifier cette preuve
preuve ?
2. Logistiquement parlan
parlant,
t, est-il pratique de s’assurer que tous les distributeurs sur la planète
ont cette connaissance? Quel rôle peuvent jouer alors des organismes plus mondiaux
comme
com me Visa, Mast
Masterc
ercard
ard ? En second lieu,
lieu, la carte
carte dit oui ou non à une propositi
proposition
on de
valeur pour le code PIN que lui relaie le distributeur (celui-ci ne relaie le code PIN que si
la carte s’est authentifiée auprès de lui). Lors d’une transaction, la carte a pour vocation
de dire ok ou pas à un montant de transaction. Elle peut éventuellement aussi dire il faut
demander à la banque. Pour dire ok, la carte renvoie un code d’autorisation qui est une
signature du montant de la transaction et du numéro de carte.
3. Si un attaquant parvient à trouver la clé secrète  kS  de la carte, et qu’il dispose du matériel
pour fabriquer
fabriquer une carte, que peut-il faire ?
Même question s’il parvient à trouver la clé secrète de la banque.
 

Chapitre 2

Corrections
2.1 Pour
our se famili
familiari
ariser
ser a
av
vec le
less ordres
ordres de
de gra
grande
ndeur
ur
2.1.
2.1.1
1 Mot
Mot de pass
passee
1. 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. Soit donc 2 jours et 8 heures au maximum et vraisemblablement moins de 50 minutes.
3. Il y   104 = 10000  mots de passe différents constitués de 4 chiffres, ce qui représente 2h et
45 minutes pour tous les tester.
4. Si il s’agit de 8 lettres minuscules, il faut :
268 s  ≈ 6600 années.
Cependant si l’on s’autori
Cependant s’autorise
se les min
minuscules
uscules,, les majuscules, les chiffres et quinze signes de
ponctuations
ponctuations :
778 s ≈  4 × 106 années.

2.1.2
2.1.2 Dénom
Dénombre
bremen
ments
ts
1. 26, trivialement [environ 4,7 bits].
2. On a 26 cchoix
hoix pour b, mais a doit être inversible
inversible modulo 26, sinon on ne peut pas déchiffrer !
Donc il y a   φ(26) = (13 − 1)(2 − 1) = 12  choix pour   a.
Au total :   26 × 12 = 312  clés [environ 8,29 bits].
3. On a droit à toutes les permutations des valeurs [0,26] : chaque lettre est transformée en
l’une des 26 autres, mais de façon bijective.
bijective. Donc 26 ! clés possibl
p ossibles
es [88,4 bits ... mais c’est
sans compter l’exploitation des redondances linguistiques].
4. Il y a 26 choi
choixx possibles
possibles pour chac
chacun
un des   k  caractères donc  2
 266k clés possibles [4,7 bit par
caractère de clé].

2.1.
2.1.3
3 Vide
Viderr l’oc
l’océa
éan
n av
avec u
un
n dé à cou
coudr
dree
2
Volume d’un dé à coudre :   V ddee   = π ×   1,45   × 1, 5 ≈  2
 2,, 6507 cm3
6507cm
Volume de l’océan :   V docean
docean  = 360 106 3, 8 = 13, 13, 68 108 km 3 = 13
13,, 68 1023 cm3
Il y a donc   r  =   V ocean
V ddee  0 , 516 × 10×
≈ 0, 24 (r) ≈ 78
dés×à coudre dans×l’océan. On a   log2×  78,, 77
77..

31
 

32   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

2.1.
2.1.4
4 La forc
forcee brut
brutee
1. Le temp
tempss pour teste
testerr une clé est
 facteur de travail 1200
t  =   = 0, 6 × 10−6 s
puissance 2000 × 106

2. Il y a   n  = 2128 ≈  0,
 0 , 34 × 1039 clés à tester.
On considère les clés possible comme étant les entiers de  0  à  2 128 − 1,  et la clé secrète est
128
notée   k.  On a deux scenarios d’attaque par force brute possible. On note   n = 2 .
•  Si on essaie tous les entiers les uns après les autres.
La probabilité, pour un entier   i  donné, d’avoir   k   =   i  (et donc d’avoir exactement
i+1 tirages à effectuer si on part de 0), est égale à   n1 .
L’espérance du nombre d’essais est donc :
n 1
− (i + 1) 1   =   n(n + 1)  ≈   n .
i=0
n 2n 2

3. On use et abuse des approximations :


103 = 1000  ≈ 2 10
,  1jour =   216 s, 1an =   29  jour =   225 secondes
secondes,, etc.

On calcule le nombre d’instructions calculées en un an à la fréquence de 2000 Mips :


2000  Mips.années ≈  2000 × 220 × 29 × 216 ≈  2 11+20+9+16 ≈  2 56 instructions.

Le nombre d’instructions à effectuer pour trouver la clé est :  1200 × 2127 ≈  2 138 .
Soit un temps de ≈ 2 138−56 ≈  2 81 années (ou en base 10 :  2 × (210 )8 ≈  2 × 1024 ).
Le milliard   (≈  2 30)  de PC d’Internet permettent de gagner un facteur   230 ,  ou   109 .
Soit quelque chose comme  2 × 1015 années, soit un petit million de fois l’âge de l’univers.

2.1.
2.1.5
5 La loi
loi de
de Moo
Moore
re
1. On a d’un part  W n+1   = aW n  et
√  la loi de Moore nous indique que  W n+18  = a
 =  a 18 W n  = 2W n.
On en déduit donc que  a  a =
 = 2.   18

2. L’hypothèse est que la machine a une fréquence de 100051 Mips ( 230 par seconde), donc
en un mois (2  jours de   2 secondes, en gros), ça fait   2 instructions. En outre on a :
5 16

 =  a n W 0 .
W n  = a
3. Au bout de   n  mois, le nombre d’instructions   S n  effectué est   W 0 + . . . Wn  −1 ,  soit :
n 1
S n  = W 
 =  W 0 (1 + a
+  a + · · · + a − ),
n
51 a −1
=2  .
a−1
Pour que   S n  dépasse le nombre d’instructions à effectuer, qui est   (2127 × 211 = 2138 ),   il
faut une estimation à la louche de   a − 1.  À la calculatrice on obtient  a − 1 ≈  251 .  On vise
donc :

an − 1 ≈ 2 138−51
× (a − 1)1),, ≈   225   ≈ 2
87
82
,
 

2.1. POUR SE FAMIL


FAMILIARISE
IARISER
RAAVEC
VEC LES ORDRES DE GRANDEUR    33

n ≈  82log
log a
 22
  ≈ 82 × 18 ≈ 123  années.
2

Ce qui est très très loin du temps calculé à l’exercice précédent.


Il faut penser à rajouter qu’on a donc besoin de changer 1476 fois d’ordinateurs.

33 /  63
 

34   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

2.2
2.2 Vi
Vigé
génè
nère
re,, Polybe
olybe et Hi
Hill
ll
2.2.1
2.2.1 César/
César/Vig
Vigénè
énère
re
1. Un texte long car les fréquences sont alors plus proche des fréquences moyennes de la
langue (on a moins de variations).
2. Décalage   a→p.
3. Oui puisqu’il retrouve trivialement la clé.
4. Il saucissonne le message en morceaux correspondants aux classes de congruence modulo
la longueur de la clé, et il se retrouve avec une cryptanalyse de type César.
5. Non, puisq
puisqu’il
u’il est aisé de commenc
commencer er par un pari sur la longueur de la clé (une hypothèse
raisonnable étant que la clé fait moins de vingt caractères).

2.2.2
2.2.2 Chiffre
Chiffremen
mentt de Vigénè
Vigénère
re
1. On additionne chaque lettre du clair avec la lettre correspondante de la clé répétée suffi-
samment de fois. On obtient le chiffré suivant : VVVIXGGTPTMOFVADWST
La réponse WWWJYHHUQUNPGWBEXTU est également acceptable mais elle corres-
pond au cas A=1 (et non A=0).
2. On fait cette fois une soustraction du clair au chiffré.
On obtient la clé suivante : INTROUVABLEINTROUVA
Si on prend A=1 (mais alors on est forcé de prendre Z=0), la clé est HMSQNTUZAKD.
3. Même technique que précédemment et on trouve : HWDIXJYALZKDBACRCBP.
Il n’y a pas de périodicité dans la clé : c’est un masque jetable (sécurité infinie).

2.2.
2.2.3
3 Chiff
Chiffre
reme
men
nt de
de P
Pol
olybe
ybe
1. Une attaque à clair connu dévoile une lettre de la clé pour chaque nouvelle lettre du
message clair. Compte tenu du fait que les dernières lettres du tableau sont rangées dans
l’ordre alphabétique, la reconstruction est très rapide. Pour une attaque simple, il faut
se baser sur la fréquence d’apparition des lettres, le chiffrement étant une substitution
mono-alphabétique.
2. CHERE ANNA RENDEZ VOUS A DEUX HEURES RUE VERTE RAOUL
Le secret étant SCYTALE. La présence du 55 (supposément le Z) et la fréquence d’ap-
parition du 22 (le E) constituent le point de départ. Les mots RAOUL et ANNA (mot
symétrique facilement reconnaissable) est également prévisible.

2.2.
2.2.4
4 Chiff
Chiffre
reme
men
nt affine
affine
1.   CRYPTO et ROXEYZ sont respectivement représentés par les suites d’entiers
d ’entiers : [2,
 [2, 17
17,, 24
24,, 15
15,, 19
19,, 14]
et   [17
[17,, 14
14,, 23,
23, 4, 24, 25]..  Il s’agit de résoudre le sytème :
24, 25]

2a + b =
 b  = 17

17a + b  = 14
17a
qui a comme solution   (a, b) = (5,
(5, 7).
7).
 

2.2. VIGÉNÈRE,
VIGÉNÈRE, P
POL
OLYBE
YBE ET HIL
HILL
L   35

2. Si on chiffre deux fois par un chiffre affine de clé   (a , b )  on obtient une fonction qui à
x ∈   Z/26Z  associe :
a (a x + b ) + b  =  a 2x + (a
+  b  = a (a b + b ).
On obtient donc un chiffre affine de clé   (a , b )  avec :
 =  a 2
a  = a

b   =  a  b + b
[13,, 6, 1, 0, 12
NGBAMX est représenté par la suite d’entiers :   [13 12,, 23]
23]..
La résolution du système :
2a + b
 +  b   = 13
17a  + b
17a  +  b  = 6
donne cette fois :   (a , b ) = (3,
(3, 7).
7).

2.2.
2.2.5
5 Chiff
Chiffre
reme
men
nt de Hill
Hill
Examen 2012-2013

La matrice multipliée à  M  n’est pas inversible dans M4 (Z26)  (son déterminant est pair et donc
non inversible dans   Z26 ),  nous considérons donc le bigramme suivant :  tq  qui
  qui doit être déchiffré
en   fr  et nous obtenons la nouvelle équation :
 9 19 2 5 
M. =
21 16 7 17

Soit : 2 5   9 19− 1
M   = .
7 17 21 16
2 5     16   −19 1 17
= (5−1 mod 26) . =
7 17 −21 9 3 4
Le déchiffrement du bigramme   gz  donne alors :
1 17 .  6  = 15
3 4 25 14

soit le bigramme   po   et le déchiffrement complet de  gzatzxjihvbreosu  nous donne le texte


clair :   polyalphabetique.
polyalphabetique.

35 /  63
 

36   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

2.3 Ch
Chiffr
iffreme
emen
nt et
et m
modes
odes de chiffrem
hiffremen
entt
2.3.1
2.3.1 Crypto
Cryptogra
graphi
phiee à clé
clé secrèt
secrètee
Examen 2012-2013
1. Rijndael   0.5pt 
2. – décoder = convertir des données encodées en données claires (aucune clef n’est en jeu,
ni aucun chiffrement),
–– déchiffrer
décrypter = = déterminer
retrouver leletexte
message
clairclair
sans àconnaître
partir dulatexte chiffré
clef de en utilisant la clef,
chiffrement.
1.5pt 
3. La confusion correspond à une volonté de rendre la relation entre la clé de chiffrement et
le texte chiffré la plus complexe possible. La diffusion signifie que la moindre modification
du message clair entraîne une grande modification du message chiffré.   2pts 
4. Le message clair est découpé en paquets qui von vontt subir des transformat
transformations
ions simples (per-
mutation, décalage, boîtes S, schéma de Feistel, etc...).   1.5pt 
5. Feistel
eistel,, Biham, Shamir, Anderson, etc...   0.5pt 

2.3.2
2.3.2 Amélior
Améliorati
ation
on d’un
d’un sys
systèm
tèmee de chiff
chiffre
remen
mentt
Monsieur X n’a rien compris aux principes de Kerchoffs. Sa clé reste  k. k .  Son hypothèse doit être
que son attaquant sait tout ce qu’il fait hormis la clé. Or, ici, on n’a toujours que   256 valeurs
de   k  à tester.

2.3.
2.3.3
3 Mod
Mode ECB
ECB
1. Deux blocs identiques auront le même chiffré, ainsi de l’information peut fuir.
2. On peut supposer que l’entrée de Jack donne la correspondance suivante :
Ja|ck|??|10|50|00
Ja|ck|??|10|50|00 Q9|2D|FP|VX|C9|IO
Q9|2D|FP|VX|C9|IO

FP  doitcorrespondre au séparateur de champ. Jane a aussi un prénom de 4 lettres qui


commence par   Ja  donc son entrée chiffrée commence par  Q9??FP,  c’est  Q9AXFPC9IOIO.
Son salaire est ainsi  C9IOIO,  soit 500000 euros par an.
3. Cela correspond à remplacer les couleurs si la taille du bloc correspond à un pixel, ou
des blocs d’image par d’autre, on reconnaitra la forme de l’image : par ex les pixels noir
deviendront tous rouges.

2.3.
2.3.4
4 Mod
Mode CBC
CBC
1. Le voilà :

2. Si il n’y avait pas d’IV deux blocs identiques aux mêmes positions de deux fichiers alors
leurs chiffrés seraient identiques et on le saurait. Si l’on pense aux exemples précédents,
on pourrait dire par exemple : 4 personnes ont le même salaire ou le centre des deux
images est identiques.
3. Seulement deux blocs sont altérés.
 

2.3. CHIFFREME
CHIFFREMENT
NT ET MODES DE CHIFF
CHIFFREME
REMENT 
NT    37

2.3.
2.3.5
5 Mod
Mode CTR
CTR
1. Pas besoin de fonction de déchi
déchiffremen
ffrementt ! C’est av
avanta
antageux
geux dans certain cas : pour AES
le déchiffrement est plus cher que le chiffrement.
2. C’est un IV, sinon toujours le même stream.
3. Facilement parallélisable.

2.3.6
2.3.6 Atta
ttaque
que par insert
insertion
ion
1. Si l’insertion est au bloc  i  (les blocs étant numérotés à partir de 0), alors les blocs de 0 à
i − 1  des chiffrés sont identiques.
2. Le bloc  c i  vaut alors 0 ⊕ P i , où  P i  est soit  E K  nonce   +   i) pour le mode compteur, ou bien
K (nonce
pour OFB   P i   =  E KK  (P i−1 )  e
 ett   P 0   =  E K V )).  Du coup, comme   ci   =  m i ⊕ P i ,, on récupère
K  (I V 
mi=ci ⊕ c .
i
3. Il ne faut jamais réutiliser la même   I V.

2.3.7
2.3.7 Malléa
Malléabil
bilité
ité des
des chiff
chiffrem
remen
ents
ts par
par flot

1. D’une clé   k   et d’un vecteur d’initialisation   I V,   on déduit une chaîne de bits pseudo-
aléatoire   S (k,IV 
k,IV )).  Ceci permet de définir le chiffré :

C   =  E k,IV  (M ) =  M 


k ,IV  (M   ⊕ S (k,IV 
 ⊕ k,IV ))

2. Si on pose   C    = C  ⊕


 ⊕ M , on a alors :
C    = (M  ⊕ S (k,IV 
 ⊕ )) ⊕ M    = (M  ⊕
k,IV ))  ⊕ M ) ⊕ S (k,IV 
k,IV )) =  E  ,IV  (
k,IV 
k  (M  ⊕ M )
 ⊕

3. Si on connaît le format des messages échangés


échangés,, il est alors facile d’en transform
transformer
er le sens :
transformer
TRANSFER $0000100.
TRANSFER $0000100.00 ACCOUNT #199 en
00 TO ACCOUNT
TRANSFER
TRANSFER $0100000.
$0100000.00
00 TO ACCOUNT
ACCOUNT #227
ne demande pas beaucoup d’info
d’informati
rmation
on supplém
supplémenta
entaire.
ire.

37 /  63
 

38   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

2.3.
2.3.8
8 3DE
3DES et 2D
2DES
ES
1. Avec la technologie actuelle, il est recommandé d’utiliser un algorithme de chiffrement
symétrique avec une clé de taille minimale de 64 bits. Puisque DES utilise une clé secrète
dont 56 bits sont effectifs, il n’est pas recommandé de chiffrer avec une seule application
de  DES.  En pratique, on utilise   3DE
DES S  (noté
  (noté aussi  TDES ) avec 2 ou 3 clés différentes :

3DE
DES 
S   =  D
 DES 
ES k 1
DES 
DE S k
2
DES 
DE S k
3

 ◦  ◦
Il a été prouvé que   3DE
DES  S   augmente
augmente la complexité de cryptanalyse par rapport à   DE DES 

d’un facteur de 2 (c.à.d.   3DE
DES  S  est
  est équivalent à   DE S  avec
DES    avec une clé de 112 bits).
2.   2DE S   =  DE S k  ◦ DE
DES  1
DES 
S k 2

(a)   2DE
DES  S  est plus rapide que   3DE S  mais plus lent que   DE
DES  S  et a priori il est plus
DES 
robuste que   DES.  Naïvement, on peut estimer la force cryptographique ajoutée
par   2DE
DES  S   à un facteur de 2 puisque on applique deux fois   DE
DES S   avec deux clés
différentes.
(b) Analyse de sécurité de   2DE
DES 
S   :

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
considère un message m de 64 bits, le message chiffré c avec 2 DES 
 2DE S  correspondant
  correspondant
(c   = 2DE S (k; m))  est aussi de 64 bits. Pour un message   m  donné, il y a   264
DES 
valeurs possibles pour le message chiffré  c  c..
Puisqu’il y a  2112 valeurs possibles pour la clé, en moyenne il y a donc  2112 /264 =
248 valeurs de clés possibles qui donnent le même message   c.

ii. Meet in the middle attack : attaque permettant de faire un compromis entre
le temps de calcul et l’espace de stockage utilisé pour la cryptanalyse (Dif-
fie et Hellman 1977). L’attaquant construit deux listes   L1   et   L2   telles que :
L1   =   {DE S (k ; m); ∀k }   et   L2   =   {DE
DES  S −1 (k ; c); ∀k}.   Il retrouve ainsi deux
DES 
listes de textes chiffrés intermédiaires. Parmi ces textes intermédiaires, il y a
en moyenne   248 chiffrés que l’on retrouve dans les deux listes. L’attaquant re-
trouve ainsi en moyenne   248 clés possibles (meet in the middle). Si l’attaquant
connaît une deuxième paire de texte clair/chiffré, il peut refaire les mêmes opé-
rations en utilisant cette fois les clés obtenues à partir de la première paire et
ainsi augmenter la probabilité de retrouver la clé secrète.
iii. Le nombre de clés possibles en moyenne se réduit à 248 /264 = 2−16 . La probabilité
que l’attaquant retrouve la clé secrète est donc égale à   1 −  2−16 Il faut savoir
que la cryptanalyse de DES requiert un effort de l’ordre de   255 opérations du
fait de la propriété de complémentarité de DES. Donc, l’attaquant de   2DE DES  S 
effectue en tout  2 opérations de chiffrement et  2 opérations de déchiffrement
55 55

pour la première paire de textes clair/chiffré et  2 48 opération


opérationss de chiffremen
chiffrementt et
2 opérations de déchiffrement pour la deuxième paire : un effort de l’ordre de
48
55 48 57
2 × (2 + 2 )   <   2 de   2DE
DES 
S   nécessite donc un
effort de l’ordre d’une opérations. La cryptanalyse
attaque de recherche exhaustive d’une nécessite
clé de 57 bits.
 

2.3. CHIFFREME
CHIFFREMENT
NT ET MODES DE CHIFF
CHIFFREME
REMENT 
NT    39

2.3.9
2.3.9 Algori
Algorithm
thmee de Berlek
Berlekamp
amp-Ma
-Masse
ssey
y
N sN    d L f (X )   m g (X )
0 1 -1 1
0 0 0 0 1 -1 1
1 0 0 0 1 -1 1
2 1 1 3   3
X  + 1   2 1
3 1 1 3  + 1   2
  X 3 + X  + 1
4 0 1 3 3 2
  X  + X  + X  + + 1   2 1
5 1 1 3   X 2 + X  +
 + 1   2 1
6 1 0 3 2
  X  + X  + + 1   2 1
7 1 1 5 5 2
  X  + X  + X  + + 1   7   X  + X  +
2
 + 1
8 0 1 5   X  + X  + 1   7   X  + X  +
5 3 2
 + 1

Conclusion :
Le LFSR de longueur 5 ayant pour polynôme de rétroaction   X 5 + X 3 + 1  génère donc la suite
donnée.
Attent
Att ention
ion !  Le polynôme que l’on trouve via Berlekamp-Massey correspondant aux bits que
l’on considère pour la rétroaction (X  étant
  étant le bit le plus à GAUCHE dans le registre).
Le polynôme se lit donc dans l’autre sens ...

39 /  63
 

40   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

2.4
2.4 Mé
Méth
thod
odes
es de ca
calc
lcul
ul
2.4.
2.4.1
1 Squa
Square
re and
and Mu
Mult
ltip
iply
ly
Pas de correction

2.4.
2.4.2
2 Calcu
Calcull modul
modulai
aire
re
1.
2256 = 27 ×2 249 = 128 ×2 249 = 0 mod 128
2.
529 mod 66 = 1  donc   529436 mod 66 = 1
3.
4096
1023 mod 1024 =  −1  donc  1023 mod 1024 = 1
4.
2308 8 64 4
2308 = 4 × (1 + 64 × (1 + 8))  donc   456 
= 456 × (456 × (456 )) 
SQ :   4562 = 207936   SQ :   4564 = 65037
8
SQ :   465 = 209019   MUL :  4 569 = 175902
 456
SQ :   45618 = 39216   SQ :   45636 = 6555
72
SQ :   465 = 86184   MUL :  4 56144 = 318937
 456
SQ :   456288 = 181830   SQ :   456576 = 15162
MUL :   465577 = 118389   MUL :  4 561154 = 154470
 456
SQ :   4562308 = 165471
d’où
4562308 = 165471

2.4.3
2.4.3 Théorè
Théorème
me des
des rrest
estes
es chino
chinois
is
Application - 1
Il s’agit de trouver   x  positif et minimal vérifiant le système :
x   = 3 mod 17
 xx    == 45 m
mod
od 161

D’après le théorème des restes chinois (puisque 17, 11 et 6 sont premiers entre eux deux à deux),
les solutions sont de la forme :
x  = u
 =  u 1 × 11 × 6 × 3 + u
+  u × 17 × 6 × 4 + u
2 +  u × 17 × 11 × 5 + n
3 +  n × 17 × 11 × 6

ou encore
x = 198u
198u1 + 408u
408u2 + 935u
935u3 + 1122n
1122n
avec   n  entier.
Il reste à trouver les   ui .
On a   x  mod 17 = u
=  u 1 × 11 × 6 × 3 mod 17 = 3 mod 17  donc   u1  est l’inverse de   11 × 6 mod 17.
17.
On a par division euclidienne :
66 = 3 × 17 + 15 17 = 1 × 15 + 2 15 = 7 ×2+1
 

2.4. MÉTHODES
MÉTHODES DE CALCUL
CALCUL   41

On en déduit que  1 = 15 − 7 × 2  et puisque  2 = 17 − 1 × 15 15,,   on a  1 = 15 − 7(17 − 1 × 15)


c’est-à-dire   1 = 8 × 15 − 7 × 17.
17.
Mais  15 = 66 − 3 × 17  d’où 1 =  8(66 − 3 × 17) − 7 × 17 17..
On obtient pour finir   1 = 8 × 66 − 31 × 17  et  u 1   = 8.
De la même manière, on trouve   u2  = 4  et   u3  = 1.
Donc   x  = 198 × 8 + 408 × 4 + 935 + 1122n
1122n  = 4151 + 1122n.
1122n.
4151  est donc une solution possible pour notre cuisinier, mais ce n’est pas la plus petite.
Il suffit d’effectuer la division de  4151 par  1122 pour trouver comme reste  785  qui est le nombre
minimal de pièces que peut obtenir le cuisinier.
Application - 2

1.   270 3.   20
2.   257 4.   785

Application - 3
Pas de correction

2.4.4
2.4.4 Autour
Autour des nombre
nombress prem
premier
ierss
1.   •
n2
− 8n + 15 = (n (n − 3)(3)(nn − 5)
Pour que n  n − 8n + 15  soit premier il faut que  n − 3 = ±3  ou  n − 5 = ±1 ⇔ n =
2
 n  = 2, 4
ou   6; n − 8n + 15  vaut alors   3, −1  o
2
 ouu   3,  seul   3  est premier, les solutions sont donc :   2
et   6.

n2 + 4n
4n + 3 = (n
(n + 1)(n
1)(n + 3)
Pour que  n 2 + 4n + 3  soit premier il faut que  n + 1 = ±1  ou  n + 3 = ±1 ⇔ n =  n  =  −4, −2
ou   0,  il vaut alors   3, −1  ou   3,  seul 3 est premier ; les solutions son
sontt donc : −4  et  0
 0..
2. Valeurs des nombres entiers naturels   n   et   m  pour que le nombre   2n2 + 5mn 5 mn + + 3m2 soit
premier.
On a la factorisation suivante :

2n2 + 5mn 3m2 = (n + m


5mn + 3m  m)(2 n + 3m
)(2n 3 m)

Pour que   2n2 + 5mn


mn   + 3m2 soit premier, il est nécessaire que   n   +   m   =   ±1  ou que
2n + 3m 3m  = 1.  ±
Or   n  e
 ett   m  sont des entiers naturels donc

n + m  =  ±1 ⇔ n + m = 1 ⇔ ( (nn = 0 e ett   m = 1) ou   (n = 1 et   m = 0)


et   2n + 3m
3m  =  ±1  est impossible ; Examinons maint
maintenan
enantt les deux cas restants
restants :
→   n = 0 et   m = 1 : 2n
2n2 + 5mn
5mn + 3m
2
3m2 = 3 ⇒  premier,
2
→   n  = 1  et   m  = 0 : 2n
2n + 5mn
5mn + 3m
3m = 2 ⇒  premier;
Au final, 2 solutions :   (n; m) = (0;
(0; 1) ou  (1;0)
 (1;0)..

41 /  63
 

42   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

3. Les 1 000 entiers consécutifs  1001! + 2, 2, 1001! + 3, ..., 1001! + 1001   sont respectivement
3, ...,
divisi
divisible
bless par 2, 3, ... , 1 001 et sont donc
donc tous composé
composéss ;
Par exemple,
1001! + 2 = 1 × 2 × 3 × · · · × 1001 + 2 = 2(3 × · · · × 1001 + 1)
donc   2|1001! + 2  (et   1  < 2
 <  2 <
 < 1001!
 1001! + 2);
Ils forment donc 1 000 entiers naturels consécutifs, tous composés. Ainsi, les nombres
premiers sont infinis mais on peut trouver des "plages" aussi grandes qu’on veut sans
nombres
nomb res premi
premiers
ers !
4. On calcule   237900 mod 379001  en utilisant l’exponentiation rapide.
On a  37900 = 32768 + 4096 + 1024 + 8 + 4  donc
237900 = 17168 × 455 × 22213 × 256 × 16 = 12802 mod 37901
donc 37901 n’est pas premier. Malheureusement, le théorème de Fermat ne permet pas
de montrer
montrer directemen
directementt qu’un entier est premier.
premier.

2.4.5
2.4.5 Test de
de pr
prima
imalit
litéé de Mille
Miller-R
r-Rabi
abin
n
Indication
1. Factoriser   x2 − 1 et utiliser que   Z/pZ est intègre.
2. Appliquer le petit théorème de Fermat.
3. Poser   i  = sup{ j    0;   b j  n’est pas congru à 1 }  modulo   p.
4.
Corrigé
1. On factorise  x 2 − 1  en  (x ( x − 1)( x + 1). Par intégrité de   Z/pZ, l’équation  (
1)(x x − 1)(
 (x 1)(xx + 1) = 0
entraine  x  = 1  ou   x  = −1.
s
2. On a bs  = a
 =  a d×2 =  a p−1 . Le résultat est donc une conséquence immédiate du petit théorème
de Fermat.
3. Posons  = sup{ j    0;   b j  n’est pas congru à 1} modulo  p . Un tel nombre existe car  b 0  n’est
pas congru à 1 modulo  p  (l’ensemble que l’on considère est non vide), et pour tout  j    s,
 p]  (l’ensemble est majoré par  s , et même par  s − 1). Ainsi, on a  i  ∈ {0, . . . , s − 1}.
b j ≡  1 [ p]
D’autre part,   b2i   =  b i+1  1 [ p] p]. D’après le résultat de la première question,   bi  1 [ p]  p]  o
 ouu
bi ≡ −1 [ p] p]. La première  ≡possibilité est exclue par définition de   i. Donc   bi ≡ 1 ≡[ p]  p].
4. Soit   p  un entier impair dont on souhaite tester s’il est premier. On le factorise sous la
forme   p   =   d × 2 s + 1. Pour différentes valeurs de   a, on calcule la suite   bi  donnée par
l’énoncé. Si   b0  = 1  et pour tout   i ∈ { 1, . . . , s − 1},   bi  n’est pas congru à −1  modulo   p,
alors on est sûr que   p  n’est pas premier. C’est le test de (non- (non-)prim
)primalité
alité de Miller
Miller-Rabin
-Rabin..

2.4.
2.4.6
6 Algo
Algori
rith
thme
me   p − 1  de Pollard
1.  19 048 567  n’est pas un multiple de 3, d’où le résultat.
2. Les puissances demandées sont   224 , 315 , 510 , 78 , 116, 136 , 175 , 195 .
3.   p − 1  est supposé 19-friable, donc s’écrit  2 e 3e . . . 19e .
2 3 19

Par ailleurs,  p − 1   p|n  donc   2e2 < n  ce qui implique que   e2    2424..
De même   e3    15,
24 15 10 8
15,6. . .6, e195   5 5,  et au bilan   p − 1 = 2e 3e . . . 19e divise
2 3 19

Q = 2 3 5 7 11 13 17 19 .
 

2.4. MÉTHODES
MÉTHODES DE CALCUL
CALCUL   43

4. D’après le petit théorème de Fermat, on a   a p−1 = 1 mod  mod   p.


Comme   p − 1  divise   Q,  on en déduit   a = 1 mod p,
Q
mod  p,  c’est-à-dire ce qui est demandé.
5.   p  divise   n  par hypothèse et  p  divise   aQ − 1  d’après la question
question précédente.
précédente.
Donc  gcd(
 gcd(a a − 1, n)  est divisible par   p,  en particulier il est 
Q
= 1.
À cette étape, on a peut-être pas encore un facteur non trivial de   n  : en effet le   gcd   est 
certes   
= 1  mais peut être très bien égal à   n.  Aller plus loin et trouver un facteur de   n
nécessite donc d’avoir la chance que le pgcd soit   < n.  Ne pas avoir cette chance signifie 
que l’hypothèse   p  1  est 19-friable était fausse. Il faut alors recommencer l’algorithme 
avec une borne de −friabilité plus grande (c’est-à-dire moins contraignante).
6. On calcule  gcd(554 505, 505, 19 048 567) = 5 281. 281.
Ce dernier est un facteur non trivial de  19 048 567. 567.

2.4.
2.4.7
7 Théo
Théorè
rème
me de Wils
Wilson
on
Indication
1. Factoriser   x2 1.

2. On pourra regrouper chaque élément de ¯1̄1,, . . . , p
 { − 1} avec son inverse dans   Z/pZ.
3. Appliquer le théorème de Bezout.
Corrigé
1. L’équation x2 = 1 est équivalente à  (x  (x − 1)(
1)(xx +1) = 0, ce qui est équivalent à dire, puisque
Z/pZ  est un corps,   x  = 1  ou   x  =  −1.

2. Travaillons dans   Z/pZ. Tout élément de  {¯1̄1,, . . . , p − 1}  est inversible et son inverse est
différent de lui-même, sauf pour   ¯1̄1   et −1  d’après la question précédente. Dans le produit
¯2̄2 ×···× p − 2, on peut donc regrouper chaque élément avec son inverse, et on trouve que

¯1̄1 × · · · × p − 1 = ¯ 1̄1 × p − 1 = −1


ce qui est le resultat attendu.
3. Soit   a  ∈ {1, . . . , n − 1 }. Alors   a  est un facteur de   (n − 1)!  et donc il existe   k  tel que
=  ak . On en déduit   a × (−k) ≡ 1 [n], et donc   a  est inversible dans   Z/nZ. Par le
(n − 1)! = ak
théorème de Bézout, ceci signifie que  a  est premier avec  n , et ceci est vrai pour tout  a  de
{1, . . . , n − 1}. Autrement dit,   n  est premier.

43 /  63
 

44   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

2.5
2.5 Éc
Écha
hang
ngee de cl
clef
efss
2.5.1
2.5.1 Fonc
onctio
tionne
nnemen
mentt clé privé
privéee vs clé publiqu
publiquee
En cryptographie symétrique, une même clé  K  est   est utilisée pour le chiffrement et pour le déchif-
frement, alors qu’en cryptographie asymétrique, une clé publique  K  pub  pub  est utilisée pour chiffrer
et une clé privée   K  priv   est utilisée pour déchiffrer. Rappelons que les clés paramétrisent les
algorithmes
algori thmes de chiffremen
chiffrementt et de déchiffreme
déchiffrement,
nt, mais que ces algori
algorithmes
thmes sont supposés connus
connus
de tous. Pour assurer la confidentialité en symétrique, il faut que les protagonistes de l’échange,
Alice et Bob, possèdent tous les deux la clé  K,  mais pas l’attaquant Oscar. Le problème majeur
est donc celui de l’échange initial de cette clé. En contrepartie, les algorithmes symétriques sont
très rapides et utilisent des clés courtes (ex : 128 bits pour AES).
En asymétrique, seul le destinataire doit posséder  K  priv priv , laquelle ne doit pas être en possession
de l’attaquant Oscar. Par contre la clé publique   K  pub  peut être connue de tous donc il n’y a
pas de problème d’échange de clé. Bien sûr, on ne doit pas pouvoir calculer   K  priv  à partir de
K  pub . Ces algorithmes sont plus lents et les clés sont plus grandes (ex : 1024 bits pour RSA).
Un exemple simple d’algorithme symétrique peut être pris parmi les chiffrements anciens (à dé-
tailler dans la rédaction) ; ces chiffrements sont abandonnés depuis bien longtemps. Un exemple
d’algorithme symétrique moderne et sûr est l’algorithme Rijndael, actuel standard du chif-
frement symétrique (AES). Pour le chiffrement asymétrique, RSA est l’exemple standard (à
détailler
détail ler dans la rédaction).
rédaction).

2.5.
2.5.2
2 Clé
Clé p
pri
riv
vée vs clé
clé pub
publiq
lique
ue
Pour un système à clé secrète, il faut autant de clés qu’il y a de couples de personnes soit
n,2 n(n−1)
n,2
 
= 2
  .  Ici cela vaut   17 ×  8 = 136  et non   1716 , ni   17!. Ce n’est pas non plus   n(n − 1)
(nombre d’arrangements), car les clés sont symétriques.
Pour un système à clé publique, il faut 17 clés (autant que de participants).

2.5.
2.5.3
3 Perte
erte d’un
d’unee cclé
lé priv
privée
ée
1. Il peut envoyer des courriers chiffrés en utilisant les clés publiques de ces interlocuteurs,
il ne peut plus déchiffrer de messages reçus.
2. Il ne peut plus signer de courriers. Par contre, il peut vérifier les signatures des courriers

3. Áqu’il reçoit
rien, à l’aide
car on desabsolument
ne peut clés publiques
pasde ces interlocuteurs.
retrouver la clé privée à partir d’une clé publique.
4. Il n’a pas d’autre choix que de régénérer une nouvelle clé privée et de distribuer la clé
publique
publiq ue correspondant
correspondantee à ses interlocuteu
interlocuteurs.
rs.

2.5.
2.5.4
4 Diffie
Diffie-H
-Hel
ellm
lman
an
Elle envoie à Bob la valeur   g a mod
mod   p  = 36 mod 23 = 16.
16.
Bob envoie à Alice la valeur  g mod
b
mod p p = 15
12.
 = 3 mod 23 = 12.
Alice peut maintenant calculer la clé secrète :
(g b mod
mod   p)a mod
mod   p  = 126 mod 23 = 9
Bob fait de même et obtient la même clé qu’Alice :
(g a mod
mod   p)b mod  = 1615 mod 23 = 9.
 p =
mod p 9.
 

2.5. ÉCHANGE
ÉCHANGE DE C
CLEFS 
LEFS    45

2.5.5
2.5.5 Atta
ttaque
que p
par
ar le milie
milieu
u de Diffie
Diffie-He
-Hellm
llman
an
Dans le protocole de Diffie-Helmman, il suffit de supposer que l’attaquant actif réalise les
opérations suivantes :
1. Lorsqu’ Alice envoie la valeur   K a  à Bob, Eve bloque la communication puis tire uni-
formément aléatoirement un entier   ãa˜  ∈   Zq ,  calcule   gãa˜ =  K 
˜  a  ∈   G  et envoie la valeur à

Bob;
2. Lorsque Bob envoie la valeur   K b  à Alice, Eve bloque la communication puis tire uni-
 ˜ ˜b̃b  ˜
 Z
formément
Alice; aléatoirement un entier b  ∈ q,
 calcule   g = K b   ∈   G  et envoie la valeur à
3. à réception de  K̃ ˜  b ,  Alice calcule  K̃
K  ˜  a  ;
K  b
4. à réception de  K̃ ˜  a,  Alice calcule  K̃
K  ˜  b ;
K  a
5. Contrairement au protocole réalisé entre utilisateurs honnêtes, l’égalité  K̃ ˜  a   =  K̃
K b
˜  b  n’est
K  a
plus vérifiée. Cependant, si Alice envoie par la suite un message chiffré de façon symétrique
˜  a ,  Eve peut déchiffrer grâce à sa connaissance de   ˜b̃b  (puisque  K̃
avec la clé  K 
K̃ ˜  a   =   K ˜b̃b ),

b b a
prendre connaissance du ,message et éventuellement le rechiffrer avec la clé K̃   ˜
K a    =   K bãa˜
b

(que Bob croit partager avec Alice) pour que la communication ait l’apparence d’une
communication normale.

45 /  63
 

46   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

2.6
2.6 Ch
Chiff
iffre
reme
men
nt
2.6.
2.6.1
1 Kid-
Kid-RS
RSA
A
1.   ed − 1 = (a M  +  + a)(  + b) =  a  b M 2 + M 
)(bb M  + M ((a b + ab ) + ab − 1 =  M 
 M ((a b M  +
 + a b + ab + 1)
1)..
Donc   n  = a  +  ab  + 1.  Par suite si les nombres   a, a , b , b  sont    3  alors   M    8
 =  a  b M   + a b + ab
et   n  91 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   m  distincts   (0      (m, m )      25)  soient toujours chiffrés
différemment il est nécessaire que cette condition soit réalisée.
Remarquons
Remarq uons que   nM  −  − ed  = 1  et donc que tout nombre qui divise   n   et   e  divise 1. Donc
ed =
e  e
 ett   n  sont premiers entre eux.
2. Alice calcule
cd 
cd   mod
mod   n  = edm
 =  edm   mod
mod   n  = m
 =  m   mod
mod   n  = m.
 =  m.
3. Il suffit à Charlie de trouver un nombre   d1  tel que
ed1   = 1 + kn

Comme   e  est premier avec   n  ceci revient à la résolution d’un problème de Bézout.
4. Pour signer un message  m  Alice utilise sa clé privée pour calculer   s  = md
 =  md   mod  n  et joint
mod n
la signature   s  au message   m.  Celui qui reçoit le message   m  signé avec   s  n’a plus qu’à
utiliser la clé publique d’Alice pour calculer   se mod   n  et vérifier qu’il obtient bien   m.
se   mod

2.6.2 Chiffremen
Chiffrement/Dé
t/Déch
chiffrem
iffremen
entt RSA
1.   M   = 10011 (mod 319) = 265
2. On doit résoudre   11 × d  = 1 (mod 280). On trouve   d  = 51
– soit en utili
utilisant
sant l’algori
l’algorithme
thme d’Euclide
d’Euclide ;
– soit en essayant  à la main   car   51 = (280/
(280/11) ×  2  donc il suffit de deux essais pour
trouv
tro uver
er ;
– soit en ut
utilisan
ilisantt Euler, d  = 11−1 (mod 280) d’où d =
 d =  d  = 11φ(280)−1 (mod 280) = 11φ(7.
(7.5.8)−1

(mod 280) = 11(6 (6..4.4)−1


(mod 280) = 1195 (mod 280) = 1164+16+8+4+2+1 (mod 280)
81..81
= 81 81..121
121..81.
81.121
121..11 = 81.81.11 = (mod 2280)
80) = 51
51 (m
(mod 280)).
od 280

3. On doit calculer   13351 (mod 319). Dans les notes on donne   13325 = 133 (mod 319).
Le résultat est donc   133 × 133 × 133 (mod 319) = 12.
4. Évidemment non car les messages à chiffrer/déchiffrer doivent appartenir à   Zn , c’est à
dire   Z319  dans ce cas.
 

2.6. CHIFFREME
CHIFFREMENT 
NT    47

2.6.
2.6.3
3 Exem
Exempl
plee de RSA
RSA
1.   n = 437  et   φ(n) = ( p − 1)( q  − 1) = 396
1)(q 
2.   gcd(e,
gcd(e, φ(n))  = 1  dans les deux cas donc le   d  correspondant n’existe pas.
3. On a via Euclide   d  = −163 = 233 mod 396

n e C p q m
143 17 84 11 13
13 2
247 5 115 13 19
19 20
319 11 133 11 29 12
323 25 19 17 1199 19
403 7 346 13 31
31 5
407 17 50 11 37
3 7 11228
583 19 207 11 53 192
4717 21 2804 53 89 2

47 /  63
 

48   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

2.6.
2.6.4
4 Chiff
Chiffre
reme
men
nt RSA
RSA
Examen 2012-2013
1. – Chiffrement : on convertit le message en un entier   m  [[1; N ]]  et on calcule le chiffré
 ∈
c  m e mod
 ≡ mod   N.   0.5pt 
– Déchiffrement : on calcule   m  c mod d
 ≡
 N .
mod N   0.5pt 
–   p,q,φ  et  d  doivent rester secrets.   0.5pt 
–  Révéler   p  permet d’obten
 • d’obtenirir   q   = N/p,  puis   φ  et donc   d,  de même avec   q.
 Révéler   φ  permet d’obten
d’obtenirir   d  à partir de   e.
 Il reste à voir comment  d  permet d’obtenir le reste. Supposons donc  e  et  d  connus. Il

existe un entier  k  tel que  ed
 ed = = 1 + k,  donc  k  est une approximation de  ed/n  (puisque
φ  est de l’ordre de   n). On sait que   (ed 1) −
/k   =   φ   = ( p 1)(
1)/k 1),,  ce qui s’écrit
q  1)
1)(q  −  −
 −
(ed 1) =  k 1 =  N   p q.  On obtient donc le système
− −  − −
 −
   p + q    =   N  − − (ed − 1)1)/k/k + + 1
 pq    =   N 
Finalement, il suffit d’essayer de résoudre ce système pour des valeurs proches de   k,
par exemple celles de l’intervalle  [[
 [[ed/n − 5; ed/n + 5]] 5]]. Quand on obtient une solution
 p; q ),  on a trouvé   k.
( p;
2pts 
2.   •  La factorisation de   N  donne   p  = 59  e
 ett   q   = 17  (ou l’inverse).
L’entier
•  En   φ  vaut
utilisant alors   58 ×d’Euclide,
l’algorithme 16 = 928 nous obtenons :  928 =  3 × 309 + 1.
1. 1pt 
Donc  1 = 928 + 3 × (−309)  et l’inverse de   e  = 3 mod 
mod   φ  est  619 (= 928 − 309)
309)..   1pt 
•  Le chiffré   c vaut   4 = 64.
3
64.   0.5pt 
•  Il est facile connaissant cette valeur de retrouver   m = 64 . 1/3

En effet, il n’y a pas de réduction modulaire puisque   m < N 1/e .   1pt 


  Pour éviter ce problème, on utilise une technique de remplissage, appelée   padding ,
c’est-à-dire qu’on ajoute au texte clair avant de le chiffrer une valeur structurée et
aléatoire.
3.   •   On a  65 = 5 × 13,
13, donc p =  = 13 (ou l’inverse) et  φ
 p  = 5, q  =  = ( p − 1) × (q − 1) = 4 × 12 = 48.
 φ = 48.
Il faut choisir un couple de clefs publique/privée   (e; d)  tel que   e  soit premier avec   φ
(donc   e  n’est divisible ni par   2  ni par   3) et   ed ≡  1 mod 48.48.  En ignorant les couples
symétriques, on obtient la table suivante :
e   5 7 11 13 17 19 23 25 31 41 47
d   2299 7 35 37 17 43 23 25 31 41 47
Il faut éliminer tous les cas triviaux où  e =  d  dans lesquels le déchiffrement est évident,
 e  = d
pour conserver les couples  (5  (5;; 29)
29), (11;
(11; 35) (13;; 37) et  (19
35), (13  (19;; 43) (et leurs symétriques).  1pt 
•  Le chiffré de   m   = 4   est   c   45 mod 65.
 ≡ 65.   Or,   4 3
≡  ≡
  64   1 mod 65, 65,  donc   c   16
 ≡  ≡
49 mod 65.65.   0.5pt 
•   La clef privée associée à   e   = 5   est   d   = 29 29..  Pour faciliter le calcul, effectuons une
exponentiatio
exponent iationn modulaire
modulaire en remarquant
remarquant que  29 = 24 + 23 + 22 + 1 :
492   (16)2
≡  256≡  ≡
  4 mod 65
494   ( 4)2
≡ − ≡   16 mod 65
8 2
49 ≡
  16 ≡ −
4 mod 65
4916   ( 4)2
≡ − ≡   16 mod 65
On en déduit que :   1.5pt 
c29 ≡ 49 × 49 × 49 × 49 = −4 × 16 × 16 × (−16) ≡ (−64) × 4 ≡ 4 mod 65
16 8 4
 

2.6. CHIFFREME
CHIFFREMENT 
NT    49

2.6.
2.6.5
5 RSA
RSA-3
1. Il n’y a rien a changer, on choisit un couple d’entiers   (e; d)  tel que   ed   = 1 mod   φ(n),
on chiffre le message clair   x   par   y   =   xe mod   n  et on déchiffre le message chiffré   y   par
 =  y d mod
x  = y mod   n.
La clef publique est   (e; n),  la clef privée   (d; p;
 p; q ; r)  et l’ensemble des messages possibles
est   Z/nZ  car pour tout message  m  ∈   Z/nZ  nous pouvons montrer comme pour RSA que
m  = D
 =  D RSA−3 (E RSA ))..  On a
RSA −3 (m))

x  = y
 =  y d mod
mod   n  = (xe )d mod
mod   n  = x
 =  x ed mod
mod   n.
• Si   x est premier avec   n, alors d’apres le petit théorème de Fermat,
xφ(n) = 1 mod 
mod   n

donc   xed = x 1+φ


1+φ((n)
=  x  mod   n  pour un certain  
 x   mod  ..

Cas plus compliqué (un peu au-delà de notre programme) :


• Si x n’est pas premier avec  n, alors x est un multiple de p premier avec q qrr ou un multiple
de   q  premier
  premier avec   pr  ou un multiple de   r  premier avec   pq.
Par exemple pour un multiple de   p  premier avec   qr,  la représentation de   x ∈  Z/nZ  dans
Z/pZ × Z/qr Z  est :
(0e = 0; x   =  x 
 x   mod
mod   qr
qr))
qr
qui est chiffré par   E RSA
RSA   en :
e
(0; xqr   mod
mod   qr  = y
qr =  y qr ),
lui-même déchiffré par   DRSA   en :
d
(0d = 0; yqr e d
  = (xqr (qr)) =  x ed
) mod (qr qr  mod (
(qr ))..
qr))

Or si   ed = mod   φ(n),  il existe  k  tel que   ed =


ed  = 1 mod  ed  = 1 + k ( p − 1)( 1)(rr − 1)  donc
q  − 1)(
1)(q 

ed =
ed  = 1 mod (q 
(q  − 1)(
1)(rr − 1) = 1 mod 
mod   φ(qr
qr)).

(qr))  est premier avec   qr  (parce que   x  est un multiple de   p  premier avec  q
xqr   =  x  mod (qr  qrr)
φ(qr
qr))
donc d’après le petit théorème de Fermat,   xqr   = 1 mod (qr qr))  et  x ed
qr   =  x qr  mod (qr
(qr)).

Dans   Z/nZ,  le couple  (0; d


 ( 0; yqr  mod (qr (qr)) =  x qr )  de   Z/pZ × Z/qr Z  redonne évidemment par
le théorème des restes chinois   x.
2. Les messages dangereux pour RSA sont ceux qui ne sont pas premiers avec  n,  puisqu’alors
on trouve un facteur commun au message et à  n  donc un des deux facteurs premiers de  n,
on en déduit l’autre puis   φ(n), on obtient alors   d  l’inverse modulaire de   e  modulo   φ(n),
c’est-a-dire toute la clef secrète.
Il en va de même ici : les messages dangereux pour RSA-3 sont ceux qui ne sont pas
premiers avec   n,  puisqu’alors on trouve un facteur commun au message et à   n,  c’est-à-
dire soit un facteur, disons   p,  soit le produit de deux facteurs   pq  et   et on déduit le facteur
 n
r  =  pq , dans tous les cas on déduit un des trois facteurs facteurs de  n  et le produit des deux autres.
autres.
En soi un seul message n’est pas dangereux, il faudra avoir la chance d’en trouver un
second qui nous apporte la connaissance d’un autre facteur de   n  pour connaître alors la
factorisation de  n,  d’où  φ φ((n)  et  d  l’inverse modulaire de  e  modulo  φ  φ((n),  c’est-a-dire toute
la clef secrète.

49 /  63
 

50   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

3.   Algorithme
On reçoit   y  et on doit calculer   x  = y mod   n.  On calcule
 =  y d mod

d p   =  d
 d mod ( p
 mod ( p − 1);   dq   =  d  mod (q 
(q  − 1);   dr   =  d mod
 d  mod (r
(r − 1);
puis
x p   =  y dp mod
mod   p;   xq   =  y dq mod  q ;   xr   =  y dr mod
mod q  mod   r

On a  x =
 x  = x
 x p   mod
mod   p, x  = x mod   q   et   x  = x
 =  x q   mod  =  x r   mod
mod   r.
On utilise une première fois le théorème chinois pour déduire   x  modulo le produit   pq.
La relation de Bézout pour   p   et   q   est   up + up + v  vq q    = 1,   on a   x   =   xpq  mod
  mod ( pq )  avec   x pq   =
vq
vqxx p + upxq .  On utilise une seconde fois le théorème chinois pour déduire  x  modulo  n.  La
relation de Bézout pour   pq   et   r   est   u pq  + v  +  v  r  = 1,  on a finalement

 =  v  rx pq  + u pqxr   mod


x  = v mod   n.

4.
1
e  = 19
19,, N   =  pq
 pqrr  = 105,
105, φ(N )
N ) = ( p − 1)( q  − 1)(
1)(q  1)(rr − 1) = 48,  =  e −
48, d  = e mod 48 =  −5 = 43
car
−5 × 19 = 95 = 2 × 48 − 1.
Le chiffre de   x  = 13  e
 est
st   xe mod
mod   N   = 1319 mod 105.
105.
On a
132 = 169 = 105 + 64 = 64 mod 105

et
642 = 4096 = 39 × 105 + 1 = 1 mod 105
donc
xe mod
mod   N   = 1319 mod 105 = 649
× 13 = 1 × 64 × 13 4

= 64 × 13 = 832 = 8 × 105 − 8 = −8 = 97 mod 105.


105.

Le déchiffré de   y   = 11  est  y d mod


mod   N   = 1143 mod 105.
105.
On a
112 = 121 = 105 + 16 = 16 mod 105,
105 ,

16 × 16 = 256 = 2 × 105 + 46 = 46 mod 105,


105,
2
46 = 2110 = 20 × 105 + 16 = 16 mod 105
et
16 × 46 = 736 = 7 × 105 + 1 = 1 mod 105,
105 ,
donc

yd mod
mod   N   = 1143 mod 105 = 1621 11 = 4610 16 11 = 165 16 11 = 166 11

= 463 × 11 =×16 × 46 × 11×= 1×× 11 = 11.


11.
× × ×
 

2.6. CHIFFREME
CHIFFREMENT 
NT    51

2.6.
2.6.6
6 Chiff
Chiffre
reme
men
nt El Ga
Gama
mall
1. Il chiffre alors son message nombre par nombre :
11  est chiffré en
2035 × 11 mod 97 = 46 × 11 mod 97 = 21
81  est chiffré en
2035 × 81 mod 97 = 46 × 81 mod 97 = 40
01  est chiffré en
2035 × 1 mod 97 = 46 × 1 mod 97 = 46
09  est chiffré en
2035 × 9 mod 97 = 46 × 9 mod 97 = 26
Il transmet enfin à Alice le couple   (71
(71,, 21 40 46 21 26).

2. Pour déchiffrer le message de Bob, Alice détermine le nombre   x  = 97 − 1 − 45 = 51.


51.
Pour chaque partie   m  du message, elle calcule   7151 × m  mod 97 :

7151 × 21 mod 97 = 19 × 21 mod 97 = 11


7151 × 40 mod 97 = 19 × 40 mod 97 = 81
7151 × 46 mod 97 = 19 × 46 mod 97 = 1
7151 × 21 mod 97 = 19 × 21 mod 97 = 11
7151 × 26 mod 97 = 19 × 26 mod 97 = 9.9.
Elle retrouve le message  118 101 119  après concaténation.

2.6.
2.6.7
7 Chan
Change
geme
men
nt de clés
clés
Notons d  le nombre de jours jusqu’à ce que Alice et Bob changent leur clé le même jour. Puisque
Alice change sa clé tous les 25 jours et qu’elle a changé sa clé aujourd’hui,   d  doit être divisible
par 25. Puisque Bob change sa clé tous les 31 jours et qu’il a changé sa clé il y a trois jours,
d + 3  doit être divisible par 31. Ainsi   d  doit véri
véri ?er le système de congruences
congruences :
d  = 0 mod 25

d  =  −3 mod 31
Par le théorème des restes chinois, ce système équivaut à la congruence   d  = 400 mod 775,
775,   et
donc Alice et Bob changeront leurs clés le même jour dans 400 jours.

51 /  63
 

52   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

2.7
2.7 Attaq
ttaque
uess su
surr RS
RSA
A
2.7.1
2.7.1 Atta
ttaque
que par module
module commu
commun
n
Oscar connaît   (eA , eB , n)   et   (cA, cB ). Par l’algorithme d’Euclide étendu, il calcule facilement
(en temps -presque- linéaire du nombre de bits de   n) les coefficients de Bezout   r   et   s  tels que
re A + seB   = 1.
Oscar peut alors calculer (par exponentiation rapide)
r s r.e +s.e
c .c   mod
A B mod   n  = m
 =  m A B mod   n  = m
mod  =  m
Moralité :  ne jamais utiliser le même   n  pour un groupe d’utilisateurs.

2.7.2 De   φ(n)  à la factorisation


 =  pq   et   φ(n) = ( p
n  = pq  − 1)(  + 1  donc   p + q  = n
q  − 1) =  n − p − q  +
1)(q   =  n − φ(n) + 1 .
Nous avons la somme et le produit de  p  et   q .
Nous en déduisons alors que   p  e
 ett   q  sont
  sont les deux racines de l’équation du second degré :
X 2 − (n − φ(n) + 1)X 
1)X  +
 + n  = 0

Vérification :
2 2 2
 p − (n − n + p + q  − 1 + 1) p + n =  p − pn + pn − p − pq  + p
 n  = p  +  p − p + n =
 n  = 0.

2.7.3
2.7.3 RSA ave
avecc deux
deux facte
facteurs
urs trop
trop proches
proches
1.
 1
t2 −s 2
= ((
4
 p + q )2
(( p − ( p − q ) ) =   14 ( p
2 2
+ 2 pq  + q 2
2 pq  + − p 2
+ 2 pq 
2 pq  − q  ) =   14 (4(4 pq 
2
 pq ) =  pq  = n.
 =  n.

2.
t2 =  n + s2 > n
 √ 
donc   t > n,  de plus  s  est petit dès que   p  et   q  sont
  sont proches.
1. Avec   n = 24960007,
24960007,  on trouve   t  = 4996  et   s2 = 9  en une seule itération.
Donc   n = 4993 4999
4999..
× ,  on démarre à   t  = 60412,
Avec   n  = 3649574023,
3649574023 60412,  on trouve   s2 = 35721 = 1892 ,  donc une
seule itération suffit et   n  = 60601 × 60223
60223..
2. Compléxité de l’algorithme :
√ 
A  varie dans le pire des cas de  n  à   p+2 q  =  t.
Le nombre d’itérations de la boucle est majoré par (valeur d’arrivée - valeur de départ) :
  − √ n   = √  −   = −
− √ n   =   p+q   p+q 2  pq
√    (  p
√  √ q) 2

t 2 √  2 2 2
  ( p−  pq)
 pq)  p)2
  ( n  p)
=   = −
2 p 2 p
 √  √ 
3. Donc si   p  diffère de n  de moins de 4n,  le nombre d’itérations est majoré par
  4

√ 4n √ n
 =    1.
2 p  p
Donc le nombre d’itérations est égal à 1.
 

2.7. ATT
TTAQU
AQUES
ES SUR RSA   53

2.7.
2.7.4
4 Mallé
Malléab
abili
ilité
té de RSA
RSA
1. Rappelons le principe de la signature
signature dite RSA naïf c’est-à-di
c’est-à-direre la primitive
primitive qui ne prend
pas en compte les renforcements rendus nécessaires par les attaques.
Paramètre public :     : la taille de la clé RSA, i.e. la taille en nombre de bits du module  n
Initialisation :
  de taille   2  bits
•  Tirer aléatoirement deux nombres premiers   p e ett   q  de
•   Calculer   n = pq 
 =  pq 

•  Tirer
  Calculer  =  e −   emod
une  dvaleur
 = e 1 aléatoire telle
( p − 1)(
( p q  −que
1)(q  1)  gcd( e, ( p − 1)(
 gcd(e, q  − 1)) = 1
1)(q 
– Message : un élément  x  ∈ {1, . . . , n}
– Clé publique :   K P  P   = (e; n)
– Clé privée :   K SS    = (d; n)
– Signature :   S (x) = s  s =  x d mod
 = x  n
mod n
– Vérification :   x  = s e
 =  s mod mod   n
2. Ève a réussi à se procurer  s 1   = m d1   mod
mod n  n  et  s 2   =  m d2   mod  n.  Dans ce cas, elle est capable
mod n.
ε ε
de signer le message   m1   m2   mod mod   n,  où   εi ∈ {−1, 1}  puisque la signature vaut alors :
1 2

(mε1   m2ε   )d mod


1 2
 =  m ε1 d  mod
mod   n  = m mod   n
1
×m ε2 d
2   mod  =  s ε1   sε2   mod
mod   n  = s 1
mod n
2
 n

3. Pour tous les couples   (mi , S (mi ))  connus d’Ève, on a


dαi,j
S (m ) =
 µ mod   n
i  j   mod 
 j

Eve est donc capable de calculer toutes les signatures de la forme :



dεi αi,j d i  εi αi,j
 S (m ) i
εi
mod   n  =
mod
µ   mod   n  =
mod
µ   mod  n
mod n
 j  j
i i  j  j

où   εi ∈ {−1, 1}.


4. Compte ten tenuu du résul
résultat
tat de la question précéden
précédente,
te, il faut qu’Ève
qu’Ève ait en sa possession
possession des
messages tels qu’il soit possible de trouver un ensemble d’indices   I  pour
  pour lesquels

∀ j, ∈ ε α
i I 
i i,j   =  β  j .

Si elle ne trouve pas un tel ensemble d’indices, elle doit trouver un moyen de faire si-
gner à Alice un message d’apparence anodine de la forme ci-dessus tel qu’il complète
l’ensemble d’indices recherché. L’ensemble d’indices recherché peut être vu comme un
vecteur
vecteur soluti
solution
on d’un systèm
systèmee linéai
linéaire.
re.

2.7.5
2.7.5 Le temps
temps de
de factori
factorisat
sation
ion de
dess grands
grands en
entie
tiers
rs
1. On a  W  = 8000  pour   log2 N  =
 W  =   = 512  et   log2 512 = 9  soit :

(64//9)1/3 5121/3(log2 512)2/3

W    =  k exp (64


1/3  3

=  k exp (64 × 9 × 512)


 294912) ≈  k exp(66
 = k exp(√ 294912) exp(66..563)
D’où   k ≈ 9.
 9 .89 × 10−26 Mips-year.

53 /  63
 

54   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

2.   •   Pour   log2 N  = 768,  on obtient :


  = 768,
26 2 1/3
W   = 9.89 × 10− exp((64 × 768 × 9.58 /9) )
26
= 9.89 × 10− exp(79..46)
exp(79  ≈ 3200 millions de Mips-year.
•   Pour   log 2 N  = 1024,  on obtient :
  = 1024,
26 1/3
W   = 9.89 × 10− exp((64 × 1024 × 100 100//9) )

= 9.89 × 10− 26 exp(89..97) ≈  117  millions de millions de Mips-year.


exp(89

2.8 Sign
ignat
atur
uree
2.8.
2.8.1
1 Sign
Signat
atur
uree RS
RSA
A
1. Avec   p  = 17  e
 ett   q  = 23,  o
 = 23,  onn a   n  = p   = 391  e
 =  p × q  =  ett   φ(n) = ( p − 1)( q  − 1) = 352.
1)(q  352.
2.   e = 11  n’est pas un exposant de vérification correct car il n’est pas premier avec   φ(n).
En effet on a  pgcd
 pgcd(11 (11,, 352) = 11. 11. e  = 13  en revanche convient et on peut calculer l’expo-
sant de signature correspondant par l’algorithme d’Euclide é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.
1.  D’où   d  =  −27 = 325 mod 352
3.   SIGN (100, 391.  On a  325 = 256 + 64 + 4 + 1  donc on calcule :
(100, 325) = 100325 mod 391.
100325 =   100 4 16 4
× (100 × (100 × 100 ) ) mod 391
=   100 16 4
× (100 × (100 × 186) ) mod 391
=   100 16 4
× (100 × 223 ) mod 391
=   100 × (100 × 52) mod 3914

=   100 4
× (117) mod 391
=   100 × 16 mod 391
=   36 mod 391
4. On calcule   36 mod 391.
391.  On a  13 = 8 + 4 + 1 donc on calcule :
13

3613 =   36 (36 362)4 mod 391


× ×
=   36 (46656)4 mod 391
×
=   36 (127)4 mod 391
×
=   ×
36 220 mod 391
=   100 mod 391

2.8.2
2.8.2 Signat
Signature
ure av
aveu
eugle
gle avec
vec RSA
RSA
Soit   m  le message à signer on cherche à obtenir   md mod   n.  On envoie   xe m  pour signature,
on reçoit donc en retour   (xe m)d =   xmd mod   n  comme   x  est aléatoire le signataire n’a aucun
moyen de savoir quel message est signé.
 

2.8. SIGNATURE 
SIGNATURE    55

2.8.
2.8.3
3 Sign
Signat
atur
uree El Ga
Gama
mall
1.   p  = 467  est un nombre premier (il suffit de tenter une division par   2, 3, 5, 7, 11 16,, 17  o
11,, 16  ouu
p −1

19  pour s’en apercevoir) et on a   g   = 1 :  g  est donc d’ordre   p − 1  (générateur).


2

2.   y  = g mod   p.  Comme  65 = 64 + 11,,  ça va très vite :


 =  g x = 265 mod

265 = 2 × (2 16 4
) =2 × 65536 4
=2 × 156 4
=2 × 369 = 271 mod 467.
467.

•   k   = 64
3.   trouver  estque
  b  tel un mmauvais
 m =  xa +choix
 = xa  kb  modde ( p
(nombre 1). aléatoire, car on ne pourrait peut-être pas
 p − 1).
On peut vérifier que pour tous les  b  allant de  1  à  466  65 × (264 mod 467)+64 × b.
 466,,   100 =
Mais il y a d’autres valeurs de   m  qui donnerait une égalité.
Ainsi   a  = 369 = 264 mod 467, 467, b  = 42  et   m  = 111  vérifient l’égalité :

111 = 65 × 369 + 64 × 42 mod 466.


466.

•   k = 213  est un bon choix car  gcd(213 1,  donc on pourra diviser par   k   :
 gcd(213,, 466) = 1,
Via Euclide on a :
16 × 466 + (−35) × 213 = 1 mod 466.
466.
L’inverse de 213 est donc −35  qui vaut  431 mod 466.
466.

La signature est  =  g k = 2213 mod 467 = 29


a  = g
et
1
b  = (m xa) × k−
− xa) = (100 − 65 × 29) × 431 mod 466 = 31.
31.
4. On calcule les deux valeurs suivantes :
gm =   2100 = (2 × (26 )4 )4 = (2 × 644 )4
=   (2 × 241)4 = 189 mod 467
y a ab =   27129 × 2931 = 322 × 295 = 189 mod 467.
467 .

2.8.4
2.8.4 Signat
Signature
ure El Ga
Gamal
mal : util
utilisa
isatio
tion
n de l’al
l’aléa
éa
1. L’exposant   x  est choisi dans   [1,
[1, φ( p)]
 p)] = [1,
[1, p 1]. 1].
2. Soient   m   et   m  les deux messages et   (r, s)   et−  (r, s )  les deux signatures (les composantes
r  de la signature sont nécessairement identiques si le même aléa est utilisé). On a alors :

 =  k −1 (h(m)
s  = k − xr) mod   p − 1  e
xr) mod  1
 ett   s   = k − (h(m ) − xr mod   p − 1
xr)) mod 

d’où par soustraction :


1
− s  = k
s  =  k − (h(m) − h(m )) mod 
mod   p − 1.

On en tire   k   = (h(m) − h(m ))( mod   p − 1,  puis on peut calculer


))(ss − s )− mod 1

1
x = (h(m) − ks ks))r− mod
mod   p − 1.

Il s’agit donc d’un cassage total (récupération de la clé secrète) dans une attaque à deux
messages connus.

55 /  63
 

56   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

2.8.5
2.8.5 Signat
Signature
ure El
El Gamal
Gamal sans véri
vérifica
ficatio
tion
n modul
modulair
airee
1. De  s    = sα  on déduit :
 =  k −1 (h(m)α
s  = k xrα)) =  k − (h(m ) − xrα
− xrα 1
mod   p − 1
xrα)) mod 

D’où l’idée de poser  r   = r


 =  rα mod   p − 1  pour que  s   ait la bonne forme.
α   mod
Mais il faut aussique le résidu modulo   p  soit correct, donc on doit avoir  r  = r
 =  r    mod  p  car
mod p
c’est le même aléa   k  sous-jacent.
2. On a deux équations qui définissent   r  modulo   p   et   r   modulo   p − 1  : comme   p   et   p − 1
sont premiers entre eux, il existe une solution   r  à ces deux équations et elle est unique
modulo  p(
 p ( p − 1)  (d’après le théorème des restes chinois).
3. Le type d’attaque est une attaque à messages connus (avec un seul message), produisant
une falsification universelle (cpacité à signer n’importe quel message).

2.8.6
2.8.6 Signat
Signature
ure GHR
GHR (Genn
(Gennaro
aro-Ha
-Halev
levi-R
i-Rabi
abin)
n)
1. Connaissant   p ,  on a   p  = 2 p  + 1,
1 ,  un diviseur de   N.
2. On peut écrire   N  en fonction du produit   p q   comme suit :
(2 p + 1)(2q 
N   = (2 p 1)(2q  + 1) = 4 p
4 p q   + (2 p
(2 p + 2q 
2 q  ) + 1.
1.

Si on connait la valeur de   p q  ,  on peut donc connaître aussi la valeur de   p + q   +  q  .  Avec la
somme et le produit, on en déduit une équation du second degré dont   p   et   q   sont les
racines.
3. On a  φ( φ (N )N ) = ( p − 1)(
1)(q  q  − 1) = 4 p 4 p q  .
4. Puisque  u  est d’ordre  2 p  2 p q  ,  les exposants
exposants dans une exponentiat exponentiation
ion en base u  peuvent être
 
2 p q
calculés
calcul és modulo  2 p q  .  En effet  u
  mod   N  par
= 1 mod    par hypothèse donc ajouter un multiple
de   2 p q   à un exposant revient à multiplier le résultat par une puissance de 1.
−1

5. On a   s   =   um mod   N  et celui qui vérifie la signature connaît   M  (et donc   m) et   s,   en


plus des paramètres publics. Il lui suffit donc de vérifier que   sm =  u  mo  mod d   N.
6. Dans le problème RSA, étant donné  (N, v),  il faut trouver  x  tel que  x e =  v   mod
 ( N, e, v) mod N  N .  Ici,
étant donné  (N,  ( N, v ),  il faut trouver  (x,  ( x, e)  satisfais
 satisfaisant ant la même relation : la différence, c’est
que l’attaquant a le choix de   e.
7. Si on autorise   e = 1,  le problème est trivial :   (x  = v
 =  v,, e  = 1)  serait toujours une solution.
8. Supposons que l’on sait résoudre un problème RSA : à partir de   (N, e, v) v),  trouver   x.   Il
est alors trivial de résoudre le  flexible  RSA
 RSA : étant donné  ( N, v ),  on prend n’importe quel
 (N,
e,  et par hypothèse on sait trouver le   x  correspondant.
 

2.9. HACHA
HACHAGE 
GE    57

2.9 Hachage
2.9.1
2.9.1 Fonc
onctio
tion
n de hachag
hachagee faiblem
faiblemen
entt sans collisi
collision
on
1. Si pour   x  donné on peut trouver   x  tel que   h(x) =   h(x )  alors on peut utiliser ce même
couple pour montrer que   h  n’est pas sans collision. Donc non faiblement sans collision
implique non sans collision : par contraposée, on obtient le résultat.
Si une fonction n’est pas faiblement sans collision alors, pour   x  donné, on peut trouver
x  tel que   h(x ) =   h(x).  Comme on est capable de trouver un antécédent à   y   =   h(x),   la
fonction n’est 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 n’est pas à sens unique puisque l’on peut facilement trouver des
antécédents.

2.9.2
2.9.2 Fonc
onctio
tion
n de hac
hachag
hagee et sign
signatu
ature
re
1. Supposons que l’on ait un message de   n/
n/22  mots avec une signification donnée. On prend
le même message mais en ajoutant soit un nouveau caractère blanc entre les mots soit
pas. Cela donne 2 n/
n/2
2
messages qui ont le même sens, mais il peut y avoir un léger décalage
entre les mots auquel on ne fait pas forcément attention.
Par paradoxe des anniversaires on peut donc trouver une collision pour un haché de
n/
n/2
2
longueur   n  avec ces   2
possibilités.
2. La vérification de la signature se fait uniquement à partir du haché d’un message donc
deux messages avec le même haché auront la même signature.

2.9.
2.9.3
3 Le bu
buzz
zz free
free mobi
mobile
le
Non pas du tout. Il n’est pas possible de faire sortir ce qu’on décide à la fonction de hachage.
Inversement, étant donné une écriture, si cryptique soit-elle, d’un message caché qu’on voudrait
mettre dans la valeur de hachage, il est impossible de trouver un antécédent.

57 /  63
 

58   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

2.10
2.10 Au
Authe
then
ntificat
tification
ion
2.10.1
2.10.1 Authen
Authentifi
tificat
cation
ion à clef
clef secrèt
secrètee
1. Il n’est pas possible de faire de l’authentification mutuelle par mot de passe tout simple-
ment parce qu’on ne peut donner un mot de passe qu’à une entité de confiance (on doit
être sûr de qui elle est) ce qui n’est évidemment pas le cas si on a besoin d’authentification
mutuelle

2. Le fauxnom
qu’un écran de login
renvoie à une(par exemple).
adresse Il est possible
IP différente. si un serveur
Un utilisateur DNSpeut
non averti est donc
compromis
penser
communiquer avec le véritable serveur.
3. Il suffit que l’attaquant  C  lance en parallèle une autre session d’authentification mutuelle
vers   A  en rejouant immédiatement les aléas envoyés et en entrelaçant correctement les
envois de manière à faire calculer à   A  les valeurs des réponses. Cela donne :

1   A tire une valeur aléatoire rA et l’envoie


à   C  qui
  qui se fait passer pour   B ;
1bis   C   rejoue immédiatement la valeur en
lançant en parallèle une autre session
d’authenti
d’auth entification
fication;;
2bis   A tire une valeur aléatoire  r  et calcule
A

α  = E  K (rA , rA ). A  envoie   α  à   C ;
 =  E K  
2   C  renvoie
 renvoie alors  α  (qu’il ne peut pas dé-
chiffrer) à   A;
3   A   calcule   DK (α).   Il retrouve   rA   :   C 
s’est authentifié. Il prend connaissance
de   rA .  Il envoie   rA   à   C ;
3bis   C  renvoie
  renvoie   rA   à  A.
4. Le problème provient du fait que les messages ne sont pas personnalisés et que les procédés
sont symétriques. Afin d’introduire de la dissymétrie dans un procédé à clé secrète, il faut
utiliser des MAC. On aménage alors le protocole précédent en concaténant les identités
aux valeurs aléatoires tirées par chaque partie avant de calculer le MAC.

2.10.2
2.10.2 Authen
Authentifi
tificat
cation
ion à clef
clef publiqu
publiquee
On fait un protocole de défi-réponse. Par exemple pour du chiffrement à clé publique. On veut
authentifier la personne qui connait la clé secrète associée à une clé publique. On choisit un
message aléatoire qu’on chiffre avec la clé publique. Le défi est de déchiffrer le message chiffré.
Si la personne est capable de renvoyer le message déchiffré c’est qu’il connait le secret. Pour la
signature le défi est de signer un message aléatoire qu’on vérifie avec la clé publique.

2.10
2.10.3
.3 Sché
Schéma
ma de Schn
Schnor
orrr
1. Comme   P   connait   s,  il calcule   y  = r
 =  r +
 + es
es mo d   q  et
 mod   et le transmet à   V.  Alors

αy v e =  α r+es α−es =  α r =  x   mod


mod   p

donc la vérification est positive.


 

2.11. PKI, CER


CERTIFICA
TIFICATS 
TS    59

2.   U  réussit son identification si   x  = α mod   p,  soit si   αy =  xv −e mod


 =  α y v e mod mod   p, αr−se mod mod   p,  c
 cee
qui est équivalent à  y  = r  =  r − se mod   q.  Donc  U  a une chance sur  q  de succès.
se   mod
3.   U  peut procéder de la façon suivante : il choisit d’abord   y  aléatoirement, puis calcule
mod   p.  Notons qu’il n’a pas besoin de connaitre  s  pour cela, et que le calcul de
 =  α y v e mod
x  = α
x  est  rapide . Il envoie ensuite  x,  puis   y.
4. En effet,   U  a trouvé   y  tel que   y   =   r + es
 +  es   mod   q   et   y   tel que   y   =   r  + e
 +  e s   mod   q.  Alors
y − y    = (e − e )s  et, comme   (e − e )  mod   q, (e − e )  est inversible modulo   q.  Il peut
= 0 mod
donc calcul
calculer
er   s  par la formule :
1
s  = (e − e)− (y − y) mod 
mod   q.

Notons que pour cela il a seulement besoin d’inverser un entier modulo  q  et de multiplier
deux entiers modulo  q,
 q ,  toutes opérations  rapides .
opérations

2.11
2.11 PKI,
PKI, cert
certifi
ifica
cats
ts
2.11.1 PKI
On suppose que tout le monde a la clé publique d’une autorité. Pour signer un message on
envoie,
recevantmessage signéonavec
le message sa clé publique
commence plus la
par vérifier le validité
certificatdu
decertificat
la clé signé parlal’autorité.
avec En
clé publique
de l’autorité, puis si c’est bon la clé publique du signataire est validée et on peut vérifier la
signature. De façon il suffit simplement d’avoir la clé publique d’une autorité et pas besoin de
passer par un annuaire. La vérification se fait donc sans connexion nécessaire.

2.11
2.11.2
.2 Cert
Certifi
ifica
cats
ts
1. Le fait que deux certificats soient signés par la même clef ne pose aucun problème. C’est
tout simplement le cas quand une autorité de certification signe des certificats suivant
la norme X.509 ou lorsque qu’une personne signe des certificats PGP de plusieurs autres
personnes.
2. C’est ici une situation très problématique puisque deux personnes différentes possèdent
des clefs publiques identiques : d’une part chacune d’entre elles peut lire les messages
chiffrés destinés à l’autre personne; d’autre part il sera impossible de différencier les
signatures des deux personnes.
3. Si deux certificats différents ont la même signature, cela signifie que la fonction de hachage
utilisée pour la signature a créé une collision. La signature de l’un des deux certificats
peut avoir été faite par un pirate qui a constaté une collision sur la fonction de hachage.

2.11.3
2.11.3 Distin
Distingue
guerr les
les cle
clefs
fs utili
utilisée
séess dans
dans PGP
On note respectivement   k1 , k2 , k3   et   k4  les clefs introduites dans l’énoncé de cet exercice.
1.   k2   et   k3  sont symétriques,   k1  est la clef privée de   A  et   k4  est la clef publique de   B.
2. On considère généralement qu’une clef symétrique devrait posséder entre 128 et 256 bits
(128 bits est le cas le plus courant en pratique). La taille d’une clef asymétrique devrait
être entre 1024 et 4096 (1024 est le cas le plus courant en pratique).

59 /  63
 

60   CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS 
TIONS 

3. La clef  k
 k 1  (resp.  k 4 ) est typiquement générée quand   A  (resp.  B )  configure son environne-
ment PGP pour la première fois. Cette clef ne devrait être générée qu’une seule fois, sauf 
si elle a expiré ou a été révoquée. La clef  k  k 2  est également
également générée quand A  configure son
environnement PGP, ou quand  A  change son mot de passe. En effet, la clef  k  k 2  est dérivée
directement du mot de passe de  A.  Elle est utilisée pour protéger  k 1  sur le disque. La clef 
k3  est une clef de session qui n’est utilisée qu’un seule fois et une nouvelle est générée à
chaque fois qu’un courrier est chiffré.

2.11
2.11.4
.4 Hac
Hachés
hés d
dee m
mot
otss de pass
passee
1. Étan
Étantt donné que la fonction de hachage
hachage utilisée dans le mécanisme
mécanisme d’authentificat
d’authentification
ion est
irréversible, le vol du fichier des hachés ne divulgue pas les mots de passe.
2. Il est préféra
préférable
ble de protéger l’acc
l’accès
ès aux hachés des mots de passe car, bien que la fonction
de hachage soit irréversible, les mots de passe peuvent souvent être retrouvés en utilisant
soit une attaque par dictionnaire.
3. Cette prote
protection
ction ne serait pas nécessaire si les utilisateurs
utilisateurs choisissaien
choisissaientt des mots de passe
suffisamment complexes.

2.11
2.11.5
.5 Le pr
prot
otoco
ocole
le HTTP
HTTPS
S
1. Le protocole SSL avec un certificat serveur offre d’abord une authentification du par-
tenaire accédé par une vérification que ce serveur détient bien la clef privée correspon-
dant à la clef publique diffusée. Ensuite, la communication est chiffrée, on a donc des ga-
ranties sur la confidentialité des échanges ainsi que sur l’intégrité de la communication pen-
dant toute sa durée.
2. Le certificat n’inclut pas seulement la clef publique, mais également une signature de cette
clef publique par un autre certificat
certificat.. (Celui
(Celui-ci
-ci ppouv
ouvant
ant égalemen
égalementt être un certificat
certificat inter-
médiaire.)
La racine de cette chaîne de certification doit être un certificat pré-installé sur le naviga-
teur (ou obtenu indépendamment en préalable à la communication).
L’utilisateur peut alors être sûr que le certificat diffusé par le serveur appartient bien à l’or-
ganisme indiqué s’il vérifie la chaine de certification, s’il a confiance dans le certifi-
cat racine et s’il a confiance dans les organismes détenteurs des certificats intermé-
diaires pour avoir fait les vérifications nécessaires avant de signer les certificats déri-
vés. (Il s’agit alors de tiers de confiance ou d’autorités de certification.)
3. Le cert
certificat
ificat se
serve
rveur
ur n’offre
n’offre qu’une auauthen
thentificat
tification
ion du serveur
serveur.. Si le ser
service
vice accé
accédé
dé gère
une base de compte
comptess uti
utilis
lisateu
ateurs,
rs, ceux-
ceux-ci
ci doiven
doiventt donc égalemen
égalementt en plus
plus s’auth
s’authen
enti-
ti-
fier. Cette authentificat
authentification
ion du client peut éventuelle
éventuellement
ment s’effe
s’effectuer
ctuer via un nom d’utili-
d’utili-
sateur et
et un mot de pass
passe.
e. Cette mméthode
éthode est moins
moins forte qqu’une
u’une technique
technique faisant
faisant ap-
pel à des alg
algor
orit
ithm
hmeses de cryp
crypto
togr
graph
aphie
ie asym
asymététri
riqu
ques
es,, mais
mais elle est bénéfici
bénéficiee néa
néan-
n-
moins via HTTPS de la protection offerte par le canal chiffré et signé de SSL.
4. Dans ce cas, l’authentification du client, appuyée sur un certificat et une authentifica-
tion à clef privée/clef
privée/clef publiq
publique
ue offre des garantie
garantiess bien plus important
importantes
es en terme de sé-
curité.
curit é. Par con
contre,
tre, il faut alo
alors
rs gérer une procédure de délivrance
délivrance de ces certificats
certificats clients
clients
(incluant
(incluant leur signature
signature par un tiers de confiance, après vérificati
vérification
on de l’identi
l’identité
té du de-
mandeur par exempl
exemple).e).
 

2.11. PKI, CER


CERTIFICA
TIFICATS 
TS    61

5. La clef pri
privée
vée associé
associéee à un certificat ne doi
doitt être que très
très rarement
rarement stock
stockée
ée en clair (no-
tamment sur disque). Elle est protégée par un chiffrement symétrique dont la   passphrase 
constitue
consti tue la clef. C’est donc un mot de passe ppermet
ermettant
tant de déverrouil
déverrouiller
ler l’usage du certi-
ficat et de protéger la clef privée de l’utilisateur en cas de vol (par exemple afin de lui lais-
ser le temps de détecter
détecter le vol et de rév
révoquer
oquer son certificat).
certificat).
6. Si une passphrase est aussi utilisée sur le serveur, à chaque lancement du service web,
il sera nécess
nécessaiaire
re de la fofour
urni
nirr au prog
progra
ramm
mmee afin qu’ilqu’il puisse
puisse accéde
accéderr à la clef pr pri-
i-

véee du certifi
certificat
cat ser
serve
veur.
ur. Il est peu probable
probable ququee ceci soit effectu
effectuéé de manièr
manièree in inter
ter--
activ
activee (à chaqu
chaquee redémar
redémarrag
rage..
e...).
.). Il est plus probab
probable
le qu’en
qu’en pratiq
pratique,
ue, soit la clef pri
pri--
vée est effectivement stockée en clair sur le serveur,
serveur, soit la passphrase en question est sto-
ckée dans les paramètres de configuration du serveur (ce qui n’est pas mieux).
Ce faisant, les administrateurs web/système dérogent vis à vis du certificat serveur aux règles
de protection qu’ils recommandent à leurs utilisateurs pour les certificats clients.

2.11
2.11.6
.6 La cart
cartee bleu
bleuee
1. Une signature de la clé publique, ou même d’un message contenant la clé publique  k P   et
d’autres infos comme le nom du détenteur, le numéro de la carte, sa date d’expiration
etc, le tout signé avec une clé privée de la banque. Cette signature (certificat ) peut être
vérifiée par qui dispose de la clé publique de la banque.

2. C’est
Il faudrait
facileque tous les
en terme dedistribut
distributeurs
eurs
stockage, ou connaissent
connaisse
du moinsntpas
lestrop
clés dur,
publiques de toutes les banques.
mais logistiquement irréali-
sable (on ne peut pas mettre à jour tous les distributeurs de la planète chaque fois qu’une
nouvelle banque est créée). Visa et Mastercard, eux, permettent de résoudre ce problème.
Ils donnent aux banques un certificat où leur clé publique est signée par la clé privée de
Visa (par exemple). Alors il suffit pour vérifier que les distributeurs connaissent les clés
publiques d’une poignée d’organismes centraux : Visa, Mastercard, GIE Cartes bancaires,
...
3. Avec la clé secrète de la carte, un attaquant peut fabriquer une fausse carte qui semble
valide, puisqu’elle présente le bon certificat signé par la banque, et (puisque la clé se-
crète est découverte par l’attaquant) qu’elle peut s’authentifier. D’autre part, cette carte
peut répondre toujours oui à toutes les questions (oui c’est le bon code, oui j’approuve la
transaction, etc). On appelle cela une yes-card. S’il découvre la clé secrète de la banque,
l’attaquant peut produire des nouveaux certificats. Il peut donc créer des yes-cards asso-
ciées à d’autr
d’autres
es iden
identités
tités,, av
avec
ec d’autr
d’autres
es numé
numéros,
ros, d’autres dates d’expiration
d’expiration,, etc.

61 /  63

Vous aimerez peut-être aussi