Corps finis

publicité
Corps
Corps finis
Arithmétique dans les corps finis
Corps
Corps finis
Arithmétique dans les corps finis
Rappels sur les groupes
Qu’est-ce qu’un groupe ?
Définition
Un groupe est la donnée
Corps finis
I
I
d’un ensemble E ,
et d’une opération interne ? dans E qui vérifie les propriétés
I
Éric Wegrzynowski
I
Licence et Master mention informatique, USTL
I
06 mars 2008
associativité : x ? (y ? z) = (x ? y ) ? z ;
existence d’un élément neutre : il existe un élément e ∈ E
tel que pour tout x ∈ E , x ? e = e ? x = x ;
existence d’un inverse : pour chaque élément x ∈ E il existe
un élément x 0 ∈ E tel que x ? x 0 = x 0 ? x = e. Cet élément x 0
est appelé inverse de x.
On dit que le groupe est commutatif (ou parfois abélien) si en plus
l’opération ? est commutative.
On note G = (E , ?).
Corps finis
Corps
Licence et Master mention informatique, USTL
Corps finis
Arithmétique dans les corps finis
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Rappels sur les groupes
Rappels sur les groupes
Exemples de groupes
Une propriété des groupes finis
1. Les ensembles Z, Q, R et C des nombres entiers relatifs,
rationnels, réels et complexes, munis de l’addition + sont des
groupes commutatifs infinis.
2. Ces mêmes ensembles munis de la multiplication ne sont pas
des groupes.
3. Les ensembles Q∗ , R∗ et C∗ des nombres rationnels, réels et
complexes non nuls, munis de la multiplication sont des
groupes commutatifs infinis.
4. Pour chaque entier n ≥ 2, l’ensemble Z/nZ des entiers modulo
n muni de l’addition (modulo n) est un groupe commutatif fini.
5. L’ensemble K[x] des polynômes à coefficients dans K muni de
l’addition est un groupe commutatif infini.
6. L’ensemble Sn des permutations des entiers de 1 à n, muni de
la loi de composition, est un groupe fini non commutatif.
Corps finis
Licence et Master mention informatique, USTL
Lorsqu’un groupe est fini, on appelle ordre son nombre d’éléments.
Théorème
Soit G = (E , ?) un groupe fini d’ordre m. Alors,
1. Pour chaque x ∈ G , il existe n ∈ N tel que
n fois
n
z
}|
{
x = x ? x ? . . . ? x = e.
(1)
2. Le plus petit des entiers n vérifiant 1 divise m. Ce plus petit
entier est appelé ordre de x dans G .
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps
Corps finis
Rappels sur les groupes
Rappels sur les corps
Groupe cyclique
Qu’est-ce qu’un corps ?
Propriété
Définition
Si dans un groupe fini d’ordre m, il existe un élément g d’ordre m,
alors la séquence g 0 = e, g 1 , . . . , g m−1 parcourt tous les éléments
de G .
Un corps est la donnée
I
I
Définition
I
Un groupe fini d’ordre m possédant un élément d’ordre m est dit
cyclique.
Un élément g d’ordre m est appelé générateur du groupe G .
I
d’un ensemble E ,
d’une opération interne, notée +, telle que (E , +) forme un
groupe commutatif dont l’élément neutre est noté 0,
d’une opération interne dans E ∗ = E \ {0}, notée ×, telle que
(E ∗ , ×) forme un groupe (non nécessairement commutatif),
l’opération × étant distributive par rapport à +
x × (y + z) = x × y + x × z
Exemple
(y + z) × x
1. G = (Z/6Z, +) est un groupe cyclique, 1 et 5 sont deux
générateurs de G .
2. G = (Sn , ◦) n’est pas un groupe cyclique.
Tout groupe cyclique est commutatif.
Corps finis
Licence et Master mention informatique, USTL
Corps finis
= y ×x +z ×x
Si toutes ces propriétés sont satisfaites, hormis l’existence d’un
inverse pour tout élément non nul, la structure algébrique obtenue
est un anneau.
On note K = (E , +, ×).
Propriété
Corps
Arithmétique dans les corps finis
Arithmétique dans les corps finis
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Rappels sur les corps
Corps finis premiers
Exemples de corps
Un corps à deux éléments
Arithmétique dans les corps finis
1. Q corps des nombres rationnels,
F2 = Z/2Z = ({0, 1}, +, ×)
2. R corps des nombres réels,
3. C corps des nombres complexes.
Z ensemble des entiers relatifs n’est pas un corps car 2 n’a pas
d’inverse dans Z (mais c’est un anneau).
De même, l’ensemble des polynômes K[x] est un anneau et pas un
corps.
Tous les corps donnés en exemple ici sont infinis.
Corps finis
Licence et Master mention informatique, USTL
+
0
1
0
0
1
1
1
0
×
0
1
0
0
0
1
0
1
L’opération + correspond au ou-exclusif et l’opération × au et
logique.
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps
Corps finis
Corps finis premiers
Corps finis premiers
Un corps à trois éléments
Attention
Arithmétique dans les corps finis
Z/4Z = ({0, 1, 2, 3}, +, ×) n’est pas un corps !
F3 = Z/3Z = ({0, 1, 2}, +, ×)
+
0
1
2
0
0
1
2
1
1
2
0
×
0
1
2
2
2
0
1
0
0
0
0
1
0
1
2
×
0
1
2
3
2
0
2
1
0
0
0
0
0
1
0
1
2
3
2
0
2
0
2
3
0
3
2
1
2 ne possède pas d’inverse dans Z/4Z.
Cela vient du fait que 2 n’est pas premier avec 4.
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps finis premiers
Corps finis premiers
Corps premiers
Une propriété des corps finis
Dans F5
Théorème
Puissances de 2 dans F5
Soit n ∈ N.
I
i
2i
0
1
1
2
2
4
3
3
4
1
1
3
2
2
3
6
4
4
5
5
Z/nZ est un corps si et seulement si n est un nombre premier.
Dans F7
Puissances de 3 dans F7
Définition
i
3i
Les corps premiers sont les corps Z/pZ, notés aussi Fp , avec p
premier.
0
1
6
1
Théorème
Remarque : il existe des corps finis de cardinalité non première
(voir plus loin). On désignera aussi par Fq un corps possédant q
éléments.
Corps finis
Licence et Master mention informatique, USTL
Le groupe multiplicatif d’un corps fini est cyclique.
Autrement dit, il existe un élément non nul α dans Fq tel que
l’ensemble des puissances αi pour 0 ≤ i < q soit égal à l’ensemble
des éléments non nuls de Fq .
Un tel élément est appelé élément primitif dans Fq .
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps
Corps finis
Corps finis non premiers
Corps finis non premiers
Retour sur le corps C
Retour sur C
I
Soient z = a + ib et z 0 = a0 + ib 0 deux nombres complexes
(a, b, a0 , b 0 ∈ R). On a
Autrement dit, du point de vue algébrique (les relations ne faisant
intervenir que l’addition et la multiplication), aucune différence
entre
z + z 0 = (a + a0 ) + i(b + b 0 )
zz
I
0
0
0
0
0
= (aa − bb ) + i(ab + ba ).
Soient P = a + bx et Q = a0 + b 0 x deux polynômes de degré
≤ 1 à coefficients réels. On a
1. le corps C des nombres complexes,
P + Q = (a + a0 ) + (b + b 0 )x
2. et l’ensemble R[x]/(x 2 + 1) des polynômes avec opérations
effectuées modulo x 2 + 1.
PQ = aa0 + (ab 0 + ba0 )x + bb 0 x 2 .
I
I
I
Arithmétique dans les corps finis
L’addition des complexes est identique à celles des polynômes
de degré ≤ 1.
La multiplication diffère, sauf pour le coefficient de i et celui
de x.
Mais si on identifie x 2 et −1, autrement dit si le produit est
effectué modulo le polynôme x 2 + 1, alors
C ' R[x]/(x 2 + 1).
PQ = (aa0 − bb 0 ) + (ab 0 + ba0 )x + bb 0 (x 2 + 1)
≡ (aa0 − bb 0 ) + (ab 0 + ba0 )x (mod x 2 + 1)
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps finis
Corps
Licence et Master mention informatique, USTL
Corps finis
Corps finis non premiers
Corps finis non premiers
Est-ce généralisable ?
Existence de polynômes irréductibles
Théorème
Théorème
Soit K un corps, et P ∈ K[x] un polynôme. Alors
I
I
L’ensemble K[x]/(P) des polynômes avec addition et
mulitplications effectuées modulo P est un anneau.
Si de plus le polynôme P est irréductible dans K[x], alors c’est
un corps.
Soit p un nombre premier. Pour tout entier non nul n ∈ N, il existe
un polynôme irréductible P ∈ Fp [x] de degré n.
Corollaire
Pour tout entier de la forme q = p n , avec p premier et n entier
strictement positif, il existe un corps à q éléments.
Remarque : il existe même beaucoup de polynômes irréductibles de
degré n dans Fp [x], puisque leur nombre mn (p) est encadré par
Définition
Un polynôme P ∈ K[x] est dit irréductible s’il ne peut être
factorisé en deux polynômes de degré au moins égal à 1.
Autrement dit, s’il n’existe pas deux polynômes Q et Q 0 dans K[x]
de degré au moins égal à 1 tel que P = Q × Q 0 .
Corps finis
Arithmétique dans les corps finis
Licence et Master mention informatique, USTL
p n − p bn/2c+1
pn
≤ mn (p) ≤
.
n
n
Remarque : Il n’y a pas de corps à q éléments si q possède au
moins deux facteurs premiers (i.e. si q n’est pas une puissance d’un
nombre premier). Par exemple, il n’y a pas de corps à 6 éléments.
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps
Corps finis
Exemples de constructions de corps finis
Exemples de constructions de corps finis
Principes généraux
Un corps à 4 éléments
p = 2, n = 2, P(x) = x 2 + x + 1,
α = représentant de x dans F2 /(P).
Construction d’un corps à q = p n éléments (p premier, n entier
positif)
I
comme extension du corps Fp
I
à partir d’un polynôme P de degré n et irréductible dans Fp [x]
×
0
1
α
1+α
Corps obtenu en considérant les polynômes à coeffcients dans Fp
modulo P
Fq = Fp [x]/(P)
Corps finis
Corps
Licence et Master mention informatique, USTL
Corps finis
Arithmétique dans les corps finis
Arithmétique dans les corps finis
0
0
0
0
0
1
0
1
α
1+α
α
0
α
1+α
1
1+α
0
1+α
1
α
Tab.: Multiplication dans F2 [x]/(x 2 + x + 1)
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Exemples de constructions de corps finis
Exemples de constructions de corps finis
Puissances de α dans F2 [x]/(x 2 + x + 1)
Un corps à 8 éléments
Arithmétique dans les corps finis
p = 2, n = 3, P1 (x) = x 3 + x 2 + 1,
α = représentant de x dans F2 /(P1 ).
i
αi
0
1
1
α
2
1+α
3
1
⇒ α est un élément primitif, et x 2 + x + 1 un polynôme primitif
dans F2 [x].
Corps finis
Licence et Master mention informatique, USTL
×
1
α
1+α
α2
1 + α2
α + α2
1 + α + α2
1
1
α
1+α
α2
1 + α2
α + α2
1 + α + α2
α
α
α2
α + α2
1 + α2
1 + α + α2
1
1+α
1+α
1+α
α + α2
1 + α2
1
α
1 + α + α2
α2
α2
α2
1 + α2
1
1 + α + α2
1+α
α
α + α2
1 + α2
1 + α2
1 + α + α2
α
1+α
α + α2
α2
1
α + α2
α + α2
1
1 + α + α2
α
α2
1+α
1 + α2
1 + α + α2
1 + α + α2
1+α
α2
α + α2
1
1 + α2
α
Tab.: Multiplication dans F2 [x]/(x 3 + x 2 + 1)
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps
Corps finis
Arithmétique dans les corps finis
Exemples de constructions de corps finis
Exemples de constructions de corps finis
Puissances de α dans F2 [x]/(x 3 + x 2 + 1)
Un autre corps à 8 éléments
p = 2, n = 3, P2 (x) = x 3 + x + 1,
β = représentant de x dans F2 /(P2 ).
i
αi
0
1
1
α
2
α2
3
1 + α2
4
1 + α + α2
5
1+α
6
α + α2
×
1
β
1+β
β2
1+β
β + β2
1 + β + β2
7
1
⇒ α est un élément primitif, et x 3 + x 2 + 1 un polynôme primitif
dans F2 [x].
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
1
1
β
1+β
β2
1+β
β + β2
1 + β + β2
β
β
β2
β + β2
1+β
1
1 + β + β2
1+β
1+β
1+β
β + β2
1+β
1 + β + β2
β2
1
β
β2
β2
1+β
1 + β + β2
β + β2
β
1+β
1
1+β
1+β
1
β2
β
1 + β + β2
1+β
β + β2
β + β2
β + β2
1 + β + β2
1
1+β
1+β
β
β2
1 + β + β2
1 + β + β2
1+β
β
1
β + β2
β2
1+β
Tab.: Multiplication dans F2 [x]/(x 3 + x + 1)
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Exemples de constructions de corps finis
Exemples de constructions de corps finis
Puissances de β dans F2 [x]/(x 3 + x + 1)
Un corps à 16 éléments
Arithmétique dans les corps finis
p = 2, n = 4, P1 (x) = x 4 + x 3 + x 2 + x + 1,
α = représentant de x dans F2 /(P1 ).
i
βi
0
1
1
β
2
β2
3
1+β
4
β + β2
5
1 + β + β2
6
1 + β2
7
1
i
αi
i
αi
⇒ β est un élément primitif, et x 3 + x + 1 un polynôme primitif
dans F2 [x].
0
1
8
α3
1
α
9
1 + α + α2 + α3
2
α2
10
1
3
α3
11
α
4
1 + α + α2 + α3
12
α2
5
1
13
α3
6
α
14
1 + α + α2 + α3
7
α2
15
1
Tab.: Puissances de α dans F2 [x]/(x 4 + x 3 + x 2 + x + 1)
⇒ α n’est pas un élément primitif, et x 4 + x 3 + x 2 + x + 1 n’est
pas un polynôme primitif dans F2 [x].
Corps finis
Licence et Master mention informatique, USTL
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps
Corps finis
Exemples de constructions de corps finis
Exemples de constructions de corps finis
Un autre corps à 16 éléments
Un corps à 9 éléments
p = 3, n = 2, P(x) = x 2 + 1,
α = représentant de x dans F3 /(P).
p = 2, n = 4, P2 (x) = x 4 + x + 1,
β = représentant de x dans F2 /(P2 ).
i
βi
i
βi
0
1
8
1 + β2
1
β
9
β + β3
2
β2
10
1 + β + β2
3
β3
11
β + β2 + β3
4
1+β
12
1 + β + β2 + β3
5
β + β2
13
1 + β2 + β3
6
β2 + β3
14
1 + β3
×
1
2
α
1+α
2+α
2α
1 + 2α
2 + 2α
7
1 + β + β3
15
1
Tab.: Puissances de β dans F2 [x]/(x 4 + x + 1)
⇒ β est un élément primitif, et x 4 + x + 1 un polynôme primitif
dans F2 [x].
Corps finis
Licence et Master mention informatique, USTL
Corps
Arithmétique dans les corps finis
Corps finis
Arithmétique dans les corps finis
1
1
2
α
1+α
2+α
2α
1 + 2α
2 + 2α
2
2
1
2α
2 + 2α
1 + 2α
α
2+α
1+α
α
α
2α
2
2+α
2 + 2α
1
1+α
1 + 2α
1+α
1+α
2 + 2α
2+α
2α
1
1 + 2α
2
α
2+α
2+α
1 + 2α
2 + 2α
1
α
1+α
2α
2
2α
2α
α
1
1 + 2α
1+α
2
2 + 2α
2+α
1 + 2α
1 + 2α
2+α
1+α
2
2α
2 + 2α
α
1
2 + 2α
2 + 2α
1+α
1 + 2α
α
2
2+α
1
2α
Tab.: Multiplication dans F3 [x]/(x 2 + 1)
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Exemples de constructions de corps finis
Exemples de constructions de corps finis
Puissances de α dans F3 [x]/(x 2 + 1)
Le corps à 256 éléments de l’AES
Arithmétique dans les corps finis
p = 2, n = 8, P(x) = x 8 + x 4 + x 3 + x + 1,
α = représentant de x dans F8 /(P).
i
αi
0
1
1
α
2
2
3
2α
4
1
5
α
6
2
7
2α
1. 255 = 3 × 5 × 17 ;
8
1
2. α3 = α3 6= 1 ;
3. α5 = α5 6= 1 ;
⇒ α n’est pas un élément primitif, et x 2 + 1 n’est pas un
polynôme primitif dans F3 [x].
4. α17 = α2 + α3 + α4 + α5 + α7 6= 1.
⇒ Le plus petit entier i non nul tel que αi = 1 est i = 255.
⇒ α est un élément primitif, et x 8 + x 4 + x 3 + x + 1 est un
polynôme primitif dans F2 [x].
Corps finis
Licence et Master mention informatique, USTL
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Objectifs
Corps
addition,
I
multiplication,
I
inversion.
1. Comme les corps sont finis, il est en principe possible d’établir
des tables pour chacune de ces trois opérations.
Par exemple, dans le cas du corps à 256 éléments de l’AES, il
est possible d’implanter l’addition et la mutiplication par une
table de 256 × 256 octets et l’inversion par une table de 255
octets.
Mais cette idée n’est pas envisageable pour de grands corps
comme on en utilise souvent en cryptographie. Il faut donc
des algorithmes les plus efficaces possibles.
Dans le cas
I
des corps premiers,
I
puis des corps non premiers.
Corps finis
2. Les algorithmes évoqués ici conviennent aussi pour des
structures algébriques qui ne sont pas des corps (par ex des
anneaux).
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Corps premiers
Corps premiers
Représentation des éléments
Addition
Corps premier = Fp = Z/pZ avec p nombre premier.
Les éléments de Fp sont donc des entiers compris entre 0 et p − 1
...
Corps finis
Arithmétique dans les corps finis
Remarques préalables
Algorithmes intervenant dans les calculs
I
Corps finis
I
représentables par les entiers machines natifs si p n’est pas
trop grand ;
I
par une liste d’entiers sinon.
Licence et Master mention informatique, USTL
Corps finis
Arithmétique dans les corps finis
I
Utilisation de l’addition native machine suivie d’une réduction
modulo p (une simple soustraction de p suffit).
I
Addition chiffre à chiffre suivie d’une réduction modulo p. Le
nombre d’opérations sur les chiffres est proportionnel à la
taille t des entiers additionnés.
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps
Corps finis
Corps premiers
Corps premiers
Multiplication
Inversion
I
I
Le calcul de l’inverse repose sur le théorème de Bezout.
Utilisation de la multiplication native machine suivie d’une
réduction modulo p.
Multiplication suivie d’une réduction modulo p. Le nombre
d’opérations sur les chiffres varie selon les algorithmes utilisés
Théorème
Pour tout entier a et b dans Z, il existe deux entiers u et v dans Z
tels que
a × u + b × v = pgcd(a, b).
1. approximativement proportionnel au carré de la taille t des
entiers multipliés (Θ(t 2 )) si algorithme du type de celui de
l’école primaire ;
2. pour de très grands entiers il existe un algorithme en
Θ(t ln t ln ln t) : la transformée de Fourier rapide (FFT).
Corps finis
Corps
Licence et Master mention informatique, USTL
Corps finis
Arithmétique dans les corps finis
L’algorithme d’Euclide étendu permet de calculer les deux
coefficients u et v , ainsi que pgcd(a, b) par des divisions
euclidiennes successives.
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Corps premiers
Corps premiers
Algorithme d’Euclide étendu
Exemple
Entrées : a et b deux entiers positifs ou nuls.
Sortie : trois entiers d, u et v tels que
d
i
0
1
2
3
4
= pgcd(a, b)
u1 := 0 ; u2 := 1 ;
v1 := 1 ; v2 := 0 ;
t a n t que b > 0 f a i r e
1 ) q := a ÷ b ; r := a − qb ; x := u2 − qu1 ; y := v2 − qv1 ;
2 ) a := b ; b := r ; u2 := u1 ; u1 := x ; v2 := v1 ; v1 := y ;
f i n t a n t que
r e t o u r n e r d = a , u = u2 , v = v2 .
Licence et Master mention informatique, USTL
Arithmétique dans les corps finis
Algorithme d’Euclide étendu appliqué à a = 158 et b = 63.
= au + bv
Corps finis
Arithmétique dans les corps finis
q
r
2
1
1
31
32
31
1
0
u1
0
1
-1
2
-63
u2
1
0
1
-1
2
v1
1
-2
3
-5
158
v2
0
1
-2
3
-5
a
158
63
32
31
1
b
63
32
31
1
0
a1 = 158 × 2 + 63 × −5
Tab.: Déroulement de l’algorithme d’Euclide étendu.
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps
Corps finis
Corps premiers
Corps premiers
Inversion (fin)
Exemple
Entrées : n un entier positif et a ∈ Z/nZ.
Sortie : e −1 (mod n) s’il existe.
Calcul de l’inverse de e = 63 modulo n = 158.
i
0
1
2
3
4
1 ) A p p l i q u e r l ’ a l g o r i t h m e d ’ E u c l i d e é t e n d u à n e t e
On o b t i e n t t r o i s e n t i e r s d , u e t v t e l s que
d = nu + av .
2 ) s i d 6= 1 a l o r s
a n ’ e s t p a s i n v e r s i b l e modulo n
sinon
r e t o u r n e r v (mod n)
fin si
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps
v2
0
1
-2
3
-5
a
158
63
32
31
1
b
63
32
31
1
0
Corps finis
Arithmétique dans les corps finis
L’addition de deux polynômes de degré < n se fait en n additions
de coefficients dans Fp .
Addition
A = a0 + a1 x + . . . + an−1 x n−1 ∈ Fp [x]
. . . représentables par le vecteur des n coefficients du
polynôme.
Licence et Master mention informatique, USTL
32
31
1
0
v1
1
-2
3
-5
158
Licence et Master mention informatique, USTL
Addition
Corps finis
2
1
1
31
Corps finis
Représentation des éléments
Dans le cas où p = 2, tout polynôme de degré < n peut être
représenté par un mot de n bits.
r
Tab.: Déroulement du calcul de l’inversion modulaire.
Corps non premiers
Corps non premier à q = p n éléments : Fq = Fp [x]/(P) où P est
un polynôme de degré n à coefficients dans Fp .
Les éléments de Fq sont des polynômes de degré strictement
inférieurs à n et à coeffcients dans Fp . . .
q
e −1 mod 158 = −5 mod 158 = 153.
Corps non premiers
I
Arithmétique dans les corps finis
B = b0 + b1 x + . . . + bn−1 x n−1 ∈ Fp [x]
A + B = (a0 + b0 ) + (a1 + b1 )x + . . . + (an−1 + bn−1 )x n−1
Dans le cas particulier où p = 2 l’addition de deux polynômes de
degré < n est un ou-exclusif de deux mots de n bits.
Corps finis
Licence et Master mention informatique, USTL
Corps
Corps finis
Arithmétique dans les corps finis
Corps
Corps finis
Corps non premiers
Corps non premiers
Multiplication
Inversion
Arithmétique dans les corps finis
Le calcul de l’inverse repose sur le théorème de Bezout.
Théorème
Pour tout polynôme P et Q dans K[x], il existe deux polynômes U
et V dans K[x] tels que
Le produit de deux éléments de Fpn représentés par deux
polynômes A et B de Fp [x] de degré n se calcule en
P × U + Q × V = pgcd(P, Q).
1. calculant le produit R = A × B ;
2. et en réduisant R mod P.
L’algorithme d’Euclide étendu permet de calculer les deux
polynômes U et V , ainsi que pgcd(P, Q) par des divisions
euclidiennes successives.
Lorsque P et Q sont premiers entre eux (ie lorsque
deg(pgcd(P, Q)) = 0), alors Q est inversible modulo P et
Q −1
Corps finis
Corps
Corps finis
Licence et Master mention informatique, USTL
Corps finis
Corps non premiers
Exemple d’inversion
A−1 = V2 = x 7 + x 5 + x 4 + x 2 .
Corps finis
Licence et Master mention informatique, USTL
x8
+
x4
A
+ +x +1
x4 + 1
3
x +x +1
x2 + x + 1
x
1
x3
mod P.
Licence et Master mention informatique, USTL
Arithmétique dans les corps finis
Calcul de l’inverse de A = 09 dans F256 = F2 [x]/(P).
P = x 8 + x 4 + x 3 + x + 1 et A est représenté par le polynôme
x 4 + 1.
i
Q
R
V1
V2
0
1
0
1
x4 x3 + x + 1
x4
1
2
x x2 + x + 1
x5 + 1
x4
3 x +1
x x6 + x5 + x4 + x + 1
x5 + 1
7
5
4
2
6
5
4
4 x +1
1
x +x +x +x
x +x +x +x +1
5
x
0 x8 + x4 + x3 + x + 1
x7 + x5 + x4 + x2
mod P = V
B
+1
x3 + x + 1
x2 + x + 1
x
1
0
x4
Téléchargement