Académique Documents
Professionnel Documents
Culture Documents
Définition 4.2. Une décomposition de n ∈ N en facteurs premiers est un couple formé par
:
(1) une suite finie strictement croissante de nombres premiers p1 , ..., pk ;
(2) une suite de k entiers naturels non nuls α1 , ..., αk tels que n = pα1 1 ...pαk k .
La preuve du théorème affirmant l’éxistence et l’unicité d’une décomposition en facteurs
premiers pour tout entier ≥ 2 utilise les propriétés des nombres premiers entre eux (voir le
document 3) et le lemme suivant.
Lemme 4.1. :
(1) Si un nombre premier divise un produit de facteurs alors il divise l’un d’eux.
(2) Si un nombre premier divise un produit de facteurs premiers alors il est égal à l’un
d’eux.
Preuve. 1) Si le nombre premier p ne divise aucun des ai , i = 1, ..., n, alors p est premier avec
tous les ai et donc p est premier avec leur produit.
2) Evident en utilisant 1).
Avant d’énoncer le théorème, donnons une notation utile. Soit p un nombre premier et
n ∈ N∗ . L’ensemble des entiers k tels que pk | n est fini. Il possède donc un plus grand élément
que l’on désigne par vp (n).
Théorème 4.1. Tout entier n ≥ 2 possède une unique décomposition en facteurs premiers.
Preuve. L’existence. Soit p1 < ... < pk la suite strictement croissante des diviseurs premiers
vp (n) vp (n)
de n et m = p1 1 ....pk k . Si i 6= j alors pi et pj sont premiers entre eux et il en est de même
vp (n) vp (n)
pour pi i et pj j . Il en résulte que m | n (Corollaire 3.2 du document 3). Posons n = qm.
Si q > 1 alors q possède un diviseur premier p et comme p | n il est égal à l’un des pi : p = ph ,
vp (n)+1
1 ≤ h ≤ k. L’égalité n = qm entraine que ph h | n en contradiction avec la définition de
vph (n). Donc q = 1 et m = n, ce qui montre que le couple formé par les suites p1 , ..., pk et
vp1 (n), ..., vpk (n) est une décomposition de n en facteurs premiers.
L’unicité. Supposons que n = q1α1 ...qrαr où q1 , ..., qr est une suite strictement croissante de
nombres premiers et αi ∈ N∗ . Comme qi est un diviseur premier de n, on a {q1 , ..., qr } ⊂
{p1 , ..., pk }. Soit i ∈ [1, k]. Le nombre premier pi divise q1α1 ...qrαr donc il existe h ∈ [1, r] tel
que pi | qhαh d’où pi | qh et finalement pi = qh . Il en résulte que {q1 , ..., qr } = {p1 , ..., pk } d’où
r = k et pi = qi pour tout i ∈ [1, k] car les suites (pi ) et (qi ) sont strictement croissantes. Par
définition de vpi (n), αi ≤ vpi (n). et s’il existe h tel que αh < vph (n) alors
vp1 (n) vp (n) vpk (n)
n = pα1 1 ....pαh h ...pαk k < p1 ....ph h ....pk =n
ce qui est absurde. On a donc αi = vpi (n) et l’unicité de la décomposition est démontrée.
Remarque. La preuve précédente est un peu longue mais elle donne aussi la forme précise de la
décomposition et une façon de l’obtenir. Il en existe des beaucoup plus courtes mais n’ayant pas
ces qualités. Par exemple, pour l’existence de la décomposition, on peut faire la démonstration
suivante :
Si tout entier ne se décompose pasen facteurs premiers alors soit n0 le plus petit entier n’ayant
pas de décomposition. Comme n0 n’est pas premier, n0 ≥ 4 et n0 posséde un divieur a avec
34 4. LES NOMBRES PREMIERS
et donc a | b.
3) Evident en utilisant 2) et les définitions du pgcd et du ppcm.
Corollaire 4.1. Pour tout (a, b) ∈ N∗2 , pgcd(a, b)ppcm(a, b) = ab.
Preuve. Comme n + m = max(n, m) + min(n, m), la partie 3) de la proposition précédente
entraine, pour tout nombre premier p, vp (pgcd(a, b)) + vp (ppcm(a, b)) = vp (a) + vp (b) d’où
pgcd(a, b)ppcm(a, b) = ab
(Le corollaire est encore vrai si a = 0 ou b = 0.)
Remarques. 1). La réciproque du théorème de Fermat est fausse : il existe des entiers n
non premiers tels que pour tout entier a on ait an ≡ a (mod n). Le plus petit de ces nombres
est 561 (voir le document 5) et il en existe une infinité. Ces entiers sont appelés nombres de
Carmichaël.
2). Les éléments inversibles de Z/nZ forment, pour la multiplication, un groupe d’ordre φ(n) et
36 4. LES NOMBRES PREMIERS
donc pour tout élément inversible a, aφ(n) = 1 si l’on dispose du résultat classique de la théorie
des groupes : pour tout élément a d’un groupe fini d’ordre k on a ak = 1.
3). On peut démontrer la partie difficile du théorème de Wilson à partir du théorème de
Fermat. En effet ce dernier théorème signifie que si p est premier alors les zéros du polynôme
X p−1 − 1 ∈ (Z/pZ)[X] sont 1, . . . , p − 1 et l’on sait que leur produit vaut (−1)p−1 −1 = −1. (Si
p = 2, −1 = 1 et si p est impair, (−1)p−1 = 1.)
3.1. Le crible d’Eratosthène. Pour faire la liste des nombres premiers inférieurs à un
entier donné N , le crible d’Eratosthène est très performant si N n’est pas très grand. Il est
√ : tout entier n ≥ 2, qui n’est pas premier, possède un diviseur
fondé sur le résultat déjà prouvé
premier inférieur ou égal à E( n). En pratique, on écrit les entiers de 2 à N et on raye les
multiples du plus petit nombre premier 2 et qui sont distincts de 2. L’entier 3 est premier car
il n’est pas multiple d’un nombre premier plus petit que lui. On recommence avec les multiples
de 3, distincts de 3. Le plus petit nombre > 3 non rayé est 5 qui de ce fait est premier. On
raye ses multiples et on continue avec le plus petit entier non rayé et > 5. Supposons qu’a une
certaine étape, on ait rayé les multiples de n distincts de n et soit p > n le plus petit entier non
rayé. Cet entier est
√ premier car il n’est multiple d’aucun nombre premier plus petit que lui. Dès
que p dépasse E( N ) + 1 il est inutile de continuer car tout nombre ≤ N qui n’est pas premier
est rayé et donc tous ceux qui restent dans le tableau sont premiers. Par exemple; √ si N = 1000
alors, aprés avoir rayé les multiples de 29, le plus petit entier non rayé est 31 = E( 1000). On
raye les multiples de 31 et tout nombre non rayé est premier.
Donnons explicitement le crible d’Eratosthène√ pour N = 100. Après avoir rayé les multiples
de 7, le plus petit entier non rayé est 11 > 100 = 10 et donc les entiers restants sont tous
premiers.
4. LE N-IèME NOMBRE PREMIER 37
2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
3.2. Tests de primalité. Les nombres premiers utilisés en cryptographie ayant un nombre
de chiffres compris entre cinquante et cent, le crible d’Erathosthème est inopérant pour trouver
de tels nombres. On doit donc utiliser d’autres méthodes.
Un premier type de méthodes utilise des généralisations du théorème de Fermat. Si p > 2
est premier alors 2p−1 − 1 est divisible par p. La réciproque de ce résultat peut être fausse mais
on connait des résultats analogues qui sont des conditions nécessaires et suffisantes de primalité.
Au XIX ème siècle, Edouard Lucas avait trouvé un résultat qui a permit de montrer, à l’aide
d’ordinateurs, la primalité d’un nombre de Mersenne de 258 716 chiffres. D’autres généralisations
plus récentes du théorème de Fermat s’appliquent à des entiers quelconques et permettent de
trouver en quelques minutes des nombres premiers ayant environ 200 chiffres. Le record est un
nombre premier de plus de 1500 chiffres.
On peut aussi utiliser des méthodes probabilistes qui permettent seulement d’obtenir une
excellente probabilité de primalité. L’une des plus connus est le test probabiliste de Rabin.
Il utilise les congruences et après des calculs sur ordinateur durant moins d’une minute il permet
de savoir avec une probabilité de l’ordre de 1 − 10−80 si un nombre d’une centaine de chiffres est
premier ou pas.
M11 . Contrairement aux nombres de Fermat, on connait des nombres de Mersenne très grand
et premiers. Par exemple M25 964 951 = 225 964 951 − 1 semble être le plus grand nombre premier
connu actuellement. Il possède 7816230 chiffres.
4.2. A l’aide de polynômes. Le polynôme P (x) = x2 − x + 41 a la propriété remarquable
que pour tout entier n ∈ [0, 40], P (n) est un nombre premier. De même, Q(x) = x2 − 79x + 1601
prend pour 0 ≤ n ≤ 79, n ∈ N, des valeurs qui sont toutes des nombres premiers. On peut donc
se demander s’il existe un polynôme de Z[X] donnant tous les nombres premiers. Le résultat
suivant montre que ce n’est pas possible.
Proposition 4.6. Soit P (x) un polynôme non constant et à coefficients dans Z. Pour une
infinité de valeurs de n ∈ N, | P (n) | n’est pas un nombre premier.
Preuve. Soit P (x) = ak xk + ... + a1 x + a0 , avec ai ∈ Z. Comme on peut toujours supposer
que ak > 0, P (n) tend vers +∞ lorsque n tend vers +∞. Il existe n0 ∈ N tel que n > n0
implique P (n) > 1. Soit h > n0 , h ∈ N, et m = P (h) > 1. Pour tout entier naturel r
P (rm + h) = ak (rm + h)k + ... + a1 (rm + h) + a0
est divisible par m car c’est la somme de m = P (h) et d’une combinaison linéaire à coefficients
dans Z de puissances de m. Comme P (rm + h) tend vers l’infini avec r, il existe une infinité de
valeurs de n = rm + h telles que | P (n) |= P (n) ne soit pas premier.
2) Il existe des polynômes à plusieurs variables dont les valeurs entières et positives donnent
tous les nombres premiers (résultat de Matiyasevich).
à partir de 10100 lorsque n augmente d’environ 230. La probabilité pour qu’un nombre impair
voisin de 10100 soit premier est donc de l’ordre de 1/115. Pour obtenir, presqu’à coup sûr, un
nombre premier d’une centaine de chiffres, on considère un millier de nombres impairs consécutifs
et ayant ce nombre de chiffres. On commence par éliminer les multiples des petits nombres pre-
miers et ensuite on applique un test (du genre Lucat ou le test probabiliste de Rabin) à ceux
qui restent. Ce travail ne demande qu’un temps de calcul de quelques minutes.
5. Compléments
5.1. Caractéristique d’un corps. Soit A un anneau unitaire, d’unité e. Il est clair que
l’application f de Z dans A définie par f (n) = ne est un morphisme de groupes et donc il existe
un entier p ≥ 0 tel que Ker f = {n ∈ Z | f (n) = 0} = pZ. Supposons A sans diviseur de zéro,
p 6= 0 et p = mq. On a 0 = pe = (mq)e = (me)(qe) d’où me = 0 ou qe = 0. Donc m ∈ pZ ou
q ∈ pZ ce qui implique m = ±1 ou q = ±1. L’entier p est donc un nombre premier. Pour tout
élément non nul a de A et tout entier n, on a na = (ne)a et donc na = 0 ⇔ ne = 0. Cela montre
que si p > 0 alors p est le plus petit entier strictement positif tel que pa = 0 et ma = 0 équivaut
à m est un multiple de p. Si p =0 alors, pour tout élément n ∈ Z∗ , on a na 6= 0. L’entier p est
appelé la caractéristique de l’anneau unitaire et sans diviseur de zéro A.
Le morphisme f est aussi un morphisme d’anneau ((nm)e = (ne)(me)) et Z/ker f = Z/pZ
est isomorphe à Im f = {..., −2e, −e, 0, e, 2e, ...} qui est le sous-anneau de A engendré par e. Si
A est sans diviseur de zéro alors, soit p = 0 et A contient un sous-anneau isomorphe à Z, soit p
est premier et dans cas A possède un sous-anneau qui est un corps isomorphe à Z/pZ.
Considérons maintenant le cas le plus courant où A est un corps. Si p est premier et si A est
fini alors A est un espace vectoriel de dimension finie sur son sous-corps Im f . Si sa dimension
est n alors son cardinal est pn . Réciproquement on peut montrer que, pour tout entier n > 0
et tout nombre premier p, il existe un corps ayant pn éléments. Ce corps est de caractéristique
p. Maintenant si p = 0 alors Im f est un sous-anneau de A, isomorphe à Z. On montre que le
sous-corps du corps A engendré par Im f est isomorphe à Q.
5.2. Cryptographie : la méthode R.S.A.. La méthode RSA (pour Riverst, Shamir,
Adleman) permet de coder un message numérique M puis de le décoder. Tout message littéral
peut être transformer en un message numérique : par exemple, on remplace a par 01, b par 02,
..., z par 26.
Préparation du code.
1) On choisit deux nombres premiers p et q.
2) On effectue leur produit n = pq et on calcule φ(n) = (p − 1)(q − 1).
3) On choisit un nombre d premier avec φ(n).
4) On calcule e tel que 0 < e < φ(n) et ed ≡ 1 (mod φ(n)). C’est possible car d et φ(n)
étant premier entre eux, il existe deux entiers u et v tels que ud + vφ(n) = 1. On a donc
ud ≡ 1 (mod φ(n)) et e est le reste de la division euclidienne de u par φ(n).
Codage et décodage.
Soit M un entier tel que 0 < M < n, M n’étant pas multiple de p ou de q (M est premier avec
n) . On calcule C vérifiant 0 < C < n et C ≡ M e (mod (n)). L’entier C code le message M . On
a M ≡ C d (mod (n)). En effet :
C d ≡ M ed (mod (n)) et il existe un entier k tel que ed−1 = kφ(n) d’où M ed ≡ M M kφ(n) (mod (n)).
L’entier M étant premier avec n, le théorème d’Euler entraine M φ(n) ≡ 1 (mod (n)) d’où
40 4. LES NOMBRES PREMIERS
C d ≡ M (mod (n)). Comme 0 < M < n cette congruence détermine M et permet de décoder le
message C.
La pratique.
En pratique, on choisit deux nombres premiers p et q ayant plus de cinquante chiffres, l’entier
n a alors plus d’une centaine de chiffres et les ordinateurs actuels ne peuvent pas décomposer
un tel nombre en facteurs premiers. Les entiers premiers p et q, φ(n) et d sont secrets alors
que n et e sont publics ce qui fait que toute personne peux coder un message. En revanche, le
décodage est impossible si on ne connait pas l’un des trois nombres p, q ou d (sachant que n et e
sont publics). Cette méthode de codage exige la connaissance de grands nombres premiers. La
taille de ces nombres va en croissant avec les progrès de l’informatique d’où l’intérêt des tests
de primalité.
5.3. Le codage des suites finies d’entiers. L’unicité de la décomposition en facteurs
premiers entraine que l’application Φ qui à une suite finie d’entiers n1 , . . . , nk fait correspondre
l’entier pn1 1 +1 . . . pnk k +1 = 2n1 +1 3n2 +1 . . . pknk +1 est injective. On dit que Φ est le codage des
suites finies d’entiers et cette technique a de nombreuses applications, en général abstraites car
les valeurs de Φ sont de très grands entiers (Φ(1, 1, 1, 1, 1) = 22 32 52 72 112 = 5336100).
Application aux cardinaux.
Il résulte de l’injectivité de Φ que l’ensemble des suites finies de N est dénombrable. Plus
généralement, l’ensemble des suites finies d’éléments d’un ensemble dénombrable est dénombrable
et donc le produit cartésien d’un nombre fini d’ensembles dénombrables est dénombrable.
En particulier, N2 est dénombrable et donc aussi l’ensemble des nombres rationnels positifs.
On en déduit facilement que Q est aussi dénombrable.
Application en logique
Le codage des suites finies d’entiers par un entier est attribué au logicien Kurt Gödel qui l’a
utilisé dans les années trente pour démontrer ses célèbres théorèmes concernant l’incomplétude de
l’arithmétique et les problèmes posés par sa consistance. Donnons une petite idée de la technique
utilisée par ce logicien. K. Gödel commence par remplacer chaque symbole figurant dans une
formule de l’arithmétique par un entier bien déterminé et ainsi toute formule devient une suite
finie d’entiers n1 , . . . , nk . A cette suite il fait correspondre l’entier Φ(n1 , . . . , nk ) appelé depuis le
nombre de Gödel de la formule. Plus généralement, une démonstration de l’arithmétique, qui est
une suite finie de formules, devient aussi un entier et, par exemple, l’affirmation de l’existence
d’une démonstration est remplacée par l’affirmation de l’existence d’un entier.