Il s’agit d’un test de calcul modulaire qui permet de démontrer, sans effectuer de divisions successives, qu’un nombre donné n’est pas premier.
Démontrez un lemme
Pour tout entier naturel $n$ supérieur ou égal à $2$ vous notez $\mathscr{P}(n)$ la propriété « il existe un entier naturel $t$ et un entier naturel impair $q$ tels que $n = 2^t q$ ».
Initialisation. Pour $n=2\comma$ vous posez $t = 1$ et $q=1.$ Vous avez bien $2^t q = 2^1 \times 1 = 2 = n.$ Donc $\mathscr{P}(2)$ est vraie.
Hérédité. Soit $n$ un entier supérieur ou égal à $2.$ Supposez que $\mathscr{P}(2),\dots, \mathscr{P}(n)$ soient vraies.
Notez déjà que $n+1\geq 3.$ Si $n+1$ est impair, alors vous posez $t = 0$ et $q = n+1.$ Vous avez immédiatement $2^t q = 2^0 \times (n+1) = n+1.$
Si $n+1$ est pair, il s’ensuit que $n+1\geq 4.$ Alors $m = \frac{n+1}{2}$ est un entier supérieur ou égal à $2.$
Comme $n\geq 1$ il vient $2n \geq n+1$ et donc $\frac{n+1}{2}\leq n.$
Comme $m\in\llbracket 2, n\rrbracket$ vous appliquez l’hypothèse de récurrence. Il existe un entier naturel $t’$ et un entier naturel impair $q$ tels que $m = 2^{t’} q.$ Du coup $2m = 2^{1+t’}q$ ce qui s’écrit $n+1 = 2^{1+t’} q.$ En posant $t = 1+t’$ vous constatez que $t\in\N$ et vous avez bien $n+1 = 2^t q.$
Dans les deux cas, $\mathscr{P}(n+1)$ est vraie.
Conclusion. Par récurrence forte, il a été démontré que :
Soient $t, q, u, r$ quatre entiers naturels avec $2^t q = 2^u r$ et $q$ et $r$ impairs.
Si $t\gt u$ alors $t\geq u+1.$ En simplifiant par $2^u\comma$ vous avez $2^{t-u} q = r.$ Or, $t-u \geq 1$ donc $2^{t-u}q$ est pair. Or $r$ est impair, contradiction.
Si $u\gt t$ alors $u\geq t+1.$ En simplifiant par $2^t\comma$ vous avez $q = 2^{u-t} r.$ Or, $u-t \geq 1$ donc $2^{u-t}r$ est pair. Or $q$ est impair, contradiction.
Du coup, $u=t.$ Ainsi $2^t q = 2^t r$ et $q=r.$
En définitive l’unicité est démontrée.
Descriptif du test de Miller en base $b$
Soit $b$ un nombre entier supérieur ou égal à $2$ appelé base.
Soit $n$ un entier naturel impair supérieur ou égal à $3.$ Comme $n-1\geq 2\comma$ d’après le lemme, il existe un unique entier naturel $t$ et un unique entier naturel impair $q$ tels que $n-1 = 2^t q.$ Notez que $t=0$ entraîne $n-1 =q$ et $n-1$ serait impair donc $n$ serait pair ce qui est absurde, donc $t \geq 1.$
Vous direz que $n$ passe le test de Miller en base $b\comma$ si et seulement si :
Note. Un nombre entier impair supérieur ou égal à $3$ qui passe le test de Miller en base $b$ peut ne pas être premier. Dans ce dernier cas précis, il est qualifié de nombre pseudo-premier fort en base $b.$
L’intérêt du test de Miller réside dans le théorème ci-dessous.
Tout nombre premier $p$ impair passe le test de Miller en base $b$ dès que $b$ n’est pas multiple de $p$
Soit $b$ un nombre entier supérieur ou égal à $2$ appelé base.
Soit $p$ un nombre premier impair tel que $b$ ne soit pas un multiple de $p.$
Comme $p$ est impair, $p\geq 3$ et $p-1\geq 2.$ D’après le lemme, il existe un unique entier naturel $t$ et un unique entier naturel impair $q$ tels que $p-1 = 2^t q.$ Comme $p-1$ est pair, $t\geq 1.$
S’il existe $s\in\llbracket 0, t-1\rrbracket$ tel que $b^{2^s q}\equiv -1 \mod p$ alors $p$ passe le test de Miller en base $b.$
Si un tel entier $s$ n’existe pas, cela signifie ce qui suit :
Pour tout entier naturel $u$ vous notez $\mathscr{P}(u)$ la propriété « $b^{2^u q} \equiv 1 \mod p$ ». Vous procédez par récurrence descendante.
Initialisation. Pour $u = t$ vous cherchez à évaluer $b^{2^uq} = b^{2^tq} = b^{p-1}.$ Comme $\pgcd(b,p)$ divise $p\comma$ ce nombre vaut $1$ ou $p$ car $p$ est premier. Si $\pgcd(b,p)=p$ alors $p$ divise $b$ ce qui est absurde. Donc $\pgcd(b,p)=1.$ L’application du petit théorème de Fermat fournit $b^{p-1} \equiv 1\mod p$ ce qui prouve que $\mathscr{P}(t)$ est vraie.
Caractère descendant. Soit $u$ un nombre entier appartenant à l’intervalle $\llbracket 1, t \rrbracket.$ Supposez $\mathscr{P}(u)$ vraie.
Alors $b^{2^u q} \equiv 1 \mod p.$ Vous en déduisez que :
Donc $p$ divise le produit $\left(b^{2^{u-1} q}-1\right)\left(b^{2^{u-1} q}+1\right).$
Cependant, notez que $u-1\in\llbracket 0, t-1\rrbracket$ donc, par hypothèse, $b^{2^{u-1}q}\not\equiv -1 \mod p$ donc $p$ ne divise pas $b^{2^{u-1} q}+1.$
En utilisant le lemme d’Euclide, vous déduisez que $p$ divise $b^{2^{u-1} q}-1$ et donc $b^{2^{u-1} q}\equiv 1 \mod p.$
La propriété $\mathscr{P}(u-1)$ est vraie.
Conclusion. Il a été démontré par récurrence descendante que $\mathscr{P}(0)$ est vraie, autrement dit $b^{2^0 q} \equiv 1 \mod p$ ce qui fournit $b^{ q} \equiv 1 \mod p.$
Ainsi $p$ passe le test de Miller en base $b.$
Application : démontrez que $1387$ n’est pas un nombre premier
Tout nombre premier impair $p$ passe le test de Miller en base $b$ dès que $\pgcd(b,p)=1.$
Par contraposée, si $n$ est un nombre entier impair supérieur ou égal à $3$ de sorte que :
- il existe une base $b$ vérifiant $\pgcd(b,n)=1$
- le nombre $n$ ne passe pas le test de Miller en base $b$
alors $n$ n’est pas premier.
Note. En pratique la base $b$ est choisie pour être strictement inférieure à $n$. S’il s’avère que $\pgcd(b,n)\geq 2$ alors ce nombre est déjà un diviseur de $n$ compris entre $2$ et $n-1.$ Il est inutile de pratiquer le test de Miller puisque $n$ est déjà non premier.
Pour le nombre $n = 1387$ vous choisissez $b=2$ pour base. Comme $1387$ est impair, $\pgcd(n,b)=1.$ Vous appliquez le test de Miller à $1387$ en base $2.$
Tout d’abord :
Comme $693$ est impair, vous avez $t = 1$ et $q = 693.$ Le test se réduit donc à vérifier si $2^{693}$ est congru à $1$ ou à $-1$ modulo $1387.$
Vous évaluez $2^{693} \mod 1387.$
D’une part :
Comme $\pgcd(2, 1387)=1$ vous pouvez simplifier la congruence deux fois par $2$ grâce au théorème de Gauss, ce qui fournit :
D’autre part, vous effectuez la division euclidienne de $693$ par $18$ ce qui fournit :
Du coup :
Comme $2^{693}$ n’est ni congru à $1$ ni congru à $-1$ modulo $1387\comma$ $1387$ ne passe pas le test de Miller en base $2$ donc $1387$ n’est pas premier.
Application : démontrez que le nombre $1\,373\,653$ n’est pas premier
Il s’agit de déterminer $t$ et $q.$
Vous notez $n = 1\,373\,653$ et par suite :
Comme $343\,413$ est impair, vous avez $t=2$ et $q=343\,413.$ Le nombre $n$ passe le test de Miller en base $b$ si et seulement si $b^{343\,413}$ est congru à $1$ ou à $-1\comma$ ou si $b^{686\,826}$ est congru à $-1$ modulo $n.$
Vous choisissez $b=5$ pour base. Le chiffre des unités de $1\,373\,653$ étant $3\comma$ ce nombre n’est pas divisible par $5\comma$ qui est premier, donc $\pgcd(5, n)=1.$ Vous allez effectuer le calcul de $5^{343\,413}$ modulo $1\,373\,653.$ Pour plus de lisibilité, les congruences qui suivent sont toutes effectuées modulo $1\,373\,653.$
Vous décomposez $343\,413$ comme une somme de puissances de $2$ à l’aide de soustractions.
Cela montre que :
Vous calculez les puissances suivantes :
Puis :
Vous calculez $5^{686\,826}$ comme suit :
Comme $-1\equiv 1\,373\,652$ modulo $1\,373\,653\comma$ il a été démontré que :
Cela prouve que le nombre $1\,373\,653$ ne passe pas le test de Miller en base $5.$ Ainsi $1\,373\,653$ n’est pas un nombre premier.
Prolongements
Première partie
Soit $n$ un nombre entier impair supérieur ou égal à $3$ et strictement inférieur à $2\,047.$
Démontrez que $n$ est premier, si et seulement si, il passe le test de Miller en base $2.$
Deuxième partie
Soit $n$ un nombre entier impair supérieur ou égal à $3$ et strictement inférieur à $10\,000.$
Démontrez que $n$ est premier, si et seulement si, il passe le test de Miller en base $2$ et s’il n’appartient pas à l’ensemble $A$ suivant :
Troisième partie
Soit $n$ un nombre entier impair supérieur ou égal à $3$ et strictement inférieur à $1\,373\,653.$
Démontrez que $n$ est premier, si et seulement si, il passe le test de Miller en base $2$ et en base $3.$
