Vous êtes sur la page 1sur 47

Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Arithmétique modulaire pour la cryptographie

Pierre-Louis Cayrel

Université de Limoges, XLIM-DMI,


123, Av. Albert Thomas
87060 Limoges Cedex France
05.55.45.73.10
pierre-louis.cayrel@xlim.fr

Licence professionnelle Administrateur de Réseaux


et de Bases de Données
IUT Limoges

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Sommaire

Les nombres premiers

Quelques pré-requis mathématiques

Arithmétique modulaire

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Les nombres premiers suite et fin

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Les nombres premiers

I Algo 2 : utilisable pour des nombres de 12 chiffres ou un peu plus


⇒ impossible de décomposer des nombres de 100 chiffres.
⇒ la multiplication est donc une fonction à sens unique
(sous certaines conditions)
I Si n = pq (p et q grand), connaissant p et q il est facile de calculer n
I MAIS connaissant n il est difficile de trouver p et q

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Une infinité de nombres premiers

I Théorème :
Le sous-ensemble constitué par les nombres premiers est infini.
I Démonstration : Supposons que cet ensemble soit fini :
E = {p1 , ..., pn }.N = p1 p2 ...pn + 1.N n’est divisible par aucun des pi
et n’est pas premier
⇒ contradiction
I Il y a une infinité de nombres premiers.

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Quelques pré-requis mathématiques

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Le pgcd

I Définition :
Parmi l’ensemble des diviseurs communs à deux entiers a et b, le
PGCD, est le plus grand commun diviseur.
I Théorème : a, b, c dans N et n dans Z
I pgcd(ac, bc) = |c|.pgcd(a, b)
I pgcd(a, b) = pgcd(a, b + na)

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Propriétés du pgcd

I Propriétés :
I pgcd(a; b) = pgcd(b; a)
I pgcd(a; 1) = 1
I Soit a0 = a/pgcd(a; b) et b0 = b/pgcd(a; b).
Alors pgcd(a0 ; b0 ) = 1.

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Euclide

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Quelques pré-requis mathématiques

Théorème d’Euclide
I Soit a, b ∈ N/a ≤ b. Soit r le reste de la division euclidienne de a
par b. Alors pgcd(a, b) = pgcd(b, r ).
I Algorithme :
I Tq b 6= 0 : (a, b) → (b, a mod b)
I si b = 0 renvoyer a
I Exemple : pgcd(42, 30) = 6
(42, 30) → (30, 12)
(30, 12) → (12, 6)
(12, 6) → (6, 0)

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Calcul de pgcd

I Utilisation de l’algorithme d’Euclide pour déterminer pgcd(a, b)


I R0 := |a|; R1 := |b|; (b 6= 0)
I tant que R1 > 0 faire
I R := ResteDivision(R0 ; R1 ); R0 := R1 ; R1 := R;
I Le dernier reste non nul est le pgcd.
Exemple : a = 325, b = 145
I On a successivement
R0 = a = 325; R1 = b = 145
R0 = 2R1 + 35 ⇒ R = 35; R0 = 145; R1 = R = 35;
R0 = 4R1 + 5 ⇒ R = 5; R0 = 35; R1 = 5;
R0 = 7R1 + 0; R0 = 5; R1 = 0.
I Donc pgcd(325; 145) = 5.

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Nombres premiers entre eux

I Définition : lorsque pgcd(a, b) = 1, on dit que a et b sont premiers


entre eux.
I Remarques :
I cela signifie que leur seul diviseur commun est 1.
I un nombre premier est premier avec n’importe quel autre nombre

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Arithmétique modulaire

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Congruence et modulo : arithmétique modulaire

I Définition : a est congru à b modulo n signifie :


∃k ∈ Z/a = k.n + b
≡ a et b ont le même reste dans la division par n
Ne diffère que par un multiple de n.
a − b est un multiple de n.
I Écriture : a = b mod n ou a = b[n]

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Classes d’équivalence

I Définition : On appelle classe modulo n d’un élément x de N,


l’ensemble des y qui sont congrus à x modulo n.
I Remarques :
I x = y mod n ssi ils ont le même reste dans la division par n
I les n restes possibles permettent de définir les n classes d’équivalence
modulo n.
I Ces n classes se notent Z/nZ
I Z/nZ est l’ensemble quotient de Z par la congruence mod n

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Classe d’équivalence

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Classes d’équivalence : addition

I L’addition sur Z/nZ conserve ses propriétés classiques :

ICommutativité : x + y = y + x mod n
IAssociativité : (x + y ) + z = x + (y + z) mod n
I Élément neutre : 0 + x = x + 0 = x mod n

I Existence d’un opposé : x − x = 0 mod n

⇒ On dit que Z/nZ, est un groupe pour +

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Addition Z/4Z

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Classes d’équivalence : multiplication

I La multiplication conserve :

ILa commutativité
IL’associativité
I L’élément neutre 1

I L’élément absorbant 0

I La distributivité par rapport à l’addition

I PAS L’EXISTENCE D’UN INVERSE

⇒ On dit que (Z/nZ, +, ×) est un anneau commutatif

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Multiplication Z/4Z

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Multiplication Z/6Z et Z/7Z

Exercice :
Faire les tables de multiplication modulo 6 et modulo 7

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Multiplication Z/6Z et Z/7Z

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Les diviseurs de zéro

I Pour que x possède une classe inverse, il faut et il suffit que


pgcd(x, n) = 1. Cet inverse est unique et on le note x −1 .
I Si pgcd(x, n) 6= 1 alors il existe y tel que x × y = 0. On dit que x
est un diviseur de zéro.
I Si n est premier alors tout élément sauf 0 possède un inverse.

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Etienne Bezout

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Quelques pré-requis mathématiques (2)

Théorème de Bezout
I Soient a, b ∈ Z et d = pgcd(a, b). Alors ∃(u, v ) ∈ Z2 tels que
au + bv = d
Les entiers u et v sont appelés coefficients de Bezout.
I Calcul pratique : Algorithme d’Euclide Etendu
I (E0 ) : 1 × a + 0 × b = a
I (E1 ) : 0 × a + 1 × b = b
I (Ei+1 ) = (Ei−1 ) − qi (Ei )ui × a + vi × b = ri

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Application sur le calcul d’inverse modulaire

Exercice :
Calcul de 17−1 mod 50

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Application sur le calcul d’inverse modulaire

I Calcul des coefficients de Bezout pour a = 50 et b = 17

E0 : 1 × 50 + 0 × 17 = 50
50
E1 : 0 × 50 + 1 × 17 = 17; q1 =
= 2; r1 = 50 mod 17 = 16
17
17
E2 : E0 −2×E1 ; 1×50+(−2)×17 = 16; q2 = = 1; r2 = 17 mod 16 = 1
16
16
E3 : E1 −1×E2 ; (−1)×50+3×17 = 1; q3 = = 16; r3 = 16 mod 1 = 0
1
I Bilan : (−1) × 50 + 3 × 17 = 1 ⇒ 17−1 = 3 mod 50

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Théorèmes (1/2) :

I Théorème :
si a = b mod n et u = v mod n alors a + u = b + v mod n et
a × u = b × v mod n
I Théorème :
Un entier a est inversible dans Z/nZ ssi a et n sont premiers entre
eux

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Théorèmes (2/2) :

I Théorème :
si p est premier alors tout élément non nul de Z/pZ est inversible
Notation : Z/pZ∗ désigne l’ensemble des éléments inversible de
Z/pZ
Remarque : si p est premier Z/pZ∗ = Z/pZ privé de 0.
I Théorème :
un entier p est premier ssi Z/pZ ne contient pas de diviseurs de 0

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Résolution des équations sur les congruences

Supposons que l’on cherche à résoudre :

3x = 5 mod 7

Cela est facile car le modulo est premier : On sait que 3−1 = 5
mod 7, on a donc x = 5 × 5 = 4 mod 7.
Quand le modulo n’est pas premier nous avons le théorème
suivant :
I Théorème :
Si a, b et m sont des entiers, et si pgcd(a, m) = d alors :
I Si d ne divise pas b, alors ax = b mod m n’a pas de solution
I Sinon l’équation précédente a exactement d solutions.

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Résolution des équations sur les congruences (2)

Cherchons à résoudre par exemple :

6x = 9 mod 15 ⇒ 3(2x − 3) = 0 mod 15

On sait que 3 est un diviseur de zéro, donc :

3×0 = 0 mod 15, 3×5 = 0 mod 15, 3 × 10 = 0 mod 15

Donc les solutions sont :


I 2x − 3 = 0 mod 15 d’où x = 9 mod 15,
I 2x − 3 = 5 mod 15 d’où x = 4 mod 15,
I 2x − 3 = 10 mod 15 d’où x = 14 mod 15.

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Fonction indicatrice d’Euler

I Elle est notée f ou φ


I Définition : φ(n) est égale au nombre d’entiers entre 0 et n − 1
premiers avec n.
I φ(n) correspond aussi au nombre d’éléments inversibles de Z/nZ
I Par convention, φ(0) = 0 et φ(1) = 1

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Théorèmes (1/3) :

I Théorème :
Un entier p est premier ssi φ(p) = p − 1
I Théorème :
Si n et m sont entiers strictement positifs et premiers entre eux alors
φ(n × m) = φ(n) × φ(m)
I Théorème :
Si p est premier et n = p k alors φ(n) = p k (1 − 1/p) = p k − p k−1

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Théorèmes (2/3) :

I Théorème :
Si n se décompose en produit de facteurs premiers p1 × p2 × ... × pr
alors
1 1 1
φ(n) = n × (1 − ) × (1 − ) × ... × (1 − )
p1 p2 pr
I Théorème : P
tout n > 0 peut s’écrire φ(n) = d|n φ(d)
I Théorème :
Si n et a sont deux entiers strictement positifs et premiers entre eux
alors aφ(n) = 1 mod n

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Pierre de Fermat

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Théorèmes (3/3) :

I Petit théorème de Fermat : Si p est premier et ne divise pas a (p


et a premiers entre eux) alors ap−1 = 1 mod p
I Généralisation : Si n et a sont deux entiers strictement positifs et
premiers entre eux, alors

∃k > 0/ak = 1 mod n

et le plus petit k vérifiant cette propriété divise φ(n).

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Élément générateur

I Théorème :
Soit p un nombre premier. Alors, le groupe multiplicatif Z/pZ∗ est
cyclique. C’est-à dire que ce groupe peut être engendré par un
élément générateur (dit aussi élément primitif) : il existe un élément
α tel que
Z/pZ∗ = {1, α, α2 , . . . , αp−2 }.
I Théorème :
Le nombre de générateurs de Z/pZ∗ est égal à φ(p − 1) où φ est la
fonction indicatrice d’Euler.

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Exponentielle et logarithme modulaire

I Définition : La fonction exponentielle de Z/nZ dans Z/nZ est


définie par x → ax mod n.
I Définition : Calculer le logarithme en base a, c’est, étant donné
A = ax mod n, déterminer x dans Z/nZ
I Ce calcul n’est possible que si x → ax mod n est une bijection

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Calcul de la puissance modulaire

I 107 = 130 mod 257


I 1015 = 130 × 130 × 10 = 151 mod 257
I 1031 = 151 × 151 × 10 = 51 mod 257
I 1062 = 51 × 51 = 31 mod 257
I 10124 = 31 × 3 = 190 mod 257
I 10249 = 190 × 190 × 10 = 172 mod 257
I 10499 = 172 × 172 × 10 = 33 mod 257
I 10999 = 33 × 33 × 10 = 96 mod 257

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Le théorème des restes chinois


I Soit m1 , m2 , . . . , mr une suite d’entiers positifs premiers entre eux
deux à deux. Alors le système de congruences :

a une solution unique x mod M = m1 × m2 × . . . × mr :

x = a1 M1 y1 + a2 M2 y2 + . . . + ar Mr yr

avec
Mi = M/mi yi Mi = 1 mod mi
logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Le théorème des restes chinois : un exemple

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Le théorème des restes chinois : un exemple (2)

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Racines primitives

I Définition : soit n un entier et φ(n) l’indicateur d’Euler. On appelle


racine primitive de n un nombre a avec 1 < a < n tel que :
I a est premier avec n
I ad 6= 1, ∀d/0 < d < φ(n)
I En particulier, si n est un nombre premier et 1 < a < n, a est une
racine primitive de n si

ad 6= 1, ∀d/0 < d < n − 1

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Ordre et racines primitives :

I Définition :
Soit p un nombre premier. On appelle ordre d’un nombre a de
Z/pZ, la plus petite valeur k/ak = 1 mod p.
I Une racine primitive est donc un élément a d’ordre maximal p − 1,
i.e. ap−1 = 1 mod p.

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Exponentiation rapide modulaire : calcul de ae mod n

I Basé sur la remarque suivante :


I si e est pair, ae = (ae/2 )2
I si e est impair ae = (ae/2 )2 × a
I Algorithme d’exponentiation rapide modulaire
Pk
1. Décomposer e en binaire : e = i=0 ei 2i
2i
2. Calcul de {a mod n}0≤i≤k
i+1 i
I Utiliser la relation : a2 = (a2 )2 mod n
i
3. En déduire ae = Πki=0 (a2 )ei

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Exponentiation rapide modulaire

Exercice :
Calcul de 5144721 mod 17 (E )

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie
Les nombres premiers Quelques pré-requis mathématiques Arithmétique modulaire

Exponentiation rapide modulaire

51447 = 3026 × 17 + 5 donc (E ) ≡ 521 mod 17


1. Décomposition de 21 en binaire : 21 = 24 + 22 + 20
i
2. Calcul de {52 mod 17}0≤i≤4
0
I i = 0 : 52 = 5 mod 17
1
I i = 1 : 52 = 52 = 25 = 8 mod 17
22
I i =2:5 = 82 = 64 = 13 = −4 mod 17
3
I i = 3 : 52 = (−4)2 = 16 = −1 mod 17
4
I i = 4 : 52 = (−1)2 = 1 mod 17
4 2 0
3. On en déduit : 521 = 52 × 52 × 52 = 1 × (−4) × 5 = −20 = 14
mod 17

logo-xlim

Pierre-Louis Cayrel Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Arithmétique modulaire pour la cryptographie

Vous aimerez peut-être aussi