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