2011/2012 L3 MFA M307 Algèbre eective et calcul formel Université Paris Sud Examen 12 avril 2012 Durée : 3 heures. Aucun document, aucun appareil électronique autorisé. La clarté et la précision de la rédaction seront pris en compte très signicativement. Question de cours On considère le pseudocode suivant Entrées : un élément a d'un anneau R et un entier n > 1. 1. A = a, N = n, r = 1. 2. Tant que N > 0 : • si N est impair on fait r = r × A, • A = A × A, • N = quotient dans la division euclidienne de N par 2. 3.Sortie : r. Que calcule cet algorithme en fonction de l'entrée (a, n) (on ne demande pas de démontrer que l'algorithme fournit bien le résultat voulu) ? Comment s'appelle cet algorithme ? Les deux exercices suivants sont indépendants. Ils utilisent les notations communes ci-dessous. Notations. On note C le corps des nombres complexes et Z l'anneau des entiers relatifs. Pour un entier n > 1, on note Z/nZ l'anneau des classes de congruence modulo n et (Z/nZ)× le groupe multiplicatif des éléments inversibles de Z/nZ. On note ϕ l'indicatrice d'Euler : il s'agit de la fonction qui à un entier n > 1 associe l'ordre de (Z/nZ)× . Enn, si p est un nombre premier, alors l'anneau Z/pZ est un corps que l'on notera Fp . n Rappel. Soit p un nombre premier impair et n un entier. Le symbole de Legendre est déni p comme suit : 0 si p | n , n = 1 si n est un carré non-nul modulo p , p −1 si n n'est pas un carré modulo p . p−1 n On rappelle le critère d'Euler : ≡ n 2 (mod p). p Exercice 1 Dans tout cet exercice, p est un nombre premier impair. On veut comprendre à quelle condition p est la somme de deux carrés dans Z et, lorsque c'est le cas, de combien de façons. On note A l'anneau Z[i] = {a + ib; a, b ∈ Z} ⊂ C. On note N : A → N l'application module au carré. Dans tout l'exercice, chaque question commence par un exposé de l'objectif visé par les sousquestions. Cet objectif peut être admis dans les questions suivantes. Les résultats d'une sous-question d'une question i ne sont jamais utilisés pour résoudre une question j avec j 6= i. 1 2011/2012 L3 MFA M307 Université Paris Sud 1. Montrer que, si p = a2 + b2 avec a et b dans Z alors p ≡ 1(mod 4). 2. En utilisant que N (zz 0 ) = N (z)N (z 0 ), montrer que les inversibles de A sont 1, −1, i et −i. 3. Le but de cette question est de montrer que A est un anneau euclidien relativement à N (i.e. pour tout (a, b) ∈ A2 il existe (q, r) ∈ A2 tel que a = bq + r et 0 6 N (r) < N (b)). On rappelle que tout anneau euclidien est factoriel. (a) Soit z et t des éléments non-nuls de A. On note a l'entier le plus proche de la partie réelle de z/t, et b l'entier le plus proche de sa partie imaginaire. On pose q = a + ib. Montrer que |z/t − q| < 1. (b) On pose r = z − qt. Montrer que q (resp. r) est le quotient (resp. le reste) de la division euclidienne de z par t dans A relativement à N . 4. Soit p un nombre premier congru à 1 modulo 4. L'objectif de cette question est de montrer que p est somme de deux carrés dans Z. (a) On note (p) := {pz; z ∈ A} l'idéal engendré par p dans A. De même, on note (X 2 + 1) l'idéal engendré par X 2 + 1 dans Fp [X]. On note π : Z → Fp la réduction modulo p. Montrer que l'application a + ib 7→ π(a) + π(b)X induit un isomorphisme d'anneaux entre A/(p) et Fp [X]/(X 2 + 1). (b) En utilisant que p ≡ 1(mod4) et le critère d'Euler, montrer que l'anneau Fp [X]/(X 2 + 1) n'est pas intègre. (c) Montrer qu'il existe x, y et z dans A tels que pz = xy et que p ne divise ni x ni y dans A. (d) En déduire que p n'est pas irréductible dans A (on utilisera que A est factoriel). (e) On note λ un facteur irréductible (en particulier, λ n'est pas inversible) de p dans A. Justier qu'il existe un élément non inversible µ ∈ A tel que p = λµ. (f) En déduire que N (λ) = p puis que p est somme de deux carrés dans Z. (On pourra commencer par appliquer la norme N à l'égalité p = λµ.) 5. On étudie maintenant de combien de façons p est somme de deux carrés. (a) Soit x un élément de A. Montrer que si N (x) est premier dans Z alors x est irréductible dans A. (b) On note a et b des entiers tels que p = a2 + b2 . Montrer que p = (a + ib)(a − ib) est une décomposition de p en produit de facteurs irréductibles dans A. En déduire l'ensemble des couples d'entiers dont la somme des carrés vaut p. Exercice 2 1. Soit n > 3 un entier impair dont la décomposition en produit de facteurs premiers s'écrit n = pα1 1 · · · pαr r . Soit a ∈ Z, on appelle symbole de Jacobi de a relativement à n la quantité a n := a p1 α1 ··· a pr αr . Montrer les formules mm0 n = m m0 n n , m m m = , nn0 n n0 pour tout (m, m0 ) ∈ Z2 , et toute paire d'entiers naturels impairs (n, n0 ) tout deux supérieurs ou égaux à 3. 2 2011/2012 L3 MFA M307 Université Paris Sud 2. Donner un exemple d'entier n > 3 ayant exactement deux facteurs premiers distincts, tel aimpair n−1 qu'il existe a ∈ Z tel que 6≡ a 2 (mod n). n 3. Dans le reste de l'exercice on étudie le test de primalité probabiliste suivant (dû à Solovay et n−1 a Strassen), basé sur le fait que l'assertion ≡ a 2 (mod n) pour tout a ∈ Z , est vraie si n n = p est un nombre premier impair mais fausse en général. Entrée : Un entier n > 3 dont on souhaite tester s'il est premier et un entier k > 1. 1. i := 1, 2. Tant que i 6 k on tire un entier uniformément au hasard a ∈ {1, . . . , n − 1}, puis : • on calcule a ; si le résultat est 0, on s'arrête et on renvoie n n'est pas premier , n a et a(n−1)/2 ; si ces quantités sont diérentes modulo n, on s'arrête et l'on • on compare n renvoie n n'est pas premier , • i := i + 1. 3. On renvoie n est probablement premier . (a) Soit n > 3 un entier impair non premier. Expliquer pourquoi l'ensemble des a ∈ {1, . . . , n − 1} mettant en défaut l'algorithme ci-dessus (i.e. les éléments a ∈ {1, . . . , n−1} ne permettant pas de détecter la non-primalité de n dans la boucle Tant que de l'étape 2) se réduit modulo n à n o n−1 a ≡ a 2 (mod n) . n (b) Montrer que G est un sous-groupe de (Z/nZ)× . Soit e l'indice de G dans (Z/nZ)× , i.e. e est le quotient de ϕ(n) par l'ordre de G. En raisonnant sur les valeurs possibles pour e, expliquer pourquoi il sut de montrer que G 6= (Z/nZ)× pour déduire qu'au moins la moitié des a ∈ (Z/nZ)× permettent de détecter correctement la non-primalité de n. G = a ∈ (Z/nZ)× ; 4. Le but de cette question est de montrer par l'absurde que G 6= (Z/nZ)× dans le cas où n est sans facteur carré. Supposons donc que G = (Z/nZ)× . n−1 (a) Justier que a 2 ≡ ±1(mod n) pour tout entier a premier à n. (b) On xe un entier a premier à n. Justier l'existence d'un entier b premier à n d'entiers premiers entre eux r > 3, s > 3 satisfaisant n = rs , b ≡ 1(mod r) , b ≡ a(mod s) . n−1 (c) Déduire que l'on a en fait a 2 ≡ 1(mod n) pour tout a premier à n. (On pourra raisonner par l'absurde en partant de 4.(a) et obtenir une contradiction en utilisant 4.(b) et l'hypothèse générale de travail de la question 4.) (d) Justier l'existence d'un nombre premier p, d'un entier q non multiple de p et d'un entier a0 tels que : n = pq , a0 pq = −1 . (On pourra commencer par justier l'existence d'un entier α et d'un facteur premier p de n tel que α p = −1 puis utiliser le théorème des restes chinois.) (e) Conclure. 5. Montrer que le test de primalité de SolovayStrassen détecte correctement la non-primalité d'un entier impair n > 3 non premier et sans facteur carré avec probabilité supérieure ou égale à 1 − 2−k . 3