Introduction `
a la Cryptologie
Chapitre 7 : Groupes
Michael Eisermann (Institut Fourier, UJF Grenoble)
Ann´
ee 2008-2009
IF / IMAG, Master 1, S1-S2
document mis `
a jour le 7 juillet 2009
FOURIER
INSTITUT
f
i
www-fourier.ujf-grenoble.fr/~eiserm/cours # crypto
1/36
Objectifs de ce chapitre
La structure de groupe est une notion centrale pour de nombreux domaines
(en math´
ematiques, physique, chimie, . . .). Nous les ´
etudions ici d’un point
de vue alg´
ebrique et algorithmique avec applications en cryptographie.
D´
eveloppement math´
ematique :
Introduire le vocabulaire des groupes, sous-groupes, quotients.
Pr´
esenter le th´
eor`
eme de Lagrange et quelques applications.
´
Enoncer la classification des groupes ab´
eliens finis.
D´
eveloppement algorithmique :
Certificat de primalit ´
e pour pN.
Calculer l’ordre de xdans le groupe Z/×
p.
Cryptographie selon Diffie–Hellman et Elgamal.
2/36
Sommaire
1Groupes
Groupes et morphismes
Sous-groupes
Groupes cycliques
2Applications en cryptographie
Le probl`
eme du logarithme discret (DLP)
Le protocole Diffie–Hellman
Le protocole Elgamal
3Le th´
eor`
eme de Lagrange et applications
Le th´
eor`
eme de Lagrange
Les th´
eor`
emes de Fermat et d’Euler
Calculer l’ordre d’un ´
el´
ement dans un groupe
4Groupes quotients dans le cas commutatif
Construction du groupe quotient
Passage au groupe quotient
Classification des groupes ab´
eliens finis
5Exercices
3/36
Groupes
D´
efinition
Un groupe (G, )est un ensemble Gmuni d’une application :G×GG,
not´
ee (a, b)7→ ab, v´
erifiant les axiomes suivants :
(G1 : associativit´
e) a, b, c G: (ab)c=a(bc)
(G2 : ´
el´
ement neutre) eGaG:ae=ea=a
(G3 : ´
el´
ements inverses) aGbG:ab=ba=e
Un groupe (G, )est dit commutatif (ou ab´
elien) s’il satisfait
(GA : commutativit´
e) a, b G:ab=ba.
Proposition
L ´
el´
ement neutre de Gest unique ; l’ ´
el´
ement inverse de adans Gest unique.
D´
emonstration. Si eet e0sont neutres, alors e0=ee0=e.
Supposons que bet b0sont inverses `
aa, c’est-`
a-dire que ab=ba=eet
ab0=b0a=e. Alors b=be=b(ab0) = (ba)b0=eb0=b0.
Remarque
Pour un mono¨ıde (M, )on n’exige que les axiomes (G1) et (G2).
Par exemple (Z,+) est un groupe, alors que (N,+) n’est qu’un mono¨
ıde.
§1.1 4/36
Exemples de groupes
Exemples
(Z,+),(Q,+),(R,+),(C,+),(Z/
m,+) sont des groupes ab´
eliens.
(Z×,·),(Q×,·),(R×,·),(C×,·),(Z/×
m,·)sont des groupes ab´
eliens.
(Sym(3),)et (GL(2,R),·)sont des groupes non ab´
eliens.
Notation
Dans un groupe (G, ·)not´
e multiplicativement on ´
ecrit ab au lieu de a·b.
L ´
el´
ement neutre est not´
e1, et l’´
el´
ement inverse de aest not´
ea1.
Dans un groupe (G, +) not´
e additivement, par contre,
l’´
el´
ement neutre est not´
e0, et l’´
el´
ement inverse de aest not´
ea.
Proposition
Si (G1,·),...,(Gn,·)sont des groupes, alors le produit G=G1× ·· · × Gn
est un groupe pour la loi (g1,...,gn)·(h1,...,hn) := (g1h1,...,gnhn).
L ´
el´
ement neutre de Gest e= (e1,...,en).
L’inverse de (g1,...,gn)est (g1,...,gn)1= (g1
1,...,g1
n).
D´
emonstration. Exercice facile mais b´
en´
efique.
§1.1 5/36
Morphismes de groupes
D´
efinition
Soient (G, )et (H, )des groupes. Une application φ:GHest un
morphisme de groupes si φ(ab) = φ(a)φ(b)pour tout a, b G.
Exemples
L’inclusion (Z,+) (Q,+) est un morphisme de groupes.
L’application quotient π: (Z,+) (Z/
m,+) est un morphisme de groupes.
Exemples
L’exponentielle exp: (R,+) (R>0,·)est un morphisme de groupes.
Le logarithme log : (R>0,·)(R,+) est un morphisme de groupes.
Proposition
Si φest un morphisme de groupes, alors φ(eG) = eHet φ(a1) = φ(a)1.
D´
emonstration. Exercice facile mais b´
en´
efique.
§1.1 6/36
L’exponentielle discr`
ete
Notation
Soit (G, ·)un groupe not´
e multiplicativement et soit gGun ´
el´
ement.
Pour nNon d´
efinit gnpar g0:= 1G, puis gn+1 := gn·g.
Pour les exposants n´
egatifs on pose gn:= (gn)1.
Proposition
Pour tout m, n Zon a gm+n=gm·gn. L’application expg:ZGd´
efinie
par expg(k) = gkest un morphisme du groupe (Z,+) dans le groupe (G, ·).
D´
emonstration. Exercice b´
en´
efique.
Remarque
L’algorithme de puissance rapide s’applique au calcul de gndans un groupe !
Notation
Soit (G, +) un groupe not´
e additivement et soit gGun ´
el´
ement.
Pour nNon d´
efinit ng par 0g:= 0Gpuis (n+ 1)g:= ng +g.
Pour les facteurs n´
egatifs on pose (n)g:= (ng).
§1.1 7/36
Isomorphismes de groupes
D´
efinition
Un morphisme de groupes φ:GHest appel ´
e
monomorphisme si φest injectif,
´
epimorphisme si φest surjectif,
isomorphisme si φest bijectif.
Exemples
L’inclusion (Z,+) (Q,+) est un monomorphisme.
L’application quotient πm: (Z,+) (Z/
m,+) est un ´
epimorphisme.
Exemple
L’exponentielle exp: (R,+) (R>0,·)est un isomorphisme.
Le logarithme log : (R>0,·)(R,+) est l’isomorphisme inverse.
Exemple
Pour tout m, n Zon a un morphisme Φ: Z/
mn Z/
m×Z/
ndonn´
e par
Φ`πmn(a)´=`πm(a), πn(a)´. C’est un isomorphisme ssi pgcd(m, n) = 1.
§1.1 8/36
Sous-groupes
D´
efinition & proposition
Un sous-groupe d’un groupe (G, ·)est un sous-ensemble HGtel que
(SG1) eGH
(SG2) aH:a1H
(SG3) a, b H:ab H
L’ensemble Havec l’op´
eration restreinte ·:H×HHest alors un groupe,
et l’inclusion ι:H Gest un monomorphisme de groupes.
D´
emonstration. Exercice facile mais b´
en´
efique.
Exemples
Tout groupe Gadmet {eG}et Gcomme sous-groupes.
Zest un sous-groupe de (Q,+), et Qest un sous-groupe de (R,+).
Nn’est pas un sous-groupe de (Z,+) car (SG2) n’est pas v´
erifi ´
e.
§1.2 9/36
Sous-groupes de (Z,+)
Proposition
Pour tout mZl’ensemble mZ={mq |qZ}est un sous-groupe de Z.
R´
eciproquement, tout sous-groupe de Zest de la forme mZpour un mZ.
D´
emonstration. ´
Evidemment mZest un sous-groupe de Z.
R´
eciproquement, soit Iun sous-groupe de Z.
Par (SG1) on a 0I. Si I={0}, alors I= 0Z.
Si I6={0}, alors il existe aI,a6= 0.
Grˆ
ace `
a (SG2) on peut supposer a > 0.
Soit m= min{aI|a > 0}le plus petit ´
el´
ement positif de I.
Pour tout qZon a mq I, donc mZI.
Pour tout aIil existe q, r Ztels que a=mq +ret 0r < m.
Grˆ
ace `
a (SG2/3) on voit que r=amq est un ´
el´
ement de I.
Notre hypoth`
ese exclut que 0< r < m, il ne reste donc que r= 0.
On conclut que tout aIv´
erifie amZ, donc ImZ.
Les deux inclusions prouvent que I=mZ.
§1.2 10/36
Image et noyau
Proposition
Soit φ:GHun morphisme de groupes.
Si G0Gest un sous-groupe, alors φ(G0)Hest un sous-groupe.
Si H0Hest un sous-groupe, alors φ1(H)Gest un sous-groupe.
D´
emonstration. Exercice facile mais b´
en´
efique.
Corollaire
L’image im(φ) = φ(G) = {φ(g)|gG}est un sous-groupe de H.
Le noyau ker(φ) = φ1(eH) = {gG|φ(g) = eH}est un sous-groupe de G.
Un morphisme de groupes φ:GHest surjectif ssi im(φ) = H.
Pour l’injectivit´
e nous avons le crit`
ere suivant :
Proposition
Un morphisme de groupes φ:GHest injectif ssi ker(φ) = {eG}.
D´
emonstration. «»Tout morphisme v ´
erifie φ(eG) = eH.
Si φest injectif, alors φ1(eH) = {eG}.
«»Supposons que ker(φ) = {eG}. Soient a, b Gtels que φ(a) = φ(b).
Alors φ(ab1) = φ(a)φ(b)1=eH, donc ab1ker(φ) = {eG}.
On conclut que ab1=eG, donc a=b.
§1.2 11/36
Correspondance des sous-groupes
Exercice
Soit φ:GHun morphisme de groupes.
Soit Xl’ensemble des sous-groupes FGcontenant ker(φ).
Soit Yl’ensemble des sous-groupes KHcontenus dans im(φ).
Pour tout FXon a φ(F)Y, et pour tout KYon a φ1(K)X.
Les applications
Φ: XY, F 7→ φ(F),et Ψ : YX, K 7→ φ1(K),
sont des bijections mutuellement inverses.
Solution. Pour tout KHon a φ(φ1(K)) K. C’est la condition
Kim(φ)qui assure que φ(φ1(K)) = K. Ainsi on voit que ΦΨ = idY.
Pour tout FGon a φ1(φ(F)) F. C’est la condition Fker(φ)qui
assure que φ1(φ(F)) = F. Pour montrer «»consid´
erons gφ1(φ(F)).
On a alors φ(g) = φ(f)pour un certain fF. Ainsi k=gf1ker(φ)F,
ce qui entraˆ
ıne que g=kf F. Ainsi on voit que ΨΦ = idX.,
Exercice
A quelle condition sur m, n Za-t-on l’inclusion mZnZ?
Expliciter les sous-groupes de Z/
11, puis de Z/
12, et leurs inclusions.
Plus g´
en´
eralement, d´
ecrire les sous-groupes de Z/
men fonction de m.
§1.2 12/36
Sous-groupes engendr´
es
Proposition
Si Gest un groupe et HiGest un sous-groupe pour tout iI,
alors leur intersection H=TiIHiest un sous-groupe de G.
D´
emonstration. Exercice facile mais b´
en´
efique.
D´
efinition
Soit Gun groupe et soit SGune partie quelconque.
On note hSil’intersection des sous-groupes HGcontenant S: c’est le
plus petit sous-groupe contenant S, appel´
esous-groupe engendr´
epar S.
Proposition
On a hSi={sk1
1··· sk`
`|0 ; s1,...,s`S;k1,...,k`Z}.
D´
emonstration.
On a «»car tout sous-groupe contenant Scontient aussi sk1
1··· sk`
`.
On a «»car l’ensemble `
a droite est un sous-groupe de Gcontenant S.
Notation
Si S={g1,...,gn}, alors on note hSipar hg1,...,gni.
En particulier, si S={g}, alors hSi=hgi={gk|kZ}.
§1.2 13/36
Parties g´
en´
eratrices et groupes monog`
enes
D´
efinition
Si G=hSi, on dit que Sest une partie g ´
en´
eratrice de G.
Un groupe est monog`
ene s’il existe gGtel que G=hgi.
Dans ce cas on appelle gun g´
en´
erateur de G.
Un groupe monog`
ene fini est dit cyclique.
Exemples
Le groupe (Z,+) est monog`
ene, engendr´
e par 1, et aussi par 1.
Le groupe (Z/
m,+) est monog`
ene, engendr´
e par ¯
1, et cyclique ssi m6= 0.
Exercice
Dans Zexpliciter h7,20isous forme mZ. M ˆ
eme question pour h9,15i.
Pour m1,...,mkZd´
eterminer mZtel que hm1,...,mki=mZ.
Exercice
Identifier les g´
en´
erateurs de Z/
12, puis de Z/
mpour m1.
Est-ce que Z/
2×Z/
2est cyclique ? et Z/
2×Z/
3?
§1.2 14/36
Groupes cycliques
D´
efinition
L’ordre d’un groupe Gest le cardinal |G|= ord(G) = card(G) = G.
L’ordre d’un ´
el´
ement gGest l’ordre du groupe engendr´
ehgi.
Proposition
Pour tout gGle morphisme φ:Z→ hgidonn´
e par k7→ gkest surjectif.
Nous avons ker(φ) = mZet φinduit un isomorphisme ¯
φ:Z/
m
→ hgi.
Si ker(φ) = {0}, alors φ:Z
→ hgiet ord(g) = .
Si ker(φ) = mZo`
um1, alors ¯
φ:Z/
m
→ hgiet ord(g) = m.
Ainsi, pour tout kZ, on a gk=esi et seulement si ord(g)|k.
D´
emonstration.
Si ker(φ) = mZ, alors gk+mq =gk(gm)q=gkeq=gk.
Ainsi on peut d´
efinir ¯
φ:Z/
m→ hgipar ¯
φ(πm(k)) = gk.
Par construction ¯
φest un morphisme de groupes et surjectif.
Si ¯
φ(πm(k)) = ¯
φ(πm(k0)), alors gk=gk0, donc gkk0=e.
Ainsi kk0ker(φ) = mZ, et on conclut que πm(k) = πm(k0).
Ceci prouve que ¯
φest un isomorphisme.
§1.3 15/36
Exemples de groupes cycliques
Exercice
Prouver un crit`
ere n´
ecessaire et suffisant pour que Z/
m×Z/
nsoit monog`
ene.
Exercice
Expliciter les groupes Z/×
2,Z/×
3,Z/×
4, . . ., Z/×
16. Lesquels sont cycliques ?
Th´
eor`
eme (structure du groupe multiplicatif Z/×
n)
Si pNest premier, alors (Z/pZ)×est cyclique d’ordre p1.
Si pNest premier impair, alors (Z/pkZ)×est cyclique d’ordre (p1)pk1.
Le nombre premier 2est particulier :
Le groupe (Z/2Z)×est trivial.
Le groupe (Z/4Z)×est cyclique d’ordre 2.
Pour k3le groupe (Z/2kZ)×=h−¯
1i × h¯
5iest le produit direct d’un
groupe d’ordre 2et d’un groupe d’ordre 2k2et donc pas cyclique.
D´
emonstration. Plus tard. Elle n’est pas constructive !
§1.3 16/36
Application : un certificat de primalit´
e
On consid`
ere p= 232 ·332 ·532 + 1 et l’ ´
el´
ement g=¯
2dans Z/
p.
On pose n=p1puis on effectue / v´
erifie les calculs suivants :
gn=¯
1, gn/26=¯
1, gn/36=¯
1, gn/56=¯
1.
Exercice
Le nombre pest-il premier ? L ´
el´
ement gest-il g´
en´
erateur de Z/×
p?
`
A noter que 1047 < p < 1048. Comment prouver sa primalit ´
e ?
Des tests exhaustifs pour d= 2,...,psont hors de question !
Solution. Il suffit d’exploiter l’information des calculs ci-dessus :
gn=¯
1 =gZ/×
pet ord(g)|n
gn/26=¯
1 =ord(g)-n
2
gn/36=¯
1 =ord(g)-n
3
gn/56=¯
1 =ord(g)-n
5
Ceci montre que ord(g) = n.
Nous avons hgi ⊂ Z/×
pZ/
p, donc n=|hgi| ≤ |Z/×
p| ≤ |Z/
p|=p1.
Ici nous avons n=p1, donc n´
ecessairement hgi=Z/×
p=Z/
p.
On conclut que pest premier et que gest un g´
en´
erateur de Z/×
p.,
§1.3 17/36
Certificats de primalit´
e
D´
efinition
Un certificat de primalit ´
epour pNconsiste en la donn´
ee d’entiers positifs
(p1, e1,...,p`, e`;g)tels que
On a la factorisation p1 = pe1
1··· pe`
`.
Les p1<··· < p`sont premiers (certifi´
es `
a leur tour).
L ´
el´
ement ¯gest d’ordre p1dans Z/×
p, c’est-`
a-dire :
on a ¯gp1=¯
1mais ¯g(p1)/pk6=¯
1pour tout k= 1,...,
Proposition
Un nombre pest premier si et seulement s’il admet de tels certificats.
D´
emonstration. Si pest premier, alors Z/×
pest un groupe cyclique,
et il existe donc ϕ(p1) g´
en´
erateurs (´
el´
ements d’ordre p1).
Si padmet un certificat alors nous avons d´
ej`
a vu ci-dessus que
Z/×
pest cyclique d’ordre p1et donc pest premier.
La v´
erification d’un certificat est facile — avec la puissance modulaire rapide !
La construction d’un certificat est moins facile — cela d ´
epend de p:
Il faut factoriser p1: c’est faisable quand on construit pau choix.
Il faut trouver un g´
en´
erateur ¯gZ/
p: heureusement il y en a assez.
§1.3 18/36
Le probl`
eme du logarithme discret (DLP)
Soit Gun groupe, soit gG, et soit x∈ hgi.
D´
efinition
Un logarithme discret de x`
a base gest un entier aZtel que ga=x.
Il n’y a pas unicit´
e : aest n’est d´
etermin ´
e que modulo ord(g).
Le logarithme discret peut ˆ
etre facile `
a calculer. —
Exemple : trouver un log discret de 645 `
a base 1dans (Z,+).
Dans d’autre cas c’est moins facile. —
Exemple : trouver un log discret de 9`
a base 2dans (Z/×
11,·).
Tester si gk=xpour k= 0,1,2,3, . . . est trop coˆ
uteux en g´
en´
eral.
Par contre, ´
etant donn´
eget ail est facile `
a calculer ga.
Slogan
La cryptographie repose sur des fonctions f:XY`
a«sens unique »:
1´
Etant donn´
exXil est facile `
a calculer y=f(x).
2´
Etant donn´
eyYil est difficile `
a trouver xXtel que f(x) = y.
§2.1 19/36
Le protocole Diffie–Hellman (1976)
Objectif : Alice et Bob veulent se mettre d’accord sur une cl´
e commune.
Alice BobÈve
voie de communication non sûre
message
en clair
message
crypté
message
crypté en clair
message
dc
Alice choisit un groupe (G, ·), un ´
el´
ement gGet un entier aZ.
Elle calcule x=gaet transmet (G, g, x)`
a Bob.
Bob r´
ecup`
ere (G, g, x), il choisit un entier bZet calcule y=gb.
Il transmet y`
a Alice.
Cl´
e commune :
Alice connaˆ
ıt G, g, a, x, y et elle calcule z=ya= (gb)a=gab.
Bob connaˆ
ıt G, g, b, x, y et il calcule z=xb= (ga)b=gab.
La cl´
e commune zn’a jamais transit´
e le r´
eseau !
§2.2 20/36
1 / 9 100%
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 !