Petit théorème de FermatEn mathématiques, le petit théorème de Fermat est un résultat de l'arithmétique modulaire, qui peut aussi se démontrer avec les outils de l'arithmétique élémentaire. Il s'énonce comme suit : « si p est un nombre premier et si a est un entier non divisible par p, alors ap–1 – 1 est un multiple de p », autrement dit (sous les mêmes conditions sur a et p), ap–1 est congru à 1 modulo p : Un énoncé équivalent est : « si p est un nombre premier et si a est un entier quelconque, alors ap – a est un multiple de p » : Il doit son nom à Pierre de Fermat, qui l'énonce pour la première fois en . Il dispose de nombreuses applications, à la fois en arithmétique modulaire et en cryptographie. HistoireLa première apparition connue de l'énoncé de ce théorème provient d'une lettre de Fermat à Frénicle de Bessy datée d'[1], qui a été publiée par son fils Samuel en 1679 dans les Varia Opera[2]. On peut y lire ceci : « Tout nombre premier mesure infailliblement une des puissances – 1 de quelque progression que ce soit, et l'exposant de ladite puissance est sous-multiple du nombre premier donné – 1 ; et, après qu'on a trouvé la première puissance qui satisfait à la question, toutes celles dont les exposants sont multiples de l'exposant de la première satisfont tout de même à la question. »[3], soit en termes modernes, pour tout nombre premier p et tout nombre a (premier avec p), il existe un entier t tel que p divise at – 1, et, t étant le plus petit entier vérifiant ceci, t divise p – 1 et tous les multiples n de t vérifient que p divise an – 1. On en déduit immédiatement l'énoncé donné en introduction, et réciproquement on déduit de celui-ci l'énoncé plus précis que donne Fermat. Comme habituellement dans sa correspondance, il ne donne aucune démonstration de ce résultat, ni même, comme il le fait parfois, d'indications à propos de celle-ci, mais précise : « Et cette proposition est généralement vraie en toutes progressions et en tous nombres premiers ; de quoi je vous envoierois la démonstration, si je n'appréhendois d'être trop long[3]. » À cette époque, il est d'usage de ne pas publier les preuves des théorèmes. Ainsi Leibniz rédige une démonstration[4] vers 1683 mais ne la publie pas. En 1741[5], 1750[6] et 1761[7], Euler en publie deux qui procèdent par récurrence et utilisent le développement du binôme, et une qui étudie la répartition des restes modulo le nombre premier considéré. On trouve cette dernière en 1801 dans les Disquisitiones arithmeticae[8] de Gauss. Il y résume également la première démonstration d'Euler[9], et en donne une version plus rapide utilisant le développement du multinôme[10]. Gauss mentionne en 1801 que « Ce théorème remarquable, tant par son élégance que par sa grande utilité, s'appelle ordinairement « théorème de Fermat », du nom de l'inventeur »[9]. On trouve la dénomination « petit théorème de Fermat » (kleine Fermatsche Satz) dans un ouvrage de Kurt Hensel de 1913[11]. Un étudiant américain[12], cité entre autres par Dickson[13], avait avancé que le théorème était déjà connu en Chine 2 000 ans avant Fermat, dans le cas particulier a = 2, accompagné d'une réciproque — trivialement fausse[14]. Cette « hypothèse chinoise » n'est qu'une légende urbaine, due à une erreur de traduction qui s'est amplifiée et déformée au fil des citations[15],[16]. ExemplesVoici quelques exemples (fondés sur le second énoncé) :
ApplicationsLes applications sont nombreuses, particulièrement en cryptographie. On trouve néanmoins des exemples classiques d'applications du théorème en mathématiques pures. Applications théoriquesLe petit théorème de Fermat est historiquement utilisé pour analyser la décomposition en produit de facteurs premiers de certains entiers. Ainsi Fermat écrit[17] à Mersenne (1588-1648) : « Vous me demandez si le nombre 100 895 598 169 est premier ou non, et une méthode pour découvrir, dans l'espace d'un jour, s'il est premier ou composé. À cette question, je réponds que ce nombre est composé et se fait du produit de ces deux : 898 423 et 112 303, qui sont premiers. » En utilisant une méthode analogue, Euler infirme l'unique conjecture fausse de Fermat, en prouvant que les nombres de Fermat ne sont pas tous premiers. Ce théorème est aussi utilisé pour démontrer des résultats de théorie algébrique des nombres, comme le théorème de Herbrand-Ribet. Il dépasse le cadre strict de l'arithmétique, avec une utilisation pour l'étude des points fixes de l'endomorphisme de Frobenius par exemple. Cryptographie asymétriqueLa cryptographie à clé publique correspond à un code s'attachant à assurer la confidentialité des messages à l'aide de deux clés de chiffrement. L'une, permettant de chiffrer le message, est publique. L'autre ayant pour objectif le déchiffrement est gardée secrète. Une famille importante de systèmes asymétriques utilise l'algorithme de chiffrement RSA. La clé secrète est la décomposition d'un grand nombre entier, souvent de plusieurs centaines de chiffres. Il contient deux facteurs premiers. L'essentiel des techniques industrielles du début du XXIe siècle se fonde sur le petit théorème de Fermat pour générer des grands nombres premiers ou pour tester la primalité d'un nombre.[réf. nécessaire] Test de primalitéLe petit théorème de Fermat donne une condition nécessaire pour qu'un nombre p soit premier. Il faut en effet que, pour tout a plus petit que p, ap – 1 soit congru à 1 modulo p. Ce principe est la base du test de primalité de Fermat. Il existe de nombreuses variantes algorithmiques de ce test. Les plus connues sont le test de primalité de Solovay-Strassen et surtout le test de primalité de Miller-Rabin. Nombre pseudo-premierLes tests précédents utilisent une condition nécessaire mais non suffisante. Ainsi, il existe des entiers p non premiers tels que pour tout a premier avec p, ap – 1 soit toujours congru à 1 modulo p. Le nombre 1 729 est un exemple. De tels entiers p sont appelés nombres de Carmichael. Les tests indiqués au paragraphe précédent sont tous statistiques, au sens où il existe toujours une probabilité, parfois très faible, pour que le nombre ayant passé le test ne soit néanmoins pas premier. Ces nombres sont appelés pseudo-premiers et sont attachés à des tests particuliers. DémonstrationsPar le théorème de LagrangeLa seconde preuve d'Euler du premier énoncé, telle que reprise par Gauss[8], reformulée en termes modernes, consiste à démontrer que l'ordre t de a dans le groupe multiplicatif (ℤ/pℤ)* est un diviseur de l'ordre p–1 de ce groupe (il démontre donc le théorème de Lagrange dans le cas particulier du sous-groupe engendré par a). Il en déduit immédiatement le petit théorème de Fermat, en élevant les deux membres de l'équation at ≡ 1 (mod p) à la puissance : l'entier (p – 1)/t. Le résultat et sa démonstration valent pour n'importe quel groupe fini (ici le groupe multiplicatif (ℤ/pℤ)* d'ordre p - 1). Démonstration d'Euler et de LeibnizLa démonstration d'Euler et de Leibniz du second énoncé utilise la formule du binôme de Newton et un raisonnement par récurrence sur l'entier a, supposé positif sans perte de généralité. Leur raisonnement (reformulé ici dans le langage des congruences introduit ultérieurement par Gauss), est le suivant :
Équivalence des deux énoncésSi le premier énoncé est vrai alors le second aussi : Pour a quelconque, comme ap – a est égal au produit a(ap–1 – 1), on sait que ce produit est toujours divisible par p, car ou bien a est multiple de p, ou bien il ne l'est pas mais le premier énoncé assure alors que ap–1 – 1 est divisible par p. Réciproquement, le premier énoncé se déduit du second en utilisant le lemme d'Euclide : si a(ap–1 – 1) est divisible par p et si a ne l'est pas, alors ap–1 – 1 l'est. Une démonstration arithmétique élémentaireUne autre démonstration du premier énoncé est analogue (en plus simple) à une preuve du lemme de Gauss : l'astuce ici est d'évaluer modulo p, de deux façons, le produit
La preuve est très rapide en effectuant les calculs dans l'anneau ℤ/pℤ[18], mais on peut aussi la détailler en utilisant seulement la division euclidienne, le lemme d'Euclide, et une propriété algébrique de la congruence sur les entiers. Une démonstration par double dénombrementOn peut démontrer le petit théorème de Fermat en comptant de deux manières différentes le nombre de mots de p symboles dans un alphabet à a symboles comportant au moins deux symboles différents. GénéralisationsUne légère généralisation du théorème s'énonce de la manière suivante : si p est un nombre premier et si m et n sont des entiers strictement positifs tels que m ≡ n mod (p – 1) alors, pour tout entier a : En effet, modulo p, les deux membres sont congrus à 0 si a est divisible par p, et s'il ne l'est pas, alors an – m = (ap – 1)(n – m)/(p – 1) ≡ 1(n – m)/(p – 1) = 1. Sous cette forme, le théorème fonde l'algorithme de chiffrement RSA. Le petit théorème de Fermat est généralisé par le théorème d'Euler : pour tout entier naturel non nul n et tout entier a premier avec n, on a où φ(n) désigne l'indicatrice d'Euler de n, égale à l'ordre du groupe des unités de l'anneau ℤ/nℤ. Si n est un nombre premier, alors φ(n) = n – 1 et l'on retrouve le petit théorème de Fermat. Il se généralise de même à tout corps fini donc à tout quotient de l'anneau des entiers d'un corps de nombres par un idéal premier. Notes et références
AnnexesBibliographie
Liens externes
|