Quelques tests de primalité



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

Quelques tests de primalité

Chapitre VI - Méthodes de factorisation

Introduction à l étude des Corps Finis

Factorisation d entiers (première partie)

L algorithme AKS ou Les nombres premiers sont de classe P

Cryptographie et fonctions à sens unique

La cryptographie du futur

Tests de primalité et cryptographie

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

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

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

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

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

Correction du baccalauréat ES/L Métropole 20 juin 2014

Triangle de Pascal dans Z/pZ avec p premier

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

3. Conditionnement P (B)

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe

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


Structures algébriques

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

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

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

Calcul fonctionnel holomorphe dans les algèbres de Banach

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

Calculateur quantique: factorisation des entiers

Né le 13/06/1984 Russe Célibataire Langues : Russe, Anglais,

Loi binomiale Lois normales

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

Cours de Probabilités et de Statistique

Panorama de la cryptographie des courbes elliptiques

Principe de symétrisation pour la construction d un test adaptatif

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

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

Polynômes à plusieurs variables. Résultant

Raisonnement par récurrence Suites numériques

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

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

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

Sites web éducatifs et ressources en mathématiques

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Carl-Louis-Ferdinand von Lindemann ( )

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

DOCM Solutions officielles = n 2 10.

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

Développement décimal d un réel

Trouver un vecteur le plus court dans un réseau euclidien

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

Cours d arithmétique Première partie

Cours 7 : Utilisation de modules sous python

Le produit semi-direct

Cryptographie. Cours 3/8 - Chiffrement asymétrique

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

La fonction exponentielle

Intégration et probabilités TD1 Espaces mesurés Corrigé

Exercices Corrigés Premières notions sur les espaces vectoriels

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Chapitre 7. Récurrences

Master of Science en mathématiques

ÉPREUVE COMMUNE DE TIPE Partie D

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

Résolution d équations non linéaires

FONDEMENTS DES MATHÉMATIQUES

aux différences est appelé équation aux différences d ordre n en forme normale.

Programmation linéaire

Temps et thermodynamique quantique

Cours de mathématiques

Accélérateurs logiciels et matériels pour l algèbre linéaire creuse sur les corps finis

Peut-on imiter le hasard?

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

Corrigé des TD 1 à 5

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

Tests d indépendance en analyse multivariée et tests de normalité dans les modèles ARMA

Commun à tous les candidats

Une forme générale de la conjecture abc

Simulation de variables aléatoires

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

Modèles bi-dimensionnels de coques linéairement élastiques: Estimations de l écart entre leurs solutions.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

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

Introduction à la théorie des files d'attente. Claude Chaudet

David R. Kohel. School of Mathematics and Statistics né le 27 février 1966

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

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

Chapitre 2. Matrices

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Développements limités. Notion de développement limité

Cours3. Applications continues et homéomorphismes. 1 Rappel sur les images réciproques

Programmes des classes préparatoires aux Grandes Ecoles

INF 4420: Sécurité Informatique Cryptographie II

Géométrie des nombres et cryptanalyse de NTRU

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

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

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

Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs

Transcription:

Quelques tests de primalité J.-M. Couveignes Institut de Mathématiques de Bordeaux & INRIA Bordeaux Sud-Ouest Jean-Marc.Couveignes@u-bordeaux.fr École de printemps C2 Mars 2014

Plan 1 Rappels 2 Agrawal, Kayal, Saxena 3 Courbes elliptiques

Résultats élémentaires 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, Tests de composition, PRIME est dans co RP,

Résumé Ordre exact, Test de Pocklington-Lehmer, Group replacement, Extensions galoisiennes d anneaux : propriétés, contruction, Adleman, Pomerance, Rumely, Théorème de Pomerance-Odlyzko, T =(log n) Θ log log log n, Critère galoisien de composition, Densité pgcd((p 1), m 2 l 1 )/(p 1) p n remplacée par pgcd(p d 1, p n)/(p d 1). p n

Encore un critère galoisien Théorème (Agrawal, Kayal, Saxena) Soit n 2, R= Z/nZ et (R, S,<σ >) une extension cyclique de degré d. Soit a S et σ n <σ>tels que σ n (a) =a n. Soit p n, K = Z/pZ, L= S/pS et b = a mod p. Soit Γ=<σ n, Frob p >.Si l ordre de b L est n #Γ alors n est une puissance de p. Théorème (Adleman, Pomerance, Rumely) Soit n 2, R= Z/nZ et (R, S,<σ >) une extension cyclique de degré d. Soit a S d ordre exact s n + 1 tel que σ(a) =a n. Si n est composé il admet un diviseur premier p égal à n i % s pour un 1 i d 1.

Dans L on vérifie que Soit q = n/p. Ona Donc Critère AKS a n = σ n (a) =σ t (a) et a p = Frob p (a) =σ z (a). a q = a n p a qk p l = σ t z (a). = σ k(t z)+lz (a). Il existe deux couples distincts (k 1, l 1 ) et (k 2, l 2 ) dans {0, 1, 2,..., #Γ} tels que k 1 (t z)+l 1 z = k 2 (t z)+l 2 z mod d, donc q k 1 p l 1 = q k 2 p l 2 mod n d.

Extension cyclotomique Soit n 2 un entier. Soit R = Z/nZ. Soit r 2unentierpremieret premier à n. Soit Φ r (x) =x r 1 + + x + 1 le polynôme cyclotomique et posons S = R[x]/Φ r (x). Pour tout k (Z/rZ) on définit σ k : S S par σ k (x) =x k et G = {σ k k (Z/rZ) }. σ k est un morphisme de R-algèbres, σ k ( u i x i )=u 0 u k 1 + 1 i r 2 v ix i si k = 1modr, σ k (x) x = x(x k 1 1) est une unité si k = 1 mod r.

Les trois conditions d Agrawal, Kayal et Saxena S = R[x]/Φ r (x). 1 Pour tout 0 j r 2, on a (x + j) n = x n + j, danss. 2 Pour tout 1 i < (log n/ log 2) 2, r ne divise pas n i 1; 3 Aucun des nombres premiers r ne divise n ; Si les trois conditions sont satisfaites, il existe un p n et un a dans S tel que a n = σ n (a) et b = a mod p est d ordre n #Γ dans L.Ici Donc n est une puissance de p. Γ=< n, p > (Z/rZ) = G. Le théorème des nombres premiers permet de garantir les conditions 2 et 3 pour un r = O((log n) 5 ) si n est premier. Le temps pour trouver r est polynomial. Pour vérifier la condition 1 aussi.

Existence d un élément de grand ordre 2impliquen = 1modr donc il existe p n tel que p = 1modr. K = Z/pZ, L = S/pS, H L l ensemble de u tels que u n = σ n (u). H contient les x + j pour 0 j r 2. Ils sont distincts car p > r d après la condition 3. Leurs combinaisons multiplicatives sont deux à deux distinctes. Si E 1, E 2 {0, 1,...,r 2} distincts alors j E 1 (x + j) = j E 2 (x + j) mod (Φ r, p). Donc #H 2 r 1.OrpS = p 1 p 2 p m avec mf = r 1et #(S/p i )=p f et f est l ordre de Frob p dans G =(Z/rZ). Montrons que l image K (cyclique) de H dans S/p 1 est assez grande.

Action de Galois Soit Γ le sous-groupe de G (Z/rZ) Aut(L/K) engendré par σ p et σ n.ona#γ (log n/ log 2) 2 d après 2. H σ G/Γ S/p 1S u (σ(u) mod p 1 ) σ G/Γ est une injection car σ i (u) =1modp 1 = σ i (u n )=1 = σ i (σ n (u)) = 1 = σ in (u) =1, σ i (u) =1modp 1 = σ i (u p )=1 = σ i (σ p (u)) = 1 = σ ip (u) =1. Donc #H (#K) #G #Γ et #K (#H) #Γ #G (2 r 1 ) #Γ #G = 2 #Γ =(2 #Γ ) #Γ n Γ.

Algorithme d Agrawal, Kayal et Saxena Soit n 3 un entier naturel, on pose R = Z/nZ. 1 Vérifier que n n est pas une puissance propre d un entier. 2 a. Déterminer le plus petit nombre premier r ne divisant pas n ni aucun des n i 1 pour 0 i < (log n/ log 2) 2. b. Puis vérifier que n n est divisible par aucun des premiers r. 3 Vérifier que (x + j) n = x n + j dans S = R[x]/Φ r (x), pour 0 j r 2. Si n ne passe pas les tests, il est composé. Et s il les passe tous, il est premier. r = O((log(n)) 5 ) donc T =(log n) 12+o(1).

Choix de r On cherche le plus petit premier r ne divisant pas A = n i<(log 2 (n)) 2 (n i 1). Or log A log n + log n i<(log 2 (n)) 2 i = O((log n)5 ). On peut montrer qu il existe une constant Θ telle que log l ΘL. l L Donc le plus petit nombre premier qui ne divise pas A est O((log n) 5 ).

Algorithme d Agrawal, Kayal et Saxena Donc PRIME est dans PTIME. Pas efficace. Lenstra et Pomerance proposent une variante déterministe de complexité T =(log n) 6+o(1). Les meilleures versions de Adleman, Pomerance, Rumely, sont plus efficaces en pratique. Autre ressource : le group replacement.

Test de Pocklington-Lehmer Théorème (Pocklington) 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). 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é. On a déjà remplacé Z/nZ par une extension galoisienne.

Courbe elliptique C est un groupe algébrique : l ensemble et la loi sont définis par des équations polynomiales. Si E est défini sur R on note E(R) l ensemble des sections (solutions). Si E est une courbe elliptique sur R et u un ideal de R alors ρ u : E(R) E(R/u) est un morphisme de groupes. Si R est un anneau fini alors le temps pour une opération dans E(R) est log(#r) 1+o(1). Intervalle de Hasse : si R est un corps fini d ordre q alors #E(R) [q + 1 2 q, q + 1 + 2 q]. Cet ordre se calcule en temps deterministe (log q) 5+o(1) avec l algorithme de Schoof. Si pgcd(a, b) =1alors E Z/abZ (Z/abZ) =E Z/aZ (Z/aZ) E Z/bZ (Z/bZ).

Le dessin que tout le monde attendait Y 2 Z = X 3 + axz 2 + bz 3

Ordre exact d un point Soit E une courbe sur Z/nZ et pgcd(o, n) =1. Un point A est d ordre exact o ssi 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. Théorème (Goldwasser, Kilian) Soient N un entier naturel et E une courbe elliptique sur Z/NZ. On suppose qu il existe un point A E(Z/NZ) d ordre exact s avec s > ( 4 N + 1) 2.AlorsNestpremier.

ECPP Théorème (Goldwasser, Kilian) Soient N un entier naturel et E une courbe elliptique sur Z/NZ. On suppose qu il existe un point A E(Z/NZ) d ordre exact s avec s > ( 4 N + 1) 2.AlorsNestpremier. Démonstration. Soit p un diviseur premier de n. L ordredea E(Z/pZ) est égal à s. Donc #E(Z/pZ) > ( 4 N + 1) 2.Ord aprèslabornedehasse #E(Z/pZ) ( p + 1) 2. Ainsi ( p + 1) 2 > ( 4 N + 1) 2. Par conséquent tout diviseur p de N vérifie p > N. Donc N est un nombre premier.

Première idée On choisit une courbe au hasard E modulo N. Si N est premier, le cardinal #E(Z/NZ) est un nombre dans [N + 1 2 N, N + 1 + 2 N] avec répartition presque uniforme. On le calcule avec l algorithme de Schoof comme si N était premier. Avec un peu de chance, c =#E(Z/NZ) admet un facteur s facile à factoriser et > ( 4 N + 1) 2. Soit B E(Z/NZ) aléatoire et A = c s B. C est probablement un point d ordre exact s. On le vérifie. Reste à prouver la factorisation de s récursivement.

Améliorations On ne choisit pas E au hasard mais à multiplication complexe. Plus facile de calculer le cardinal. Mais moins aléatoire... Algorithme efficace mais non prouvé. Complexité heuristique T =(log n) 4+o(1). Très efficace en pratique. Preuves courtes. Principale difficulté théorique : randomisation trop faible. Adleman et Huang : variétés abéliennes. Bonne randomisation. Prouvent que PRIME est dans RP. Inefficace.

Bilan mitigé Mais si les matières qu il traite ne sont pas nouvelles, la disposition en est nouvelle. Quand on joue à la paume, c est une même balle dont joue l un et l autre ; mais l un la place mieux. J aimerais autant qu on l accusât de se servir des mots anciens : comme si les mêmes pensées ne formaient pas un autre corps de discours par une disposition différente ; aussi bien que les mêmes mots forment d autres pensées par les différentes dispositions. Blaise Pascal

État de l art Algorithme déterministe prouvé T =(log n) 6+o(1), Algorithme Las Vegas prouvé T =(log n) 4+o(1), S =(log n) 3+o(1), Algorithme Las Vegas non-prouvé T =(log n) 4+o(1), S =(log n) 2+o(1), Un bit de sécurité Monte-Carlo T =(log n) 2+o(1), S =(log n) 1+o(1).

Bibliographie Manindra Agrawal, Neeraj Kayal, and Nitin Saxena. PRIMES is in P. Annals of Mathematics, 160(2) :781 793, 2004. Daniel J. Bernstein. Proving primality in essentially quartic random time. Mathematics of Computation, 76(257) :389 403, January 2007. F. Morain. Implementing the asymptotically fast version of the elliptic curve primality proving algorithm. Mathematics of Computation, 76(257) :493 505, January 2007. R. Schoof. Four primality testing algorithms. In Algorithmic number theory, volume 44 of Math. Sci. Res. Inst. Publ., Surveys in Number Theory, pages 101 126. Cambridge Univ. Press, Cambridge, 2008.