Académique Documents
Professionnel Documents
Culture Documents
Pierre-Louis CA
CAYREL
YREL
www.cayrel.net
1 / 6
633
2
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
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
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
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.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é?
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
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.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
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
360 = 51 × 7 + 3
7 = 2×3+1
D’où d =
d = 103.
103.
56 = 3−1 mod 170; 37 = 13−1 mod 143; 113 = 17−1 mod 120; 219 = 19−1 mod 520.
520.
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;
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
15 / 63
16 CHAP
CHAPITRE
ITRE 1. ÉNONCÉS
ÉNONCÉS
On a alors :
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 =
M
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 ?
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
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 =
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..
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.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.
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
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
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.
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.
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
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
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
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 :
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
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
,
n ≈ 82log
log a
22
≈ 82 × 18 ≈ 123 années.
2
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
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
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é :
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
S
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
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
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 :
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
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
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 à
K̃
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 ),
K
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
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
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
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)).
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
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
yd mod
mod N = 1143 mod 105 = 1621 11 = 4610 16 11 = 165 16 11 = 166 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.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.
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
∀ 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
W
1/3 3
53 / 63
54 CHAPITRE
CHAPITRE 2. CORREC
CORRECTIONS
TIONS
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
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
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é :
• 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.
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
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
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
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 :
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
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).
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é
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