"un nombre" divise -types

publicité
M1 IFI, le 9 mars 2011
AKS, Log discret, etc. . .
1
Complexité des opérations arithmétiques
On rappelle la complexité des opérations arithmétiques pour des entiers sur N bits :
Opération
multiplication
division
multiplication modulaire
Notation
M (N )
D(N )
Mmod (N )
Complexité
O(N log N log log N )
O(M (N ))
O(M (N ))
Asymptotiquement, un terme en log log est négligeable devant un terme plus que logarithmique.
2
Un algorithme polynomial de test de primalité
En s’appuyant sur l’identité (1) (un dérivé du petit théorème de Fermat) Agrawal, Kayal et Saxena ont pu
construire un algorithme déterministe de test de primalité.
si pgcd(a, n) = 1,
1. Preuve
[(x − a)n ≡ (xn − a)
mod n ⇔ n premier]
(1)
de l’égalité (1)
� �
1.1. Prouvez que si n est premier, n divise les coefficients binomiaux ni pour i �= 1, n.
1.2. Si n est composé, il existe� q�premier diviseur de n. Soit q k la plus grande puissance de q qui divise n.
Montrez que q k ne divise pas nq .
1.3. Déduisez-en l’identité (1).
Dès lors que l’on dispose de l’identité (1), étant donné un entier n dont on veut décider la primalité, il
suffit de choisir P (x) = (x − a) et de vérifier si l’identité (1) est satisfaite. Cependant, cette technique est
coûteuse en temps dans le pire des cas.
L’idée qui permet d’améliorer cette complexité est d’évaluer la congruence modulo un polynôme xr − 1
pour un premier r bien choisi1 . Une itération de l’algorithme sera alors
(x − a)n ≡ (xn − a)
mod (xr − 1, n)
√
On vérifie cette nouvelle congruence pour un petit nombre de valeurs de a (de l’ordre de O( r log n)).
On dispose alors de l’algorithme suivant dont on se propose d’étudier la ligne 1.
Algorithme 1
Entrée : un entier n > 1
1. Si n est de la forme ab , b > 1 alors Retourne (n est COMPOSE) fsi
2. Trouver le plus petit r tel que l’ordre de n dans Z�r or (n) > 4�log2 n�
(or (n) est le plus petit k √
t.q. nk ≡ 1 mod r)
3. Pour a ← 1 jusqu’à 2� r log n� faire
4.
Si (x − a)n �≡ (xn − a) mod (xr − 1, n) alors Retourne (n est COMPOSE) fsi
fpour
Retourne (n est PREMIER)
1 Un
théorème de théorie des nombres garantit qu’il existe un tel r de l’ordre de O(log6 n)
1
2. Tester si un nombre est une puissance pure
Il n’est pas évident de décider en temps polynomial si n est une puissance pure (i.e. de la forme ab pour
b > 1 et a non fixé). On déduit facilement de l’algorithme d’exponentiation modulaire un algorithme de
calcul de ab en O(log n) lorsque a et b sont fixés.
2.1. Montrez que si a n’est pas donné, il est possible de retrouver sa valeur O(log2 n).
2.2. Donnez une majoration de b en fonction de log(n) et déduisez-en le nombre de valeurs de b à tester si
b n’est plus fourni en entrée.
2.3. Déduisez-en le coût d’un algorithme pour vérifier que n n’est pas une puissance pure.
3
Le logarithme discret
Depuis le résultat Primes in P, il est possible que P=NP ∩ co-NP soit vrai (pour le log. discret). On
s’intéresse ici au problème Plog qui est lui aussi dans la classe NP ∩ co-NP.
On définit la fonction log(p, r, n) comme suit : pour p premier, r un générateur du groupe et 0 < n < p,
log(p, r, n) est l’unique entier m qui vérifie rm ≡ n mod p, un problème de calcul.
3. Construction du problème de décision
On construit Plog un problème de décision à partir du problème de calcul en ajoutant t, un paramètre entier
qui minore la valeur du logarithme discret.
3.1. Formulez Plog sous la forme d’un problème de décision.
3.2. Montrez que s’il s’avérait que Plog ∈ P, on serait en mesure de calculer le logarithme discret en temps
polynomial.
4
Sécurité de la signature par El Gamal
On étudie ici quelques propriétés de la signature par El Gamal dont on rappelle brièvement le fonctionnement : on choisit k ∈ Z�p−1 aléatoire et secret, inversible dans Z�p−1 . On définit la signature du message M
comme :
sigK (M, k) = (γ, δ)
pour
4.1
γ = αk
mod p
δ = (M − aγ)k −1
mod (p − 1)
Panne de générateur aléatoire
Supposons que le générateur de nombres pseudo-aléatoires d’Alice soit tombé en panne. Alice décide
d’utiliser a, son paramètre privé, à la place.
1. Comment un indiscret qui intercepte (M, γ, δ) peut-il se rendre compte de cette panne ?
2. Comment notre indiscret peut utiliser cette panne à son avantage pour retrouver les valeurs de k et a et
casser ainsi le système de signature d’Alice ?
4.2
Variation autour d’El Gamal
Il existe plusieurs variantes à la signature d’El Gamal qui sont toutes obtenues en modifiant l’équation de
signature : δ = (M − aγ)k −1 mod (p − 1).
1. On considère l’équation de signature δ = aγ + km mod (p − 1). Montrer la validité du prédicat
Ver(M, γ, δ) = vrai ⇔ αδ = (αa )γ γ m mod p.
2
Dies ist ein WWF-Dokument und kann nicht ausgedruckt werden!
Das WWF-Format ist ein PDF, das man nicht ausdrucken kann. So einfach können unnötige Ausdrucke von
Dokumenten vermieden, die Umwelt entlastet und Bäume gerettet werden. Mit Ihrer Hilfe. Bestimmen Sie
selbst, was nicht ausgedruckt werden soll, und speichern Sie es im WWF-Format. saveaswwf.com
This is a WWF document and cannot be printed!
The WWF format is a PDF that cannot be printed. It’s a simple way to avoid unnecessary printing. So here’s
your chance to save trees and help the environment. Decide for yourself which documents don’t need
printing – and save them as WWF. saveaswwf.com
Este documento es un WWF y no se puede imprimir.
®
SAVE AS WWF, SAVE A TREE
Un archivo WWF es un PDF que no se puede imprimir. De esta sencilla manera, se evita la impresión
innecesaria de documentos, lo que beneficia al medio ambiente. Salvar árboles está en tus manos. Decide
por ti mismo qué documentos no precisan ser impresos y guárdalos en formato WWF. saveaswwf.com
Ceci est un document WWF qui ne peut pas être imprimé!
Le format WWF est un PDF non imprimable. L’idée est de prévenir très simplement le gâchis de papier afin
de préserver l’environnement et de sauver des arbres. Grâce à votre aide. Définissez vous-même ce qui n’a
pas besoin d’être imprimé et sauvegardez ces documents au format WWF. saveaswwf.com
® WWF International – World Wide Fund For Nature, Gland/Switzerland.
Téléchargement