LES NOMBRES PREMIERS, 14 octobre 2005 - IMJ-PRG

publicité
LES NOMBRES PREMIERS, 14 octobre 2005
(Marc Hindry – Université Paris VII)
1. Théorèmes et problèmes élémentaires
“les nombres premiers fascinants”
2. Cryptographie et nouveaux problèmes
“les nombres premiers utilisés”
3. La recherche contemporaine
“les nombres premiers en mathématique aujourd’hui”
Quelques repères chronologiques :
Euclide (Euκλίδης) (∼ IIIème siècle)
Eratosthène (Eρατ oσθ´
νης) (∼ 284 à ∼ 192)
Mersenne (1588–1648)
Fermat (1601–1665)
Goldbach (1690–1764)
Euler (1707–1783)
Gauss (1777–1855)
Dirichlet (1805–1850)
Riemann (1826–1866)
Tchebychev (1821-1894)
Hadamard (1865–1963)
La Vallée-Poussin (1866–1962)
NOMBRES PREMIERS (1)
Définition. Un nombre entier naturel est premier s’il
possède exactement deux diviseurs : 1 et lui-même.
Remarque. Par définition, on considère donc que 1
n’est pas un nombre premier.
Le principal intérêt des nombres premiers provient de
ce qu’on appelle souvent le théorème fondamental de
l’arithmétique :
Théorème. Tout entier naturel n ≥ 2 peut s’écrire
comme produit de nombres premiers.
De plus cette décomposition est unique à l’ordre près.
Exemples. 12 = 2 × 2 × 3 = 22 × 3, 2, 3, 5, 7, 11 sont
premiers, 861000 = 23 × 3 × 53 × 7 × 41. Formellement
on peut donc écrire tout entier n ≥ 2 sous la forme :
mk
1 m2
n = pm
1 p2 . . . p k ,
avec pi premiers et mi ≥ 1.
Définition. Deux nombres entiers sont premiers entre
eux si leur seul diviseur commun est 1.
On peut utiliser le théorème ci-dessus pour montrer
par exemple que, si le produit de deux entiers premiers
entre eux est un carré, alors chacun des deux est un
carré.
Le crible d’Eratosthène (Eρατ oσθ´
νης)
1
11
21
31
41
51
61
71
81
91
2
12
22
32
42
52
62
72
82
92
3
13
23
33
43
53
63
73
83
93
4
14
24
34
44
54
64
74
84
94
5
15
25
35
45
55
65
75
85
95
6
16
26
36
46
56
66
76
86
96
7
17
27
37
47
57
67
77
87
97
8
18
28
38
48
58
68
78
88
98
9
19
29
39
49
59
69
79
89
99
Parmi ces 25 premiers inférieurs à 100 il y a :
5 premiers se terminant par “1”
7 premiers se terminant par “3”
6 premiers se terminant par “7”
5 premiers se terminant par “9”
10
20
30
40
50
60
70
80
90
100
101
111
121
131
141
151
161
171
181
191
102
112
122
132
142
152
162
172
182
192
103
113
123
133
143
153
163
173
183
193
104
114
124
134
144
154
164
174
184
194
105
115
125
135
145
155
165
175
185
195
106
116
126
136
146
156
166
176
186
196
107
117
127
137
147
157
167
177
187
197
108
118
128
138
148
158
168
178
188
198
109
119
129
139
149
159
169
179
189
199
110
120
130
140
150
160
170
180
190
200
Parmi ces 46 premiers inférieurs à 200 il y a :
10 premiers se terminant par “1”
12 premiers se terminant par “3”
12 premiers se terminant par “7”
10 premiers se terminant par “9”
QUESTION : Est-il vrai qu’il y a “autant” de premiers se terminant par 1, 3, 7 ou 9 ?
RÉPARTITION DES NOMBRES PREMIERS
Théorème. (Euclide) L’ensemble des nombres premiers est infini.
Preuve. On montre que, étant donnée une collection
finie de nombres premiers, on peut en fabriquer un
nouveau. . .
Soit donc p1 , p2 , p3 , . . . , pk des nombres premiers,
construisons le nombre d’Euclide
N = (p1 p2 p3 . . . pk ) + 1
Choisissons p un des facteurs premiers de N , alors p
est différent de tous les pi .
Exemple Les plus petits nombres premiers sont 2, 3,
5, 7, 11, 13, 17. A partir de 2,3,5 on fabrique 31 qui
est premier, A partir de 2,3,5,7 on fabrique 211 qui est
premier, à partir de 2, 3, 5, 7, 11 on fabrique 2311 qui
est premier, à partir de 2, 3, 5, 7, 11, 13 on fabrique
30031 = 59 × 509.
QUESTION: Définissons
π(X) = le nombre de premiers inférieurs à X.
Comment croı̂t la fonction π(X) ?
- La démonstration d’Euclide permet de montrer que
π(X) croı̂t au moins comme log log X. En fait elle permet de montrer que si pn est le n-ème nombre premier,
alors
n
p n ≤ 22
- Euler a été le premier a démontrer des énoncés du
type
X1
= +∞
p
Comme la somme finie de quantité finies ne peut pas
être infinie, cela donne une nouvelle démonstration de
l’infinitude des nombres premiers. Noter que si le n2n
ème nombre premier était de l’ordre de 2 ou même
de l’ordre de 2n , la série serait convergente (Cf Le paradoxe de Zénon)
En 1852, Tchebychev montre un énoncé beaucoup plus
précis :
Il existe deux constantes (explicites) telles que
C1
X
X
≤ π(X) ≤ C2
log X
log X
On peut prendre C1 = 0, 920 et C2 = 1, 106
le théorème de Chebychev est le premier grand pas
vers le célèbre
Théorème des nombres premiers. (Hadamard, La
Vallée-Poussin, 1896)
La quantité π(X) est équivalente à X/logX lorsque X
tend vers l’infini. En d’autres termes :
π(X) log X
= 1.
X→+∞
X
lim
Le résultat de ce théorème équivaut à dire que pn est
équivalent à n log n. Par exemple le 10000 ème nombre
premier sera de l’ordre de 10000 log(10000) ∼
= 92103
alors que le nombre de premiers avec au plus 4 chiffres
sera ∼
= 10000/ log(10000) ∼
= 1085
En fait p10000 = 104729 (noter que 104729/92103
1, 137) et π(10000) = 1229 (noter que 1029/1085
1, 132)
∼
=
∼
=
Remarque. C’est un exercice classique (de 1ère ou
2ème année d’université) de montrer que
X
1
= +∞
n log n
On peut donc formuler plus précisément la question
sur les nombres premiers se-terminant-par “1”, “3”,
“7” ou “9” en écrivant π(X; 10, 1) pour le cardinal de
l’ensemble des nombres premiers inférieurs à X et seterminant-par “1”. A-t-on :
π(X; 10, 1) log X
1
= ?
X→+∞
X
4
lim
(réponse tout-à l’heure . . . )
Une autre question est de préciser la manière dont
π(X) se rapproche de X/ log X. Pour cela Gauss avait
déjà deviné qu’il vaut mieux considérer
Z
Li(X) =
2
X
dt
log t
le “logarithme intégral” qui est une fonction équivalente à X/ log X et demander une estimation pour
|π(X) − Li(X)|
(réponse tout-à l’heure . . . )
NOMBRES de MERSENNE
Tout d’abord le nombre Mn = 2n − 1 n’est jamais
premier si n n’est pas lui-même premier. En effet si
n = c.d (avec c, d entiers ≥ 2) alors 2n − 1 se factorise
cd
c
c(d−1)
c(d−2)
c
2 − 1 = (2 − 1) 2
+2
+ ... + 2 + 1 .
(en écriture binaire Mn = 1111 . . . . . . 1 (n “chiffres”)
Lorsque n = p est premier, le nombre Mp n’est pas
toujours premier. Par exemple :
M11 = 2047 = 23×89, M23 = 83886607 = 47×178481
Cependant, un certain nombre d’entre eux sont connus, on les appelle Nombres de Mersenne. Voici les 42
valeurs connues de p pour lesquelles Mp est premier :
2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 521, 607,
1279, 2203, 2281, 3217, 4253, 4423, 9689, 9941, 11213,
19937, 21701, 23209, 44497, 86243, 110503, 132049,
216091, 756839, 859433, 1257787, 1398269, 2976221,
3021377, 6972593, 13466917, 20996011, 24036583,
25964951
Note : les deux plus grands nombres de Mersenne connus M24036583 et M25964951 s’écrivent avec 7 235 733 et
7 816 230 chiffres!
Ils ont été découverts en mai 2004 et février 2005.
NOMBRES de MERSENNE et NOMBRES PARFAIT
Définition. Un nombre est parfait si il est égal à la
somme de ses diviseurs propres.
Exemple : 6 = 1 + 2 + 3 est parfait.
Remarque. Soit p premier tel que Mp = 2p − 1 soit
premier, alors le nombre Pp = 2p−1 Mp = 2p−1 (2p − 1)
est parfait.
Théorème. Soit n un entier pair. Si n est parfait il
est de la forme Pp .
Preuve. Posons σ(n)= la somme des diviseurs d’un
entier, alors n parfait s’écrit σ(n) = 2n
- σ(2r ) = 1 + 2 + 22 + . . . + 2r = 2r+1 − 1
- on a toujours σ(n) ≥ n+1 avec égalité si et seulement
si n premier
- si m et n sont premiers entre eux σ(mn) = σ(m)σ(n).
Posons n = 2k−1 m avec m impair. On a
2k m = 2n = σ(n) = σ(2k−1 )σ(m) = (2k − 1)σ(m)
Donc 2k − 1 divise m ou encore m = (2k − 1)` et
σ(m) = 2k `.
Comme ` et m divisent m on a
2k ` = σ(m) ≥ m + ` = 2k `
Donc σ(m) = m + ` et ` = 1 et m est premier!
Conclusion : n = 2k−1 (2k −1) avec m = 2k −1 premier.
NOMBRES de FERMAT
Tout d’abord le nombre 2n + 1 n’est jamais premier si
n n’est pas une puissance de 2. En effet si n = c.m
(avec c entier impair ≥ 2) alors 2n + 1 se factorise
2cm +1 = (2m +1) 2m(c−1) − 2m(c−2) + . . . − 2m + 1
Fermat avait déjà observé que les premières valeurs de
n
Fn = 22 + 1 fournissait des nombres premiers :
F0
F1
F2
F3
F4
= 21 + 1 = 3,
= 22 + 1 = 5,
= 24 + 1 = 17,
= 28 + 1 = 257,
= 216 + 1 = 65537.
Cependant, on ne connaı̂t aucune valeur n ≥ 5 pour
laquelle Fn soit premier. Par exemple
F5 = 4294967297 = 641 × 6700417
(factorisation déjà trouvée par Euler)
Le “PETIT” THÉORÈME DE FERMAT
Le théorème le plus important [en arithmétique] depuis
Euclide est dû à Fermat
Théorème. Soit p premier et a entier alors p divise
ap − a.
Nous écrirons cela ap ≡ a[p] (ap est congru à a modulo
p).
La forme la plus utile s’obtient en supposant que p ne
divise pas a, on a alors :
ap−1 ≡ 1[p]
le théorème n’est plus vrai en général si p n’est pas
premier mais Euler a trouvé la bonne généralisation.
Il introduit une fonction φ(n) telle que l’on ait toujours
aφ(n) ≡ 1[n],
si a est premier avec n
En particulier si n = pq est le produit de deux nombres
premiers distincts, on choisit :
φ(n) = φ(pq) = (p − 1)(q − 1)
CRYPTOGRAPHIE À CLEFS PUBLIQUES
Le système “RSA” baptisé ainsi en l’honneur de ses
trois inventeurs : Rivest, Shamir & Adleman (1978).
Deux personnes A et B veulent échanger des informations confidentielles par un canal public (internet,
téléphone, etc . . . ). Une clef (connue de tous) consiste
en une paire (nA , dA ) (pour A disons) et (nB , dB ) pour
B.
Cryptage. Pour envoyer un message, disons le nombre
M , en fait B calcule le reste de la division de M dA par
nA et envoie à A ce nombre.
Décryptage. Evidemment il y a une clef secrète (c’est
là qu’interviennent les nombres premiers!). D’abord
A a pris soin de choisir son premier nombre comme le
produit de deux nombres premiers (de grande taille) :
n A = pA q A
et elle a pris soin de calculer un entier eA tel que
dA eA ≡ 1[φ(nA )]
Rappelons que φ(nA ) = (pA − 1)(qA − 1) est facile à
calculer si on connaı̂t pA et qA mais impossible sinon.
De plus on a la variante du petit théorème de Fermat
(Euler) qui indique que, si M 0 ≡ M dA [nA ] alors
M 0eA ≡ M dA eA ≡ M [nA ]
ainsi le décryptage s’effectue avec une opération similaire au cryptage, mais en remplaçant l’exposant dA
par eA (qui est secret!).
En résumé : (nA , dA ) sont publiés dans l’annuaire,
cependant eA (et pA , qA ) sont secrets, seule A les
connait et A est donc la seule personne qui pourra
déchiffrer le message.
Problème de signature. Ce système peut même
être amélioré de manière à garantir l’authenticité de
la signature de B. En effet si B dispose ausi de sa
clef publique (nB , dB ) avec clef secrète eB , elle pourra
envoyer le message en lui appliquant d’abord la transformation M 7→ M 0 ≡ M eB [nB ] puis M 0 7→ M 00 ≡
M 0dA [nA ]. Alors A pourra ainsi le décoder en utilisant
d’abord sa clef secrète (nA , eA ) puis la clef publique
de B, c’est-à-dire (nB , dB ). Comme B est la seule à
posséder eB , elle peut être sûre que c’est bien B qui
lui a envoyé le message.
NOUVEAUX PROBLÈMES
0) Estimer la complexité informatique des calculs.
1) Fabriquer de grands nombres premiers. (Comme
ils doivent rester secrets, il faut qu’ils soient “le plus
généraux possibles”)
2) Etudier les méthodes de factorisation. (Soit pour
protéger ou au contraire pour casser le code RSA)
(0) est relativement bien compris. Par exemple l’algorithme de multiplication appris à l’école primaire demande, pour multiplier deux nombres à m et n chiffres
environ mn opérations élémentaires. [La “transformée
de Fourier rapide” fait mieux pour les très très grands
nombres]. Un point clef est la remarque suivante :
Le calcul de M d modulo n ne demande qu’environ log d
multiplications.
La philosophie informatique est la suivante : un algorithme demandant log n (ou une puissance de log n
opération est “BON”, un algorithme demandant n (ou
une puissance de n opérations est “MAUVAIS”.
Le problème (2) est le moins bien connu, je n’en dirai
presque rien.
Le problème (1) est pratiquement équivalent à celui de
TEST DE PRIMALITÉ : étant donné un nombre N ,
décider s’il est premier.
Le premier des tests (sérieux) est celui de Fermat:
choisir 2 ≤ a ≤ n − 1 et vérifier si an−1 ≡ 1[n]
Ce test permet de détecter la NON-Primalité (sans
factoriser). On peut le raffiner avec le test de RabinMiller :
Posons N − 1 = 2t M avec M impair, alors on vérifie si
t−1
aM ≡ ±1[N ] ou a2M ≡ −1[N ] . . . ou a2 M ≡ −1[N ].
Malheureusement on ne sait pas combien de a il faut
tester pour certifier totalement que N est premier. En
principe, il suffit de tester tous les a ≤ 2(log N )2 , ce
qui donne un algorithme “BON”.
L’existence d’un “BON” algorithme (ne dépendant pas
de conjectures non démontrées) était inconnue avant
Août 2002 et l’apparition du célèbre article écrit par
Agrawal, Kayal & Saxena PRIMES is in P qui produit
justement un tel algorithme.
Quelques problèmes “élémentaires” OUVERTS
La conjecture de Golbach. Tout nombre pair est
somme de deux nombres premiers.
Exemples. 20=7+13, 48=7+41, etc
La conjecture des nombres premiers jumeaux.
Il existe une infinité de nombre de premiers jumeaux,
i.e. de nombres premiers p tels que p+2 soit également
premier.
Exemples. (3,5), (5,7), (11,13) . . . (857,859) . . .
Mersenne. Il existe une infinité de nombres Mp =
2p − 1 qui soient premiers (respectivement composés).
Conjecture de Hardy Littlewood. Il existe une
infinité de nombres premiers de la forme p = n2 + 1.
Nombres parfaits. Un nombre parfait est pair.
DEUX GRANDS PROBLÈMES
1) L’hypothèse de Riemann.
2) La conjecture de Schinzel-Serpinski, Bateman-Horn.
L’hypothèse de Riemann
La formulation la plus élémentaire, qui ne rend pas
justice à la beauté du problème est :
√
|π(x) − Li(x)| ≤ 100 x log x
En fait l’hypothèse de Riemann est un énoncé concernant une fonction de variable complexe, la fonction
zêta de Riemann:
∞
X
1
ζ(s) =
s
n
n=1
pour <(s) > 1
le lien avec les nombres premiers se fait par la formule
d’Euler :
−1
∞
X
Y
1
1
=
ζ(s) =
1
−
s
s
n
p
p
n=1
cette magnifique fonction a des propriétés extraordinaires dont celle de s’étendre à tout le plan complexe
avec seulement un pôle en s = 1.
En fait l’hypothèse de Riemann décrit les zéros de la
fonction zêta de Riemann dans la bande 0 ≤ <(s) ≤ 1
Hypothèse de Riemann.(*) Si ζ(s) = 0 dans la
bande alors s = 1/2 + it.
On sait que cela est vrai pour les premiers milliards de
zéros mais . . .
(*) La fondation Clay offre un million de dollars pour la
solution de ce problème
Les conjectures de Schinzel-Serpinski et de
Bateman-Horn
En 1837, Dirichlet démontre qu’il existe une infinité de
nombre premiers dans toute progression arithmétique
de la forme {an + b | n ∈ N}, pourvu que a et b
soient premiers entre eux. Plus tard Hadamard et De
la Vallée-Poussin, grâce aux outils introduits pour leur
démonstration du théorème des nombres premiers raffinent ce résultat en prouvant :
π(x; a, b) log x
1
lim
=
x→∞
x
φ(a)
La conjecture de Bateman-Horn propose un équivalent
à la quantité suivante où f1 , . . . , fk désignent des
polynômes à coefficients entiers.
π(x; f1 , . . . , fk ) = card{n ≤ x | f1 (n), . . . , fk (n) ∈ P}
Il faut des conditions “évidentes” pour espérer une infinité de valeurs : il faut des polynômes irréductibles
(on peut aussi les supposer distincts) et il faut que le
produit f = f1 . . . fk ne soit identiquement nul (comme
fonction) modulo aucun nombre premier p (il suffit de
le vérifier pour p ≤ deg(f )).
La conjecture s’écrit alors
π(x; f1 , . . . , fk )(log x)k
lim
= Cf > 0
x→∞
x
Annexe : divers documents scannés
page 1: caractères chinois désignant les nombres premiers (“nombres essentiels”)
page 2 : page de couverture des “Eléments d’Euclide”
page 3 : définition d’un nombre premier selon Euclide
(définition numéro ιβ 0 )
page 4 : énoncé de l’infinitude des nombres premiers
– version originale (grec)
page 5 : énoncé de l’infinitude des nombres premiers
– traduction
page 6 Extrait de “Principles of Science” de Jevons
(1874), qui anticipe RSA et propose la factorisation de
8 616 460 799 en l’annonçant probablement impossible
page 7 et 8 : article de D. Lehmer factorisant le nombre
de Jevons
page 9 : première page de l’article de Riemann
page 10 : passage où Riemann formule “en passant”
ce qu’on appelle aujourd’hui l’hypothèse de Riemann
page 11 : première page de l’article d’Hadamard (1896)
démontrant le théorème des nombres premiers
page 12 : première page de l’article de de la Vallée
Poussin (1896) démontrant le théorème des nombres
premiers
Téléchargement