Démonstrations de primalité Nombres de Mersenne et de Fermat

publicité
Démonstrations de primalité
Nombres de Mersenne et de Fermat
1
Introduction
Le tableau suivant montre l'évolution du record du plus grand nombre premier connu, avant l'avénement
de l'ordinateur :
1588
217 − 1 = 131071
6 chires
Cataldi
1588
219 − 1 = 524287
6 chires
Cataldi
1772
10 chires
Euler
1867
231 − 1
259 − 1 /179951
13 chires
Landry
1876
2127 − 1
39 chires
Lucas
Dans cet exposé, nous montrerons comment retrouver en Terminale S les résultats de Cataldi et d'Euler
en utilisant le théorème de Fermat. Nous montrerons ensuite comment, par une méthode similaire, Euler
aurait pu trouver un nombre premier de 7 chires dès 1732.
Le premier test de primalité non trivial est basé sur le théorème suivant.
Théorème 1.
Tout entier non premier plus grand que 2 a un diviseur premier inférieur ou égal à sa racine
carrée.
Application
Si un entier plus grand que 2 n'a pas de diviseur premier inférieur ou égal à sa racine carrée,
alors il est premier.
Exemple 1
2
L'entier 37901 est-il premier ? Et l'entier 37907 ?
Nombres de Mersenne
2.1
Introduction
On cherche des nombres premiers de la forme an − 1, avec a et n entiers supérieurs ou égaux à 2.
Le théorème suivant permet d'éliminer beaucoup de possibilités.
Théorème 2.
Pour tous entiers
a
et
n
supérieurs ou égaux à 2,
an − 1
est divisible par
a − 1.
On peut aborder ce théorème à diérents niveaux :
en terminale S ou L : à l'aide des congruences,
en première : en utilisant le calcul de la somme 1 + a + a2 + · · · + an−1 ,
dans les classes antérieures : en développant le produit (1 + a + a2 + · · · + an−1 )(a − 1), éventuellement
sur un exemple, ou bien en montrant que 10n − 1 est divisible par 9.
Exemple 2
Les entiers 2013 − 1 et 235 − 1 ne sont pas premiers.
Plus généralement
Corollaire 1.
Dénition 1.
Si
a>2
alors
an − 1
n'est pas un nombre premier.
Les entiers de la forme
Mn = 2n − 1
sont appelés nombres de Mersenne.
Du théorème, on peut également déduire le corollaire
Corollaire 2.
Exemple 3
Si
n
n'est pas premier alors
2n − 1
n'est pas un nombre premier.
Parmi les nombres de Mersenne M2 , M3 , M4 ,. . .M16 , quels sont ceux qui sont premiers ?
1
2.2
Les diviseurs premiers des nombres de Mersenne
Pour montrer que M17 est premier, il faudrait tester tous les diviseurs premiers jusqu'à 362.
Pour montrer que M19 est premier, il faudrait tester tous les diviseurs premiers jusqu'à 724.
On peut accélerer le processus en utilisant le théorème de Fermat
Théorème 3.
n,
on a
Soit n un entier naturel. Si n est un nombre
an−1 ≡ 1 (mod n) (c'est-à-dire n divise an−1 − 1).
premier, alors pour tout entier
Remarque
Le théorème de Fermat peut être utilisé pour montrer qu'un entier n'est
existe un entier a premier avec n tel que an−1 6≡ 1 (mod n) alors n n'est pas premier.
Exemple 4
L'entier 37901 est-il premier ?
On calcule 237900 (mod 379001) en utilisant l'exponentiation
22 ≡ 4
rapide
(mod 37901)
8
2 ≡ 256
(mod 37901)
2
16
≡ 27635
(mod 37901)
2
32
≡ 25976
(mod 37901)
264 ≡ 1073
(mod 37901)
128
≡ 14299
(mod 37901)
2256 ≡ 23407
(mod 37901)
512
≡ 28694
(mod 37901)
2
1024
≡ 22213
(mod 37901)
2
2048
≡ 22151
(mod 37901)
2
4096
≡ 455
(mod 37901)
28192 ≡ 17520
(mod 37901)
16384
≡ 28102
(mod 37901)
232768 ≡ 17168
(mod 37901)
2
pas premier
: si il
(mod 37901)
2 ≡ 16
2
premier avec
:
4
2
a
On a 37900 = 32768 + 4096 + 1024 + 8 + 4 donc
237900 ≡ 17168 × 455 × 22213 × 256 × 16 ≡ 12802
(mod 37901)
donc 37901 n'est pas un nombre premier.
Malheureusement, le théorème de Fermat ne permet pas de montrer directement qu'un entier est premier.
Théorème 4.
Soit a et p deux entiers supérieurs ou égaux à 2. On suppose qu'il
k tel que ak ≡ 1 (mod p).
k
Soit k0 le plus petit entier naturel non nul tel que a 0 ≡ 1 (mod p).
L'entier k est alors un multiple de k0 . On dit que k0 est l'ordre de a modulo p.
existe un entier naturel
non nul
Corollaire 3.
Soit
p et q deux nombres premiers. Si q divise Mp alors il existe un entier k tel que q = 2kp+1.
p est premier alors les diviseurs premiers de Mp sont de la forme 2kp + 1.
Autrement dit, si
Exemple 5
Parmi les nombres de Mersenne M17 , M18 , . . .M30 , quels sont ceux qui sont premiers ?
En 1772, Euler démontre que M31 est premier en utilisant un ranement de cette méthode.
2
3
Nombres de Fermat
3.1
Introduction
On cherche des nombres premiers de la forme am + 1, avec a > 2 pair et m > 1.
Le théorème suivant permet d'éliminer beaucoup de possibilités.
Théorème 5.
si
m
Pour tous entiers
m
est impair alors a
+1
a
et
m
supérieurs ou égaux à 2,
est divisible par
a + 1.
Ce résultat est plus dicile à aborder avant la première...
Exemple 6
Les entiers 63 + 1 et 212 + 1 ne sont pas premiers.
Plus généralement
Corollaire 4.
Si
m
est divisible par un nombre impair strictement plus grand que
1
alors
am + 1
n'est pas
un nombre premier.
On en déduit en particulier que si 2m + 1 est premier alors m est une puissance de 2.
Dénition 2.
Exemple 7
3.2
Les entiers de la forme
n
Fn = 22 + 1
sont appelés nombres de Fermat.
Parmi les nombres de Fermat F0 , F1 , F2 et F3 , quels sont ceux qui sont premiers ?
Les diviseurs premiers des nombres de Fermat
Théorème 6.
Soit
p
p divise Fn alors il existe un entier k
Fn sont de la forme k × 2n+1 + 1.
un nombre premier. Si
Autrement dit, les diviseurs premiers de
Exemple 8
1. Montrer que F4 est un nombre premier.
2. Décomposer F5 en facteurs premiers.
3
tel que
p = k × 2n+1 + 1.
Table de nombres premiers
2
31
73
127
179
233
283
353
419
467
547
607
661
739
811
877
947
1019
1087
1153
1229
1297
1381
1453
1523
1597
1663
1741
1823
1901
1993
2063
2131
2221
2293
2371
2437
2539
3
37
79
131
181
239
293
359
421
479
557
613
673
743
821
881
953
1021
1091
1163
1231
1301
1399
1459
1531
1601
1667
1747
1831
1907
1997
2069
2137
2237
2297
2377
2441
2543
5
41
83
137
191
241
307
367
431
487
563
617
677
751
823
883
967
1031
1093
1171
1237
1303
1409
1471
1543
1607
1669
1753
1847
1913
1999
2081
2141
2239
2309
2381
2447
2549
7
43
89
139
193
251
311
373
433
491
569
619
683
757
827
887
971
1033
1097
1181
1249
1307
1423
1481
1549
1609
1693
1759
1861
1931
2003
2083
2143
2243
2311
2383
2459
2551
11
47
97
149
197
257
313
379
439
499
571
631
691
761
829
907
977
1039
1103
1187
1259
1319
1427
1483
1553
1613
1697
1777
1867
1933
2011
2087
2153
2251
2333
2389
2467
2557
13
53
101
151
199
263
317
383
443
503
577
641
701
769
839
911
983
1049
1109
1193
1277
1321
1429
1487
1559
1619
1699
1783
1871
1949
2017
2089
2161
2267
2339
2393
2473
2579
4
17
59
103
157
211
269
331
389
449
509
587
643
709
773
853
919
991
1051
1117
1201
1279
1327
1433
1489
1567
1621
1709
1787
1873
1951
2027
2099
2179
2269
2341
2399
2477
2591
19
61
107
163
223
271
337
397
457
521
593
647
719
787
857
929
997
1061
1123
1213
1283
1361
1439
1493
1571
1627
1721
1789
1877
1973
2029
2111
2203
2273
2347
2411
2503
2593
23
67
109
167
227
277
347
401
461
523
599
653
727
797
859
937
1009
1063
1129
1217
1289
1367
1447
1499
1579
1637
1723
1801
1879
1979
2039
2113
2207
2281
2351
2417
2521
2609
29
71
113
173
229
281
349
409
463
541
601
659
733
809
863
941
1013
1069
1151
1223
1291
1373
1451
1511
1583
1657
1733
1811
1889
1987
2053
2129
2213
2287
2357
2423
2531
2617
Téléchargement