TESTS DE PRIMALITÉ : RABIN-MILLER ET POCKLINGTON

TESTS DE PRIMALIT ´
E : RABIN-MILLER ET
POCKLINGTON-LEHMER
1. Introduction
Soit Nun entier. On peut se poser trois questions distinctes sur la nature
arithm´etique de N:
Nest-il compos´e ?
Nest-il premier ?
Factoriser N.
Si les trois questions semblent ´equivalentes, elles sont en fait de diffi-
cult´e largement diff´erente. On s’int´eresse ici aux deux premi`eres. A savoir,
comment montrer qu’un nombre est compos´e, puis, si la r´eponse est “ap-
paremment pas”, comment montrer qu’il est premier. Les tests propos´es
utilisent les notions n´ecessaires aux calculs et raisonnements dans Z/nZ, o`u
nest un entier, parfois premier.
2. Tests de non primalit´
e
Le petit th´eor`eme de Fermat fournit un test qui peut permettre de montrer
qu’un nombre Nn’est pas premier. Si en effet en calculant 2N1mod N, on
trouve un r´esultat distinct de 1, on est certain que Nn’est pas premier. Par
contre, si on trouve 1, cela ne veut pas dire que Nest premier. On peut alors
prendre d’autres valeurs aque 2, et calculer aN1. Si l’on trouve 1 `a chaque
fois, cela ne prouvera pas non plus que Nn’est pas premier. Il existe des
nombres compos´es pour lesquels on n’a que tr`es peu de chances de conclure
ainsi : les nombres de Carmichael, c’est-`a-dire les nombres compos´es Ntels
que aN11 mod Npour tout apremier avec N. Il a ´et´e d´emontr´e qu’il
existe une infinit´e de tels nombres.
Un renforcement de ce test a ´et´e donn´e par Rabin et Miller en 1977. Il se
base sur le th´eor`eme suivant.
Th´eor`eme 2.1. Soit Nun nombre premier impair, et aun entier premier
`a N. Si N1 = 2eq, o`u qest un entier impair, alors :
(1) Soit aq1mod N.
(2) Soit il existe itel que 0ie1tel que a2iq≡ −1mod N.
L`a encore, la r´eciproque est fausse, comme le montre l’exemple o`u N=
3277 et a= 2. Si un entier a∈ {1,...N 1}v´erifie l’une des propri´et´es (1)
ou (2) du th´eor`eme de Rabin-Miller, on dit que Nest pseudo-premier (de
Miller-Rabin) pour la base a.
Toutefois, la situation est meilleure que pour le test venant directement
du petit th´eor`eme de Fermat. Le th´eor`eme suivant montre en effet que si un
1
2 TESTS DE PRIMALIT´
E : RABIN-MILLER ET POCKLINGTON-LEHMER
nombre Nn’est pas premier, et si l’on essaie un nombre suffisant de valeurs
de a, on a une tr`es forte probabilit´e de trouver une base apour laquelle N
n’est pas pseudo-premier.
Th´eor`eme 2.2. Si Nest compos´e, alors il est pseudo-premier dans au plus
1/4des bases a.
Pour d´emontrer ce th´eor`eme, on peut proc´eder de la mani`ere suivante.
On ´ecrit la d´ecomposition de Nen produit de facteurs premiers N=Qppfp.
En utilisant le th´eor`eme chinois, on voit que le nombre Ad’´el´ements aqui
satisfont le test est ´egal `a
Y
p
#{x:qx 0 mod (p1)pfp1}
+
e1
X
i=0 Y
p
#{x:q2ix(p1)pfp1/2 mod (p1)pfp1}.
On trouve alors que
A=1 + 2ωE 1
2ω1Y
p
(q, p 1),
o`u ωest le nombre de facteurs premiers de N, et o`u E= minpep, l’entier
ep´etant efini pour tout ppar : ep=v2(p1). La probabilit´e Pcherch´ee
est ´egale `a A/(N1). Si ω= 1, on trouve P= 1 si fp= 1, et P
(p1)/(pfp1) 1/(p+ 1) 1/4 si fp>1. Si ω > 1, les in´egalit´es
(q, p 1) (p1)/2epet Qp(p1) N1 montrent que
P1 + 2ωE 1
2ω1/2ωE .
On obtient alors la majoration voulue, sauf dans le cas o`u ω= 2, o`u on
obtient seulement P1/2. Dans ce cas, on peut affiner les in´egalit´es
pr´ec´edentes pour obtenir le bon r´esultat, sauf si p1 divise N1 pour tout
pet si Nest sans facteurs carr´es. On montre alors que ce cas est impossible.
3. Tests de primalit´
e
Supposons que Nait pass´e le test de Rabin-Miller. Nous sommes alors
`a peu pr`es certains que Nest premier. Le d´emontrer rigoureusement est
un probl`eme plus difficile. Nous donnons ici un exemple de test, trouv´e par
Pocklington et am´elior´e par Lehmer, bas´e sur le th´eor`eme suivant,
Th´eor`eme 3.1. Soit N > 1un entier. Alors Nest un nombre premier si
et seulement si pour tout diviseur premier pde N1on peut trouver un
entier aptel que
aN1
p1mod Net (a(N1)/p
p1, N) = 1.
TESTS DE PRIMALIT´
E : RABIN-MILLER ET POCKLINGTON-LEHMER 3
En effet, si Nest premier, et si gest une racine primitive modulo N, alors
il suffit de poser ap=gpour tout p. R´eciproquement, soit dun diviseur
premier de N, on montre que pour tout pdivisant N1, pvp(N1) divise
d1, ce qui permet ensuite de conclure que N=d.
Ce th´eor`eme fournit un test de primalit´e rapide, d`es que l’on connaˆıt la
factorisation de N1. La factorisation d’un entier est un probl`eme difficile
et peut ˆetre un obstacle `a l’utilisation de ce test. Il arrive toutefois qu’il ne
soit pas trop difficile de factoriser N1. De plus, on n’a pas vraiment besoin
de la factorisation compl`ete de N1, comme le montrent les th´eor`emes 3.2
et 3.3 ci-dessous, auxquels la d´emonstration du th´eor`eme 3.1 s’applique, avec
quelques modifications.
Th´eor`eme 3.2. Soit N > 1un entier. On suppose qu’on sait ´ecrire N
1 = F U , o`u (F, U) = 1,F=Qg
i=1 pfi
iest compl`etement factoris´e, et o`u
U < F . Alors Nest premier si et seulement si pour tout ´el´ement x=pi,
i∈ {1,...,r}, on peut trouver un entier axtel que
aN1
x1mod Net (a(N1)/x
x1, N) = 1.
Th´eor`eme 3.3. Soit N > 1un entier. On suppose qu’on sait ´ecrire N
1 = F U, o`u (F, U) = 1,F=Qg
i=1 pfi
iest compl`etement factoris´e, o`u tous
les diviseurs premiers de Usont plus grand qu’un entier B, et o`u BF
N. Alors Nest premier si et seulement si pour tout ´el´ement x=pi,
i∈ {1,...,r}et x=U, on peut trouver un entier axtel que
aN1
x1mod Net (a(N1)/x
x1, N) = 1.
4. Suggestions
Plusieurs affirmations sont donn´ees sans preuve. Le candidat est invit´e
`a les d´emontrer. Il est cependant d´econseill´e d’essayer de d´emontrer qu’il
existe une infinit´e de nombres de Carmichael.
Par ailleurs, la preuve de certains th´eor`emes n’est qu’´ebauch´ee. On pourra
en fournir plus de d´etails.
Plusieurs tests sont propos´es. On pourra en impl´ementer certains et les
commenter.
On peut aussi chercher illustrer exprimentalement la proportion des bases
pour lesquelles un nombre compos est pseudo-premier.
1 / 3 100%

TESTS DE PRIMALITÉ : RABIN-MILLER ET POCKLINGTON

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !