La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Introduction aux corps finis. Intérêt Les opérations sur lanneau des entiers classiques sont relativement lentes. Les calculs dans les corps finis peuvent.

Présentations similaires


Présentation au sujet: "Introduction aux corps finis. Intérêt Les opérations sur lanneau des entiers classiques sont relativement lentes. Les calculs dans les corps finis peuvent."— Transcription de la présentation:

1 Introduction aux corps finis

2 Intérêt Les opérations sur lanneau des entiers classiques sont relativement lentes. Les calculs dans les corps finis peuvent être fait beaucoup plus vite, surtout sur architectures dédiées. Pour cette raison, il existe des cryptogrammes utilisant les corps finis (ex: courbes elliptiques) De plus ils sont utilisés dans dautres domaines des communications (codes en blocs, Reed- Solomon, BCH, codes de Goppa …)

3 Notion de corps Un corps est un anneau où tous les éléments non nuls sont inversibles. Exemples: lensemble des réels, des complexes ou des quaternions sont des corps. Lensemble des entiers ou des entiers relatifs sont des anneaux mais pas des corps. Z/2Z est un corps, Z/4Z nen est pas un. Lensemble Q[ 2] formé des réels de la forme a+b 2 avec a,b Q est un corps.

4 Polynômes irréductibles On dit quun polynôme P est irréductible sil nadmet pas de factorisation. Cette notion dépend de lensemble où sont considérés les coefficients de P. Exemple: Prenons P(X)=X Si on considère ce polynôme comme un polynôme de R[X], alors il nest pas irréductible (P(X)=(X+ 2)(X- 2)). Par contre, si on considère P(X) comme un polynôme de Q[X], P est irréductible.

5 Condition nécessaire Soit P un polynôme à coefficients dans K. Si P est irréductible, alors P ne sannule pas sur K. Par contre on na pas la réciproque. Preuve: Soit a K, tel que P(a)=0. On fait alors la division euclidienne de P par (X-a) et on a P(X)=(X-a).Q(X)+R(X) avec deg(R)

6 Théorèmes principaux Théorème: Soit p un nombre premier et I(X) un polynôme irréductible de degré n 1 dans Z/pZ[X]. Alors (Z/pZ[X])/I est un corps. Il possède p n éléments et il ne dépend pas de I (seulement du degré de I). Ce corps est appelé corps de Galois à p n éléments, noté CG(p n ) (ou GF(p n ) en anglais). Théorème: Les seuls corps finis qui existent sont les corps de Galois.

7 Exemples Soit p=3 et P(X)=X 3 +2X+1. P(X) est bien irréductible dans Z/3Z[X] (on peut vérifier par exemple quaucun des polynômes de Z/3Z[X] de degré inférieur ou égal à 2 ne divise P(X)). (Z/3Z[X])/P est donc un corps. Soit p premier quelconque et P(X)=(X+a) avec a Z/pZ quelconque. Alors Z/pZ[X]/P est un corps. Il est formé des restes modulo P des polynômes de Z/pZ[X]. Or deg(P)=1 donc le reste modulo P dun polynôme est de degré 0 (donc une constante). Ce corps est isomorphe à Z/pZ.

8 Calculs dans un anneau quotient Soit A un anneau et I un idéal de A. La relation définie pour P,Q A par P Q si et seulement si P-Q I est une relation déquivalence. Lensemble des classes déquivalence est appelé anneau quotient A/I et a une structure naturelle danneau quand on transporte laddition et la multiplication de A par la relation déquivalence.

9 Exemple Soit Z lanneau des entiers relatifs et 3Z={x Z | y Z, 3y=x}. 3Z est lensemble des entiers de Z divisibles par 3. La relation est donc définie par x 1 x 2 si et seulement si y Z, x 1 -x 2 =3y. Dans Z, 0, 1 et 2 sont envoyés dans trois classes différentes, que lon notera 0, 1 et 2 respectivement. Soit x Z quelconque alors parmi les nombres x,x-1 et x-2 un et un seul est divisible par 3. Donc x 0, 1 ou 2. Donc il y a seulement trois classes déquivalence dans lanneau quotient. Le théorème précédent dit en gros que pour calculer dans lanneau quotient, on peut faire les calculs dans lanneau et ramener ensuite le résultat dans lanneau quotient par la relation déquivalence. Exemple. Soit à calculer 2 2. On prend des représentants de chaque classe dans Z, par exemple 17 et 5. On a alors 17 5=85 dans lanneau Z. Or 85 1 et donc 2 2=1 dans lanneau quotient. Il sagit en fait de lanneau des entiers modulo 3.

10 Cas des corps finis La relation déquivalence est P-Q I. Lidéal est I={ R K[X] | S K[X], R(X)=S(X).I(X) }. Deux polynômes P et Q sont dans la même classe si et seulement si P(X)-Q(X) = S(X).I(X) avec S K[X] donc P(X) = Q(X) mod I(X). Pour faire les calculs, on prend donc nimporte quel élément de la classe et on fait les calculs modulo I(X).

11 Exemple Soit CG(27) Z/3Z[X]/X 3 +2X+1. Lensemble des classes déquivalence est exactement lensemble des restes des polynômes de Z/3Z[X] modulo X 3 +2X+1. Il sagit donc de tous les polynômes de degré strictement inférieur à 3 dans Z/3Z[X]. Soit à calculer (X 2 +X+2).(X 2 +2X+1). On prend deux représentants dans lanneau Z/3Z[X] et on les multiplie. (X 2 +X+2).(X 2 +2X+1) =X 4 +2X 2 +2X+2. On réduit modulo X 3 +2X+1: X 4 +2X 2 +2X+2 = X.(X 3 +2X+1) –2X 2 –X +2X 2 +2X+2 = X.(X 3 +2X+1) + X+2. Donc (X 2 +X+2).(X 2 +2X+1)=X+2.

12 Cas de la division On veut calculer des divisions dans les corps CG(p n ). En fait, on va définir linversion. Soit donc A(X) Z/pZ[X]/I où I est un polynôme irréductible de Z/pZ[X]. On cherche donc un polynôme B(X) Z/pZ[X]/I avec A(X).B(X)=1. Au niveau des équivalents dans Z/pZ[X], çà donne r A (X).r B (X)=1+S(X).I(X). On peut résoudre par lalgorithme de Bezout et on revient à Z/pZ[X]/I par réduction modulo (cf. TP).

13 Représentation linéaire Théorème: CG(p n ) est un espace vectoriel de dimension n sur CG(p) Z/pZ. Cà veut dire que lon peut représenter les éléments de CG(p n ) comme des n-uplets déléments de CG(p). X 2 +X+2 (1,1,2) On parle de représentation linéaire du corps CG(p n ).

14 Racines de polynômes Théorème: Soit P un polynôme irréductible de Z/pZ[Y] de degré égal à n. Alors P est entièrement décomposable dans GF(p n )[Y]. Exemple: P(Y)=Y 3 +Y 2 +2Y+1 est irréductible dans Z/3Z[Y]. Dans CG(27) Z/3Z[X]/X 3 +2X+1, P admet 2X 2 +2X+2, X 2 +2X et 2X+2 comme racines. On vérifie que lon a bien Y 3 +Y 2 +2Y+1 = (Y-2X 2 - 2X-2). (Y-X 2 -2X). (Y-2X-2) dans CG(27) Z/3Z[X]/X 3 +2X+1.

15 Groupe multiplicatif Théorème: Soit p un nombre premier et n 1. Alors (CG(p n )-{0},*) est un groupe. De plus il est monogène i.e. il existe CG(p n )-{0} tel que pour tout CG(p n )- {0}, k entier compris entre 0 et p n -2 tel que = k. On dit que est un générateur du groupe. On a de plus CG(p n )-{0}, p n - 1 =1.

16 Exemple Dans CG(27) Z/3Z[X]/X 3 +2X+1, on a 0, 26 =1. Si =X, alors est un un générateur de CG(27)-{0}. De même X 3 est un générateur. Par contre X 2 nen est pas un.

17 Racines primitives Définition: Soit I un polynôme à coefficients dans CG(p n ) et soit une racine de I. Si est un générateur de CG(p n )-{0}, on dit que est une racine primitive de I. Exemple: Dans CG(27) Z/3Z[X]/X 3 +2X+1, P admet 2X 2 +2X+2, X 2 +2X et 2X+2 comme racines. Toutes ses racines sont primitives. Y 3 +Y 2 +Y+2 admet X 2, X 2 +X+1 et X 2 +2X+1 comme racines. Aucune nest primitive.

18 Nouvelle définition Théorème: Soit I un polynôme de degré n, irréductible sur Z/pZ[X]. Alors toutes les racines de I sont primitives. Soit lune dentre elles. CG(p n ) est le plus petit anneau contenant 0 et et on a un isomorphisme danneau avec Z/pZ[X]/I, si on pose f( )=X.

19 Exemple Soit I(X)=X 3 +2X+1. I est irréductible dans Z/3Z[X] et admet au moins une racine primitive dans CG(27). Représentation linéaire: quel que soit CG(27), se représente de manière unique par =c 2 2 +c 1 +c 0 avec c i {0,1,2}. Grâce à lisomorphisme, les calculs se font comme précédemment modulo 3 et modulo I. On préfère généralement cette définition pour éviter les confusions entre les variables des polynômes sur GF(27)[Y] et Z/3Z[X]/I.

20 Représentation exponentielle Soit I un polynôme de degré n, irréductible sur Z/pZ[X] et une racine primitive de I dans CG(p n ). Alors pour tout élément non nul de CG(p n ), on a = k, avec 0 k p n -2. k est le logarithme discret de. Conjecture: le problème du calcul du logarithme discret est exponentiel.

21 Multiplication et division Soit non nul dans CG(p n ), alors p n - 1 =1. Soit 1 = k 1, alors 0. 1 =0. Soit 2 = k 2, alors 1. 2 = k, avec k=k 1 +k 2 (mod p n -1). De plus, 1 / 2 = k, avec k=k 1 -k 2 (mod p n -1).

22 Logarithme de Zech Soit un élément générateur de CG(p n ). Soit k un entier quelconque tel que k -1, on pose =1+ k. Alors 0, donc il existe Z(k) tel que = Z(k). Z(k) est le logarithme de Zech de k. Il dépend du choix de.

23 Addition Soit un élément générateur de CG(p n ). Soit 1 = k 1 et 2 = k 2, alors = k 1 + k 2 = k 1 (1+ k 2 -k 1 ). Si k 2 -k 1 -1, alors = k 1 +Z(k 2 -k 1 ). Si k 2 -k 1 =-1, alors = 0. On doit calculer des logarithmes discrets pour calculer la table de Zech on doit se limiter à des petits corps finis.

24 Table de Zech pour CG(27) I(X)=X 3 +2X+1, racine primitive de I Soit à calculer = =( 18 +1) 2 =(1+1/ 8 ) 2 =(1+ 8 ) -6 =Z(8). 20 = = i k Z(i+k) pour CG(27)

25 Construction de petits corps finis Soit I(X) un polynôme de degré n à coefficients dans CG(p). Soit une racine de I(X). I(X) est irréductible si et seulement si la suite u k = k pour 0 k p n -2 donne p n -1 éléments distincts non nuls.

26 Construction de CG(16) Exemple: CG(16). I(X)=X 4 +1 sur CG(2), racine primitive On calcule récursivement u k = k Si I(X) est irréductible, on doit générer 15 éléments distincts (les éléments du groupe multiplicatif). On a u 0 =1, u 1 =, u 2 = 2, u 3 = 3, u 4 = 4 =1. On ne génère donc que 4 éléments et donc I nest pas irréductible (X 4 +1=(X+1).(X 3 +X 2 +X+1)).

27 Construction de CG(16) I(X)=X 4 +X+1 sur CG(2), racine primitive

28 Construction de grands corps finis Soit I(X) un polynôme de degré n à coefficients dans CG(p). Soit une racine de I(X). I(X) est irréductible si et seulement si génère le groupe multiplicatif CG(p n )-{0}. I(X) est irréductible si et seulement si on a p n -1 = 1 et (p n -1)/d 1 pour tout diviseur d de p n -1.

29 Construction de CG(2 163 ) I(X)=X 163 +X 7 +X 6 +X 3 +1 sur CG(2), racine primitive On a = 1. On factorise =150287*704161* * * On calcule ( )/ = … On continue avec , etc … On trouve finalement que I est bien irréductible.

30 Codes de Reed-Solomon Soit CG(2 k ) un corps de Galois et une racine primitive Soit d un entier positif, on pose G(Y)=(Y- i 0 ).(Y- i 0 +1 ).(Y- i 0 +2 ).(Y- i 0 +2d-1 ). Soit E={G(Y).A(Y) | A CG(2 k )[Y], deg(A)<2 k -2d-1} Alors deux polynômes distincts de E ont au moins 2d coefficients dans GF(2 k ) qui sont différents. De plus, si P CG(2 k )[Y], deg(P)<2 k -1, il existe un algorithme (ex: Berlekamp-Massey) qui permet de trouver Q CG(2 k )[Y], deg(Q)<2 k -1, Q E tel que les coefficients de Q et P diffèrent au plus de d valeurs dans CG(2 k ).

31 Application aux télécoms Exemple: CG(256), RS(255,239), G(Y) est de degré 16. On a 239 octets de données d 0, …, d 238. On forme le polynôme D(Y)=d 0.Y 16 +d 1.Y 17 +…+d 238.Y 254. On calcule dans GF(256)[Y], le reste R(Y) de D(Y) modulo G(Y). Le polynôme C(Y)=D(Y)-R(Y) est un mot du code RS(255,239) et ses 239 coefficients dominants sont exactement les données d i. On transmet ce polynôme sur une ligne bruitée qui peut induire des erreurs. A la réception, si au plus d octets sont faux, lalgorithme de Berlekamp-Massey permet de retrouver C(Y) et donc les données.

32 Autres applications Cryptographie sur courbes elliptiques. Construction de fonctions fortement non linéaires pour des fonctions de hachage. Codes correcteurs: codes BCH, codes de Goppa, codes à résidus quadratiques. Construction de géométries projectives pour les codes LDPC (Low Density Parity Check Codes). Etc…


Télécharger ppt "Introduction aux corps finis. Intérêt Les opérations sur lanneau des entiers classiques sont relativement lentes. Les calculs dans les corps finis peuvent."

Présentations similaires


Annonces Google