• Aucun résultat trouvé

Sujet TD : Arithm´etique Dominique Michelucci, Universit´e de Dijon

N/A
N/A
Protected

Academic year: 2022

Partager "Sujet TD : Arithm´etique Dominique Michelucci, Universit´e de Dijon"

Copied!
3
0
0

Texte intégral

(1)

Sujet TD : Arithm´etique

Dominique Michelucci, Universit´ e de Dijon

1 PGCD et Fibonacci dans la mˆ eme gal` ere

1. Combien y a t-il d’appels r´ecursifs, ou d’´etapes lors du calcul du PGCD de Fn1 etFn, o`uFn est la suite de Fibonacci :F0= 0,F1= 1,Fn=Fn1+Fn2

pourn≥2.

2. Soitφetφ les 2 racines deX2=X+ 1,φest la plus grande. Calculerφet φ.φest appel´e le nombre d’or. Prouvez queFn=aφn+bφnpour 2 constantes a, bque vous calculerez (par exemple en consid´erantF0etF1) ; ensuite proc´edez par r´ecurrence.

3. Montrez queFn∈O(φn).

4. Vous admettrez que le PGCD de 2 nombres successifs dans la suite de Fi- bonacci est le pire des cas. Quelle est la complexit´e du nombre d’´etapes du calcul du PGCD de a, b≤N. Vous devez trouver qu’il y a O(logφN) =O(log2N) = O(logeN), car tous ces log sont proportionnels.

2 2 m´ ethodes pour calculer l’inverse de t mod P

Soitt un entier donn´e moduloP. On veut trouverxtel que tx= 1 modP. On dit quexest l’inverse det, et on le note parfoist1 ou 1/t(moduloP).

SiP est premier, alors d’apr`es le petit th´eor`eme de Fermat, pour touttnon nul,tP1= 1 modP, donct×tP2=tP1= 1, donctP2 est l’inverse det

Une autre m´ethode utilise l’algoritme ´etendu d’Euclide surtetP : il donne u, v tel que tu+P v = g o`u g est le PGCD de t et P. Si P est premier, et t r´eduit moduloP, alorsuest l’inverse det : il suffit de consid´erertu+P v= 1 moduloP, ce qui donne :tu+ 0 = 1.

Note : Ceci est coh´erent avec le fait que si (u, v, g) est une solution d’Euclide(a, b), (ie au+bv =g =gcd(a, b)), alors (u+b, v−a, g) est aussi solution, et donc u+λb, v−λa, g) aussi pourλ∈Z.

Sig est diff´erent de 1, cela signifie queP n’est pas premier.

3 Racine carr´ ee mod un nombre premier P > 2

3.1 Crit` ere d’Euler

Crit`ere d’Euler :a est un carr´e modulo P (on dit : un r´esidu quadratique) ssiaP−12 = 1 moduloP.

Remarquez que, comme x et −x = P −x ont mˆeme carr´e, la moiti´e des nombres 1,2, . . . P −1 sont des carr´es, et l’autre moiti´e des non carr´es.

1

(2)

Preuve du crit`ere d’Euler : par le petit th´eor`eme de Fermat, xp1−1 = (xP−21 −1)(xP−21 + 1) consid´er´e moduloP a p−1 racines : 1,2, . . . p−1. Les carr´es moduloP sont forc´ement racines de la partie (xP−21−1) puisque

(x2)P−21 −1 =xP1−1 est ´egal `a 0, par le thm de Fermat.

3.2 P = 3 modulo 4

SiP = 3 modulo 4 (et premier), et siaest un carr´e (ce qu’on peut d´ecider par le crit`ere d’Euler...), alors une des deux racines carr´ees deaest

x=aP+14 car :x2=aP+12 =aP−21a22 = 1×a=a

3.3 P = 1 mod 4. M´ ethode de Zassenhauss-Cantor

Si P = 1 modulo 4, il n’y a pas de formule, mais l’algorithme probabiliste suivant (qui fonctionne aussi pour P = 3 modulo 4 : yapasde raison...). Soit a un r´esidu quadratique dont on cherche la racine carr´ee. Soit x cette racine carr´ee, inconnue. On consid`ere une valeur al´eatoire t dans 1,2, . . . P −1, et on calcule (x+t)P−21; ¸ca vaut ±1 d’apr`es le petit th´eor`eme de Fermat (ou, en utilisant le crit`ere d’Euler, +1 pour un r´esidu quadratique, -1 pour un non r´esidu quadratique). Pour calculer (x+t)P−21, on r´eduit en rempla¸cantx2 par a(puisque par d´efinitionx2=a), et les calculs sont bien sˆur r´eduits moduloP. On trouve donc u, v tels que (x+t)P−21 =u+vx. Siv est diff´erent de 0, on r´esout :u+vx=±1, et on trouvex= (1−u)v1. Attention, (x+t)P−21 =±1 ... sauf quand t =−x, voir plus bas. Il faut donc toujours v´erifier quex2 =a modP, pour d´etecter cette erreur !

Exemple :P = 13, a= 10.

Avect= 5, on trouve (x+ 5)P−21 = 0 + 2x. R´esoudre 2x= 1 mod 13 donne x= 1/2 = 7, ce qui est correct : 72= 10. R´esoudre 2x=−1 = 12 mod 13 donne x= 6, qui est bien l’autre racine carr´ee de 10. Remarquer que 6+7=0 mod 13.

Avec t = 6, on obtient (x+ 6)P−21 = 7 + 12x, qui vaut ±1. Pour +1 : 7 + 12x= 1⇒x= (1−7)/12 = 6 mod 13 et en effet 62=a= 10. Pour−1 : 7 + 12x=−1 = 12⇒x= (12−7)/12 = 8 mais 82= 126=a. Probl`eme ! C’est dˆu au fait que cette valeur de t est l’oppos´e de la racine carr´ee 6 de 10 ; donc on a calcul´e (t+x)P−21 = 0P−21 = 0, et pas 1. Mais ce cas ne se produit que dans 2 cas surP. Et il donne malgr´e tout une racine correcte ; l’autre racine est l’oppos´ee de la racine correcte.

L’essai avec t = 1 ´echoue car (1 +x)P−21 = 12 + 0x, qui ne nous apprend rien.

Etudiez le casP = 13. Calculer la table desx∈1,2. . .12, et lesx2mod 13.

Calculez la racine carr´ee de 10 avec d’autres valeurs det.

Bien sˆur, il faut utiliser la m´ethode rapide pour calculer la puissance (x+ t)P−21.

2

(3)

4 Test probabiliste de primalit´ e

Si P est premier, alors pour tout anon nul modulo P,aP−21 =±1. Tester des valeurs al´eatoires deadonne un test probabiliste de primalit´e deP.

3

Références

Documents relatifs

Les plus anciennes traces des nombres premiers ont été trouvées près du lac Edouard au Zaïre sur un os (de plus de 20000 ans), l’os d’Ishango, recouvert d’entailles marquant

Ils sont ´ecrit dans `a partir d’un alphabet de 256 caract`eres le code ASCII, chaque caract`ere peut ˆetre repr´esent´e par un code, un nombre entre 0 et 255 (un entier sur 8

[r]

Le moyen le plus simple pour obtenir un grand nombre premier est de prendre au hasard un grand entier et de tester s’il est premier (test de Miller-Rabin : un algorithme tr `es

[r]

Ces deux techniques sont équivalentes, mais spécifiques à chaque type de calculatrice. • Prog 2 ne peut déterminer que le PGCD de

[r]

Écrire dans chaque case la liste des diviseurs des deux nombres pour trouver leur PGCD.. Ce quotient