• Keine Ergebnisse gefunden

Untere Schranken f ¨ ur das DDH

N/A
N/A
Protected

Academic year: 2022

Aktie "Untere Schranken f ¨ ur das DDH"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Untere Schranken f ¨ ur das DDH

Der Satz gilt analog f ¨ur das DLP, Erfolgswahrscheinlichkeit≤m2/ℓ.

Um konstante Erfolgswahrscheinlichkeit zu haben, ben ¨otigt man also m =Omega(√

ℓ)viele Orakelanfragen. Die Laufzeit ist demnach exponentiell inlog(ℓ).

Mit den Pollard Methoden ergibt sich im folgenden, daßO(√ ℓ)auch eine obere Schranke f ¨ur die ben ¨otigte Zeit ist, folglich ist Theta(√

ℓ) die genaue Komplexit ¨at f ¨ur generische Algorithmen bzw. Black-Box Gruppen.

3 20. Januar 2009

Shanks Baby Step Giant Step

Ist Anwendung von Meet-in-the-Middle Prinzip. L ¨ost DLP deterministisch in ZeitO(

ℓ)und SpeicherO(√ ℓ).

Schreibexmit0≤x< ℓeindeutig alsx = jm + imit0≤i<mund 0≤ j≤ℓ/m. Schreibex7→gxals(i,j)7→gjm+i.

Seieng,bgegeben undxmitb = gxgesucht.

Trenneiund j: F ¨urx = jm + igiltb/gi= gjm.

Daher linke Seite f ¨ur alleiausrechnen und speichern, dann alle jf ¨ur Kollision durchprobieren.

Zeit-optimiert f ¨urm≈√ ℓ.

4 20. Januar 2009

Untere Schranken f ¨ ur das DDH

F ¨ur konkret gegebene Gruppen gibt es keine (sinnvollen) unteren Schranken f ¨ur die Laufzeit, ein DLP zu l ¨osen. F ¨ur

”allgemeine“

Gruppen gibt es dies aber.

Eine Numeration ist eine Injektionσ: (Z/ℓZ)+→ {0,1}n.

Ein generischer Algorithmus erwartet als Eingabe eine Liste von GruppenelementenL = (σ(x1), . . . ,σ(xk))und hat Zugang zu einem Orakel, welches die Werteσ(xi±xj)berechnet. Solche neu berechneten Werte werden zuLhinzugef ¨ugt.

Alternativ kann man sich vorstellen, die Gruppe sei durch eine Klasse gegeben, und der generische Algorithmus kann nur die Methoden +,−,=, <aufrufen (sonst nichts).⇒Black-Box Gruppen.

1 20. Januar 2009

Untere Schranken f ¨ ur das DDH

Thm: Seiℓprim. Das DDH kann durch einen generischen

AlgorithmusAbei zuf ¨alliger Numerationσund≤mOrakelanfragen an σmit von1/2um maximal≈m2/ℓabweichender Wahrscheinlichkeit gel ¨ost werden.

Bew:Aerh ¨altσ(1),σ(a),σ(b),ws,w1smitw0=σ(ab),w1=σ(c),s∈ {0,1} unda,b,c∈Z/ℓZzuf ¨allig. Die durchAberechneten Elemente sind von der Formσ(Fj(a,b,c))f ¨ur

Fj(t1,t2,t3) =λj,1t1j,2t2j,3t3j,4t1t2j,5undλj,i∈Z/ℓZ.Akann nur dann Information erhalten, wennσ(Fi(a,b,c)) =σ(Fj(a,b,c))f ¨uri,jmit Fi6= Fj. Tritt dies nicht ein, hatAErfolgswahrscheinlichkeit1/2. Wir suchen also nach der Wahrscheinlichkeit, daß einGi,j= FiFjeine Nullstelle(a,b,c)hat. Diese ist gleich Null f ¨urGi,jkonstant, und gleich 1/ℓsonst. Es gibtm(m−1)/2PolynomeGi,j, und somit eine

Gesamtwahrscheinlichkeit≤m(m−1)/(2ℓ)≤m2/ℓ.

2 20. Januar 2009

(2)

Pohlig-Hellman

Idee 2 (

”Hensel Lifting“):

•Annahme#G =e,ℓprim undge= 1miteminimal.

•Dannb = gxmitx = x0+ x1ℓ+. . .xe1e1und0≤xi< ℓ.

•L ¨ose induktiv DLPsbe−1−j/ge−1−j(x0+x1ℓ+...xj−1j−1)= ge−1−jxjjinxjf ¨ur j = 0, . . . ,e−1. Sind definiert in Gruppehge−1ider Ordnungℓ.

Daher betrachten wir nur zyklische Gruppen mit

”m ¨oglichst“ primer Ordnung.

Die Verwendung nicht zyklischer Gruppen macht ebenfalls keinen Sinn, da wir nur in der vongerzeugten Untergruppe arbeiten.

7 20. Januar 2009

Generische Methoden f ¨ ur das DLP

Gruppenordnungℓ= cℓ0,ℓ0gr ¨oßter Primfaktor vonℓ.

•Shanks: deterministisch, LaufzeitO(

ℓ), SpeicherO(√ ℓ).

•Pollard rho: probabilistisch, LaufzeitO(

ℓ), SpeicherO(1).

•Pohlig-Hellman: deterministische Reduktion auf Shanks oder Pollard rho, Laufzeit poly(log(#G))√

0, SpeicherO(

0)oderO(1).

Name”rho“ wegen des Aussehens des Zufallswegs ...

Die Methoden von Shanks, Pollard und Pohlig-Hellman funktionieren in jeder Gruppe gleichermaßen (also f ¨ur Black-Box Gruppen), wobei f ¨ur Pohlig-Hellman noch die Faktorisierung der Gruppenordnung bekannt sein muß.

Laufzeit exponentiell in Bitl ¨angelog2(ℓ0).

8 20. Januar 2009

Pollard rho

Analog wie beim Kollisionsfinden f ¨ur Hashfunktionen. L ¨ost DLP probabilistisch in erwarteter ZeitO(

ℓ)und SpeicherO(1)(im RO).

Idee: Wir brauchen einen Zufallsweg (random walk) inGvon der Formbuigvimit bekanntenui,vi, welche nur vonbui−1gvi−1abh ¨angen.

Eine Kollisionbuigvi= bujgvjliefert dannbuiuj= gvjviund folglich x = (vjvi)/(uiuj) modℓ, wenn(uiuj)6= 0 modℓ.

Definition vonui,vi(u0= 0,v0= 0):

•durchui= H(bui−1gvi−1||0)undvi= H(bui−1gvi−1||1)f ¨ur eine HashfunktionH.

•oder wie folgt: ZerlegeGin disjunkte TeilmengenS1,S2,S3und definiere(ui,vi) =





(ui1,vi1+ 1) f ¨urbui1gvi1S1 (ui1+ 1,vi1) f ¨urbui1gvi1S2 (2ui1,2vi1) f ¨urbui−1gvi−1S3

.

5 20. Januar 2009

Pohlig-Hellman

Beruht auf dem Struktursatz f ¨ur endlich erzeugte, abelsche Gruppen.

L ¨ost DLP f ¨urGbeliebig zyklisch,ℓ0gr ¨oßter Primfaktor von#G, durch Shanks oder Pollard Methoden in Laufzeit poly(log(#G))√

0und SpeicherO(

0)oderO(1).

Idee 1 (chinesischer Restsatz):

•Sei#G =ri=0eii,ni= 1 modℓeiiundni= 0 modℓejjf ¨ur alle j6= i, φi: GGmitφ(z) = zni. Wegengcd{n0, . . . ,nr}= 1gilt∩iker(φi) = 1.

•Die Ordnung vonGii(G)istℓeii.

•DLP in jedemGil ¨osen (falls l ¨osbar) und mit chinesischem Restsatz zusammensetzen: Findeximitφi(b) =φi(g)xi. Dann ist x =ixinider DL.

6 20. Januar 2009

(3)

Index Calculus

BetrachteFp=Z/pZundG⊆F×p der Primordnungℓmitℓ||p−1.

InZgibt es Primfaktorisierung und nur endliche viele Primelemente beschr ¨ankter Gr ¨oße.

Seieng,bGmitb = gxundxgesucht.

•SeiS ={p1, . . . ,ps}eine Menge von Primzahlen.

•Bestimme zuf ¨allige Wertebuigvi, lifte sie nach[0,p−1]∩Zund

”faktorisiere“ sie ¨uberS. Geht dies, erhalten wirbuigvi=∏sj=1peji,j. Wiederhole dies mindestenss + 1mal.

•Durch Anwendung von

”logg“ erhalten wir die linearen Relationen uix + vi=∑sj=1ei,jlogg(pj) modℓ. Bei gen ¨ugend vielen Relationen k ¨onnen wirzinicht alle Null mit∑iziei,j= 0f ¨ur alle jausrechnen.

Dann gilt∑izi(uix + vi) = 0 modℓ, folglichx =−(∑izivi)/(∑iziui) modℓ.

11 20. Januar 2009

Index Calculus

Erinnerung Komplexit ¨atsfunktion f ¨urx→∞:

Lx(u,v) = exp((v + o(1)) log(x)ulog(log(x))1u).

Lx(1,v) = xv+o(1), also exponentiell inlog(x).

Lx(0,v) = log(x)v+o(1), also polynomiell inlog(x).

F ¨ur0<u<1spricht man von subexponentiellem Wachstum inlog(x).

Man kann mitLx(u,v)also zwischen exponentieller und polynomieller Laufzeit mitteln.

•DLP Pollard rho inF×p:Lp(1,1/2).

•Faktorisieren ganzer Zahlenn:LN(1/2,1),LN(1/3,(64/9)1/3).

12 20. Januar 2009

Methoden f ¨ ur das DDH

Die besten Algorithmen f ¨ur das DDH in Black-Box Gruppen mit Primordnung sind die Algorithmen f ¨ur das DLP (vgl. den Satz ¨uber die Schwierigkeit des DDH).

Besitzt die Gruppenordnung kleine Primfaktoren, ist das DDH im allgemeinen nicht schwer, es gibt einen Algorithmus, der die richtige Entscheidung mit Wahrscheinlichkeit signifikant>1/2f ¨allt.

Daher immer mit einer Untergruppe von großer, primer Ordnung arbeiten.

9 20. Januar 2009

Index Calculus

Das DLP in(Z/ℓZ,+)ist leicht, weil wir zus ¨atzlich die Multiplikation verwenden k ¨onnen. Dies k ¨onnen wir in einer Black-Box Gruppe nicht.

Index Calculus Algorithmen basieren auf der Tatsache, daß gewisse Gruppen Faktorgruppen von Ringen (oder auch Gruppen) mit Primfaktorisierung und endlich vielen Primelementen beschr ¨ankter Gr ¨oße sind.

Die Laufzeit dieser Algorithmen ist wesentlich besser als die der generischen Algorithmen (subexponentiell versus exponentiell).

Die unterliegende Technik von Index Calculus Algorithmen findet auch bei der Faktorisierung ganzer Zahlen Anwendung.

10 20. Januar 2009

(4)

Methoden f ¨ ur das DLP und DDH

Gruppenordnungℓ= cℓ0,ℓ0gr ¨oßter Primfaktor vonℓ. Generische Methoden (Shanks BSGS, Pollard rho, ...):

•Laufzeit poly(log(#G))√

l0, also exponentiell inlog(ℓ0).

Index Calculus Methoden f ¨urF×q mitℓ|(q−1):

•LaufzeitLq(1/3,c),cKonstante.

Daher Sicherheit im Verh ¨altnis zur Effizienz beiF×q nicht wesentlich besser als bei RSA ...

Gibt es bessere Gruppen alsF×q?

15 20. Januar 2009

Index Calculus

Grobe Laufzeitanalyse f ¨urp→∞:

S ={p|pprim und py},#Sy/log(y)(Faktorbasis, Gr ¨oße nach Primzahlsatz).

•Prp,y= Pr(zmit1≤z<pfaktorisiert ¨uberS)uuf ¨ur u = log(p)/log(y)undlog(p)0.1ulog(p)0.9(Glattheits- wahrscheinlichkeit).

•Erwarteter Aufwand,(ei,j)i,jzu finden:#S·Prp,y1(y/log(y))uu,

•also≈exp((1 + o(1))) log(y) + (log(p)/log(y)) log(log(p)/log(y))).

•Wird minimiert f ¨urlog(y) = (µ + o(1))(log(p) log(log(p)))1/2, nimmt WertLp(1/2,µ + 1/(2µ))an.

•Matrixschritt nochLp(1/2,2µ)mit schneller linearer Algebra.

Optimaler Wert f ¨ur minimale Laufzeitµ =p

1/2, daher insgesamt Lp(1/2,√

2).

⇒Subexponentielle Laufzeit! Pollard inF×p nurLp(1,1/2).

13 20. Januar 2009

Index Calculus

Index Calculus kann auch auf andere endliche K ¨orperFq mitq = pn verallgemeinert werden (Fq=Fp[t]/( f (t)),Fp[t]hat Prim-

faktorisierung).

Es gibt sogar Varianten, welche eine Laufzeit vonLq(1/3,c)haben:

•Varianten des Zahlk ¨orpersiebs und des Funktionenk ¨orpersiebs.

Auswirkung auf Sicherheit daher ¨ahnlich (ung ¨unstig) wie bei RSA.

sBit Sicherheit beiLq(u,v)Angriff ben ¨otigt≈s1/u/vBit K ¨orpergr ¨oßeq(qualitativ).

•Verdoppelung vonsf ¨uhrt also zur Verdoppelung der Bitl ¨ange im generischen Fall und zur Verachtfachung f ¨urF×q und RSA!

14 20. Januar 2009

Referenzen

ÄHNLICHE DOKUMENTE

Wir haben bereits gesehen, dass ein Quotient G/H einer topologischen Gruppe G modulo einer Untergruppe H genau dann Hausdorff ist, wenn H abgeschlossen ist.. Es stellt sich also

o Erlernen grundlegender Vortragstechniken anhand eines wissenschaftlichen Themas o angeleitetes, selbständiges Formulieren mathematischer Sachverhalte. o

Ich arbeite an einem Skript, welches ich hoffentlich gegen Ende der Vorlesungszeit zur Verfügung stellen

• Inverse Elemente: Gibt es f ¨ur nicht-leere Strings nicht.... Daher ist h

Man geht davon aus, daß das effizienteste Verfahren f ¨ur das DDH in einer Untergruppe G von großer Primzahlordnung der Punktgruppe E( F q ) einer elliptischen Kurve mit zuf ¨allig

F ¨ur konkret gegebene Gruppen gibt es keine (sinnvollen) unteren Schranken f ¨ur die Laufzeit, ein DLP zu l ¨osen.. Solche neu berechneten Werte werden zu L

Anomale Kurven sind also besonders unsicher, w ¨ahrend zum Beispiel supersingul ¨are Kurven nur eine reduzierte Sicherheit (subexponentiell) bieten und damit verwendbar bleiben..

• Inverse Elemente: Gibt es f ¨ur nicht-leere Strings nicht....