Quelques tests de primalité

Documents pareils
Nombres premiers. Comment reconnaître un nombre premier? Mais...

Introduction à l étude des Corps Finis

Chapitre VI - Méthodes de factorisation

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Tests de primalité et cryptographie

Cryptographie et fonctions à sens unique

Cours d arithmétique Première partie

Factorisation d entiers (première partie)

Cours arithmétique et groupes. Licence première année, premier semestre

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Groupe symétrique. Chapitre II. 1 Définitions et généralités

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Table des matières. I Mise à niveau 11. Préface

Extrait du poly de Stage de Grésillon 1, août 2010

Programme de la classe de première année MPSI

avec des nombres entiers

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

FONDEMENTS DES MATHÉMATIQUES

INF 4420: Sécurité Informatique Cryptographie II

L algorithme AKS ou Les nombres premiers sont de classe P

Licence STS mention Mathématiques Parcours Ingénieur Télécom Bretagne (ITB)

Raisonnement par récurrence Suites numériques

Moments des variables aléatoires réelles

Sites web éducatifs et ressources en mathématiques

Mathématiques Algèbre et géométrie

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

Polynômes à plusieurs variables. Résultant

Résolution d équations non linéaires

Résumé du cours d algèbre 1, Sandra Rozensztajn. UMPA, ENS de Lyon, sandra.rozensztajn@ens-lyon.fr

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Triangle de Pascal dans Z/pZ avec p premier

Correction du Baccalauréat S Amérique du Nord mai 2007

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

DOCM Solutions officielles = n 2 10.

Fonction inverse Fonctions homographiques

UNIVERSITE IBN ZOHR Faculté des sciences Agadir. Filière SMA & SMI. Semestre 1. Module : Algèbre 1

D'UN THÉORÈME NOUVEAU

Développement décimal d un réel

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Feuille TD n 1 Exercices d algorithmique éléments de correction

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

108y= 1 où x et y sont des entiers

Carl-Louis-Ferdinand von Lindemann ( )

Représentation des Nombres

1 Définition et premières propriétés des congruences

Comparaison de fonctions Développements limités. Chapitre 10

La cryptographie du futur

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Simulation de variables aléatoires

Structures algébriques

Résolution de systèmes linéaires par des méthodes directes

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

Image d un intervalle par une fonction continue

Théorème du point fixe - Théorème de l inversion locale

Cours d analyse numérique SMI-S4

Correction de l examen de la première session

Optimisation Discrète

Programmes des classes préparatoires aux Grandes Ecoles

Calculateur quantique: factorisation des entiers

Loi binomiale Lois normales

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Probabilités sur un univers fini

VI. COMPLÉMENTS SUR LES MODULES, THÉORÈME CHINOIS, FACTEURS INVARIANTS SÉANCES DU 15, 16 ET 22 OCTOBRE

Panorama de la cryptographie des courbes elliptiques

Cours de mathématiques

C f tracée ci- contre est la représentation graphique d une

Chapitre 1 : Évolution COURS

Rapport de stage de fin de première année : exemples de groupes, leur traitement par MAGMA, et applications en cryptographie

Master of Science en mathématiques

Une forme générale de la conjecture abc

I. Ensemble de définition d'une fonction

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

MATHÉMATIQUES 10 e 12 e ANNÉE

La transformée de Fourier sur un groupe fini et quelques-unes de ses applications. Elise Raphael Semestre d automne

Chapitre 2. Matrices

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

CCP PSI Mathématiques 1 : un corrigé

Géométrie des nombres et cryptanalyse de NTRU

Suites numériques 3. 1 Convergence et limite d une suite

Le produit semi-direct

Présentation du cours de mathématiques de D.A.E.U. B, remise à niveau

Continuité et dérivabilité d une fonction

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Glossaire des nombres

Annexe 1 Programmes des classes préparatoires aux Grandes Ecoles

La fonction exponentielle

Fonctions de plusieurs variables

Logique. Plan du chapitre

Université Paris-Dauphine DUMI2E 1ère année, Applications

Complément d information concernant la fiche de concordance

Algorithmique quantique : de l exponentiel au polynômial

Une introduction aux codes correcteurs quantiques

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Problème 1 : applications du plan affine

Transcription:

Quelques tests de primalité J.-M. Couveignes (merci à T. Ezome et R. Lercier) Institut de Mathématiques de Bordeaux & INRIA Bordeaux Sud-Ouest Jean-Marc.Couveignes@u-bordeaux.fr École de printemps C2 Mars 2014

Plan 1 Introduction 2 De Fermat à Miller-Rabin 3 Test de Miller-Rabin 4 Le test de Solovay-Strassen

Définition et résultats classiques Euclide, livre sept des Élément, vers -300 : définition, existence d un diviseur premier, algorithme pour pgcd et ppcm, infinité, p k+1 l k p l + 1, crible d Eratosthène, théorème fondamental de l arithmétique (preuve par Gauss), complexité linéaire pour +, quadratique pour, exponentielle pour primalité et factorisation : T = n 1/2+o(1).

Distribution des nombres premiers A 10 100 1000 10000 100000 π(a) 4 25 168 1229 9592 A/π(A) 2.5 4 5.95 8.14 10.4 log A 2.3 4.6 6.9 9.2 11.5 Théorème des nombres premiers : π(a) = p n =(1 + o(1)) n log n. Assez nombreux! A log A (1 + o(1)) et

Exponentiation Étant donné g dans G et e entier naturel, calculer g e. Maladroit g, g 2, g 3,...,g e 1, g e. T =(e 1). L algorithme d exponentiation rapide permet de calculer efficacement g e. Méthode inventée par Piṅgala dans son Chandah-sûtra (entre -450 et -250). e = 0 k K k2 k et b 0 = g, b k = bk 1 2 pour 1 k K. Puis g e b k k. 0 k K T = O(log e).

Ordre d un élément dans un groupe 0 oz Z G a g a. Trouver o? Prouver o? Si f = i pm i i et q i = f /p i et g f = 1etg q i = 1alorsf = o. Si l on a des preuves courtes de primalité, on a des preuves courtes pour l ordre d un élément dans un groupe.

Un peu d arithmétique Les propriétés de l anneau Z/nZ reflètent la factorisation de n. Si n = i pm i i alors Z/nZ i (Z/pm i i Z). Bijection effective : r i = n/p m i i et s i inverse de r i modulo p m i i (u i ) i i u i r i s i mod n. En particulier (Z/nZ) est d ordre i pm i 1 i (p i 1) donc #(Z/nZ) = n 1 n est premier. Une preuve que g mod n est d ordre n 1estunepreuvedeprimalité.

Preuves courtes de primalité Exhiber un générateur g de (Z/nZ) et une preuve que g est d ordre n 1. Exhiber la factorisation n 1 = i pm i i premiers. et une preuve que les p i sont Vérifier que g n 1 = 1etg n 1 p i = 1. PRIMES est dans NP co-np.

Ordre ou ordre exact On se donne un groupe algébrique G, e.g. groupe multiplicatif ou courbe elliptique sur Z/nZ. Soit G(Z/nZ) =(Z/nZ) ou E(Z/nZ) par exemple. On a un morphisme ρ p : G(Z/nZ) G p (Z/pZ) pour tout p n. Soit o premier à n. OnditqueA G(Z/nZ) est d ordre exact o si oa = 0 et pour tout p n l image ρ p (A) est d ordre o dans G p (Z/pZ). Autrement dit pour tout q o et p n on a o q A = 0modp.

Ordre ou ordre exact Soit n = 7 13 = 91 et G le groupe multiplicatif. 1 est d ordre 2 modulo 7 et 3 est d ordre 3 modulo 13, donc 3 2 7 +( 1) 6 13 = 36 = 55 est d ordre 6 modulo n mais pas d ordre exact 6. En revanche 3 est d ordre 6 modulo 7 et 10 est d ordre 6 modulo 13, donc 10 2 7 + 3 6 13 = 374 = 10 est d ordre exact 6. En particulier 10 2 1 et 10 3 1 sont inversibles modulo n.

Théorème (Pocklington) Test de Pocklington-Lehmer Soit n 2 un entier. Soit a (Z/nZ) d ordre exact s n. Alors n est premier. a est d ordre exact s signifie a s = 1eta i 1 est inversible pour 1 i < s (de façon équivalente a s/q 1 est inversible pour tout diviseur premier q de s). Démonstration. Soit p un diviseur premier de n. Le groupe (Z/pZ) contient a mod p. Donc s divise p 1. Donc p 1 + s > n. Donc tout diviseur premier de n est plus grand que n,etn est premier. Ce qui est difficile en pratique, c est de trouver un facteur s assez grand de n 1 qui soit produit de petits premiers. Souvent on écrit n 1 = 2m et on est bloqué.

Des premiers pour quoi faire? On va voir que PRIMES est dans P. Le problème de la factorisation ne semble pas être dans P. Fonctions asymétriques et fonctions trappes. Pour construire des groupes multiplicatifs et utiliser des logarithmes discrets. On connaît #(Z/pZ). Pour construire des corps finis et faire de la géométrie : (3x + 2y) p = 3x p + 2y p F p [x, y]. SiV est une variété algébrique sur F p on a une application F : V V.Onpeutcalculer#E(F p ).

Critère de Fermat Si n est premier alors x n = x mod n pour tout entier x et x n 1 = 1modn si (x, n) =1. Preuve 1 : on vérifie pour x = 1 et on utilise (x + y) p = x p + y p. Preuve 2 : théorème de Lagrange. Critère de composition : W n =(Z/nZ), F n associée est définie par : F n : (Z/nZ) {prime, composite} x prime si x n 1 = 1modn composite si x n 1 = 1modn On choisit x au hasard (comment?) et on calcule F n (x). Si F n (x) =composite alors n est composé. Critère de composition. Si F n (x) =prime que faire?

Critère de Fermat Combien de faux témoins? Pas trop en général. 100% pour les nombres de Carmichael exemple n = 561 = 3 11 17. Que se passe-t-il? Il y a une infinité de nombres de Carmichael d après Alford, Granville, Pomerance. Le test de Fermat n a pas de faux témoins si n est premier, mais peut avoir 100% de faux témoins pour certains nombres composés.

Théorème Le critère de Miller-Rabin Soit n 3 un entier impair et posons n 1 = 2 k mavecmimpair. Si nestpremier, alors pour tout x dans (Z/nZ), on a Démonstration. x m = 1 ou x 2i m = 1 pour un 0 i < k. (1) D après le théorème de Fermat, x n 1 1 = 0. Mais x n 1 1 =(x n 1 2 ) 2 1 =(x n 1 2 1)(x n 1 2 + 1) = (x m 1)(x m + 1)(x 2m + 1) (x 2k 1 m + 1) (Z/nZ) est un corps, donc au moins un des facteurs est nul.

Le test de Miller-Rabin Corollaire : Si l on trouve un x tel que Eq. (1) est fausse, alors n est composé. Critère de composition : W n =(Z/nZ), M n associée est définie par : M n : (Z/nZ) {prime, composite} x prime si (1) est vraie composite sinon On choisit x au hasard et on calcule M n (x). Comment? Complexité? Si M n (x) =composite alors n est composé. Critère de composition. Si M n (x) =prime que dire?

Le test de Miller-Rabin Théorème Si n est composé et impair, et s il a t facteurs premiers, alors #{x in(z/nz) : Eq. (1) est vraie} ϕ(n) 1 2 t 1. Si de plus n 15 alors 1/4. Remarque 1 : Après λ tests, la probabilité de manquer un composé est majorée par 1/4 λ. Remarque 2 : Cette majoration est presque optimale. Pour n = pq avec p = 2 a + 1, q = 4 a 1 deux premiers et a impair, n 1 = 2 a (4a + 3) et il y a beaucoup d entiers x d ordre a modulo n.

Preuve I Soit l le plus grand entier tel que 2 l divise p 1 pour tout diviseur premier p de n. Alors B = {x in (Z/nZ) : Eq. (1) est vraie} est contenu dans B = {x in (Z/nZ) : x 2l 1 m = ±1} Si x m = 1modn alors x B.Six m2i = 1 modn avec 1 i < k alors 2 i+1 divise p 1 pour tout p n. Donc l i + 1. Donc x 2l 1m =( 1) 2l i 1.

Preuve II Le nombre de x tels que x 2l 1 m = 1estleproduitsurp du nombre de solutions de x 2l 1 m = 1modp ap, Donc, pgcd((p 1)p ap 1, m 2 l 1 ) (= pgcd(p 1, m) 2 l 1 ). #{x in (Z/nZ) : x 2l 1 m = 1} = p n pgcd(p 1, m) 2 l 1. De même, le nombre de x tels que x 2l m = 1modp ap est pgcd(p 1, m) 2 l, donc le nombre de x tels que x 2l 1 m = 1 mod p ap est aussi pgcd(p 1, m) 2 l 1. Donc, #B = 2 p n pgcd(p 1, m) 2l 1, et #B ϕ(n) = 2 pgcd(p 1, m) 2 l 1 (p 1) p ap 1. p n

Preuve III Comme 2 l 1 pgcd(p 1, m) divise (p 1)/2, on a #B ϕ(n) 1 2 t 1. Enfin si t = 1, #B /ϕ(n) 1/3.

Complexité et fiabilité Si n est premier, pas de faux temoin. Si n est composé, la densité de faux témoins est 1/4 et 1/2 t 1. T =(log n) 2+(n) avec exponentiation et arithmétique rapides. Avec λ/2 tests de Miller-Rabin, pour n 15 impair, l algorithme répond prime avec probabilité 2 λ si n est composé. Le temps de calcul est (λ/2)(log n) 2+(n). Nous verrons qu il existe un algorithme qui atteint la même sécurité en temps λ 1 2 +(λ) (log n) 2+(n) si λ log n.

Symbole de Legendre Soit n 3 un entier premier. Pour a entier a n est défini par a 0 si a = 0modn. = 1 si l équation X 2 = a a deux solutions dans Z/nZ. n 1 si l équation X 2 = a n a aucune solution dans Z/nZ. On a n 1 a n = a 2 mod n. Eneffetsia = b 2 alors a n 1 2 = b n 1 = 1et le polynôme x n 1 2 1n apasplusde(n 1)/2 solutions. Cela donne une première méthode pour calculer efficacement ce symbole. Notons que a a n est un morphisme de groupes.

Loi de réciprocité quadratique Théorème Si p et q sont des premiers impairs positifs et distincts, alors 2 p p q q p =( 1) (p 1)(q 1) 4, =( 1) p2 1 1 8,et p =( 1) p 1 2.

Démonstration. Soit Φ q (x) =1 + x + + x q 1 et A(x) F p [x] un facteur irréductible de Φ q (x) modulo p. Soit L = F p [x]/a et ζ = x mod A(x) L.C estuneracineq-ième primitive de l unité dans L.Lasomme de Gauss τ = x ζ x q x F q 1 est dans L. On montre que τ 2 = q L. Donc τ est une q 1 racine carrée de q. CetteracineestdansF q p si et seulement si p 1 τ p = τ. Onvérifiequeτ p = τ. Donc q est un carré q q p modulo p si et seulement si = 1. q

Symbole de Jacobi Soit N 3entierimpairetN = i pe i i sa factorisation. Le symbole de Jacobi est x = ei x. N p i i a Dépend de x mod N. Et = 0ssipgcd(a, b) = 1. b Théorème (Gauss) 1 Pour M 3 et N 3 impairs M et M N N M =( 1) M 1 2, =( 1) (M 1)(N 1) 4. 2 M =( 1) M2 1 8,

Calcul du symbole de Jacobi Pour calculer M N on utilise alternativement trois idées remplacer M par M%N, si M est pair, sortir 2, si M est impair et < N basculer. Et même mieux. T =(log max(m, N)) 2+o(1).

Critère de Solovay-Strassen Si n 3 est premier alors pour tout x dans (Z/nZ) on a x n 1 x 2 = mod n. n L ensemble des témoins pour ce test est donc W n =(Z/nZ) et l application associée S n : (Z/nZ) {prime, composite} est définie par : S n (x) =prime ssi x n 1 2 = x n mod n.

Densité de faux témoins Si n est premier impair, pas de faux témoins. Théorème Si n est un entier impair composé, la densité de faux témoins vérifie où ϕ(n) =#(Z/nZ). {x (Z/nZ) x n 1 2 = x n mod n} 1 ϕ(n) 2, Complexité? Densité? Comparaison avec Miller-Rabin?

Bilan On a montré que PRIME est dans co RP. Montrer que PRIME est dans RP a pris beaucoup de temps. Adleman et Huang l ont montré en 1992. Rappel : RP co RP est noté ZPP. Quantités pertinentes pour un test de composition : densité µ(n), complexité T (n). Le quotient T (n) log 2 µ(n) est le prix d un bit de sécurité, ou d espérance. On obtient (log n) 2+o(1).

Résumé Complexité des algorithmes antiques Distribution des nombres premiers Exponentiation rapide Preuves courtes de l ordre d un élément Preuves courtes de primalité et de composition PRIME est dans NP co NP Ordre exact Test de Pocklington-Lehmer Tests de composition (Miller-Rabin, Solovay-Strassen) PRIME est dans co RP