Cryptographie : Protocoles à base de logarithme discret

LICENCE SCIENCES ET
TECHNOLOGIES
U.E. de Travaux d’Initiatives
Personnels et Encadrés
Cryptographie : Protocoles à
base de logarithme discret
BAH Mamadou Madjou
Encadrants : ROBLOT Xavier
DELAUNAY Christophe
Responsable de l’UE : CALDERO Philippe
2
SOMMAIRE
I – Introduction
II – Les outils nécessaires
a) Les congruences et les classes d’équivalence
b) Le groupe (Z/n Z)
×
et la fonction
ϕ
d’Euler
c) Le groupe multiplicatif cyclique (Z/p Z)
×
d) L’exponentiation rapide et modulaire et implémentation des algorithmes
en Scheme et en C++
III – Le problème du logarithme discret, le protocole de Diffie-Hellmann et le
système El Gamal
1- Le problème du logarithme discret
2- Le protocole de Diffie-Hellmann
3- Le système El Gamal
a) Fabrication de la clé publique
b) Chiffrement
c) Déchiffrement
d) Signature
e) certificat
4- Aspect programmation
IV – Calculs de logarithmes discrets
a) Les attaques
1- La méthode des pas de bébé et de géant
2- La méthode
ρ
de Pollard
b) Les faiblesses du logarithme discret
La méthode de Pohlig-Hellmann
V
Conclusion
VI
Les références bibliographiques
3
I – Introduction
La cryptographie, art de chiffrer des messages en clair, existe depuis des
siècles parce que l’homme a toujours eu besoin de transmettre des messages
secrets. C’était le cas de Jules César ; ce dernier utilisait la cryptographie
affine pour communiquer avec son état major. Ce codage affine s’explique de la
façon suivante :
- on associe un nombre à chaque lettre de l’alphabet
A
B
C
D
E
F
G
H
I
J
K L M
N O P Q R S T U V W
X Y Z
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
22
24
25
- On calcule y= ax+b ; x est le nombre obtenu à partir de la lettre de
départ, a est inversible mod 26 et le couple d’entiers (a,b) est la clé de
codage.
- On calcule r, reste de la division euclidienne de y par 26.
- Puis on associe à r la lettre correspondante par lecture inverse du
tableau.
Par exemple, si on code le mot ROME avec la clé (5, 13) on obtient UFIH
Mot initial R O M E
Code x 17 14 12 4
5x+13 98 83 73 33
r 20 5 21 7
Mot codé U F V H
Jules César utilisait plus précisément un code basé sur un décalage affine c’est-
à-dire un codage avec a=1. Il est bien clair qu’il est facile de retrouver un
message avec ce type de codage parce qu’il y a 312 (12*26) clés à tester .
Il a fallu attendre les années 70 pour que la cryptographie connaisse une
véritable expansion, notamment avec l’apparition de systèmes à clés publiques
tels que le protocole de Diffie-Hellmann, le système El Gamal (de Taher El
Gamal) et le système RSA(actuellement utilisé dans plus de 85 % des échanges
sécurisés mondiaux).
Ayant pour vocation d’assurer la confidentialité des messages, leur
authentification, leur intégrité et leur non-répudiation, cette discipline concerne
maintenant un grand public. Avec le progrès technologique et les techniques
cryptographiques modernes, il est non seulement possible de fabriquer des
cartes bleues, mais aussi d’assurer la protection du copyright, de signer des
documents électroniques et de contrôler des accès, etc.
4
II – Les outils nécessaires
a) Les congruences et les classes d’équivalence
1- Définition
Soit a, b deux entiers relatifs et n un entier strictement positif. On dit que a et b
sont congrus modulo n lorsque a-b est un multiple de n.
On note :
a
b
[
n
]
ou a
b (n) ou a
b mod n pour dire que a est congru à b modulo n.
Cette relation de congruence est une relation d’équivalence sur l’ensemble Z
des entiers . Elle est : - réflexive
a
a [n]
- symétrique
a
b [n]
b
a [n]
- transitive
a
b [n] et b
c [n]
a
c [n] .
2- Proposition
Les congruences sont compatibles avec l
’addition et la multiplication.
Autrement dit si a
b [n] et c
d [n] alors a+c
b+ d [n]
et ac
bd [n].
3- Encore une définition
On appelle Z/n Z l’ensemble des classes d’équivalence (ou l’ensemble des
classes de congruences modulo n). Pour tout entier a on note
a la classe de
congruence de a modulo n,
a = {x
Z ; x
a (mod n) }.
4- Encore quatre propositions
Proposition 1 : (découle des définitions)
x =
y
x
y [n].
Proposition 2 :
L’ensemble Z/n Z est fini, de cardinal n. Plus précisément
Z/n Z = {
0 ,
1 ,
,
n-1}.
Proposition 3 :
On munit l’ensemble Z/n Z d’une addition et d’une multiplication en posant
a +
b =
a+b et
a
b=
ab.
Muni de ces deux opérations Z/n Z est un anneau commutatif unitaire.
Proposition 4 :
Pour tout n
N
, Z/n Z est un corps commutatif si et seulement si n est un
nombre premier.
5
b)
Le groupe (Z/n Z)
×
××
×
et la fonction
ϕ
ϕϕ
ϕ
d’Euler
1- Le
groupe (Z/n Z)
×
××
×
1-1 Théorème
L’ensemble des éléments inversibles de l’anneau Z/n Z muni de la
multiplication est un groupe. On le note (Z/n Z)
×
.
1-2 Théorème
soit
a
Z/n z,
a est inversible si et seulement si PGCD(a,n)=1.
2-
La
fonction
ϕ
ϕϕ
ϕ
d’Euler
2-1 Définition
Soit n
N
, on appelle
ϕ
(n) le nombre d’entiers strictement positifs inférieurs
à n et premiers avec n. C’est donc le cardinal de l’ensemble des éléments
inversibles de l’anneau Z/n Z.
2-2 Théorème d’Euler
Si PGCD(a,n)=1 alors a
ϕ
(n)
1 (mod n).
Preuve :
Il suffit d’appliquer le théorème de Lagrange : « soit G un groupe fini de
cardinal n, soit a
G, on a a
n
=1».
Si
PGCD(a,n)=1,
a
(Z/n Z)
×
××
×
. Or
par définition de
ϕ
, (Z/n Z)
×
est de
cardinal
ϕ
(n). Donc
a
ϕ
(n)
=
1. D’où le résultat.
2-3 Théorème
Si a et b sont premiers entre eux,
ϕ
(ab) =
ϕ
(a)
ϕ
(b).
Preuve
Cela résulte du théorème des restes chinois : « si q
1
, q
2
,
,q
r
sont deux à
deux premiers entre-eux, le système de congruences
x
a
1
(mod q
1
)
x
a
2
(mod q
2
)
:
x
a
r
(mod q
r
)
est équivalent à une unique congruence x
a (mod q
1
q
2
q
r
).
Théorème des restes chinois (version 2)
Si a et b sont premiers entre-eux, les anneaux Z/ab Z et Z/a Z
×
Z/b Z
sont isomorphes. »
Donc, ici, c’est cette dernière version qui nous intéresse.
2-4 Trois propriétés de l’indicatrice d’Euler
Propriété 1 :
Si n est premier alors
ϕ
(n)= n
1.
Propriété 2 :
Si n= p
1
α
1
p
r
α
r
alors
ϕ
(n)= p
1
α
1
1
(p
1
–1)
p
r
α
r
1
(p
r
–1)
Propriété 3 :
(résulte de la propriété 2)
ϕ
(n) = n *
Π
(1
1/p)
p
|
n
1 / 21 100%

Cryptographie : Protocoles à base de logarithme discret

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !