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,w1−smitw0=σ(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,1t1+λj,2t2+λj,3t3+λj,4t1t2+λj,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= Fi−Fjeine 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
Pohlig-Hellman
Idee 2 (
”Hensel Lifting“):
•Annahme#G =ℓe,ℓprim undgℓe= 1miteminimal.
•Dannb = gxmitx = x0+ x1ℓ+. . .xe−1ℓe−1und0≤xi< ℓ.
•L ¨ose induktiv DLPsbℓe−1−j/gℓe−1−j(x0+x1ℓ+...xj−1ℓj−1)= gℓe−1−jxjℓjinxjf ¨ur j = 0, . . . ,e−1. Sind definiert in Gruppehgℓe−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 dannbui−uj= gvj−viund folglich x = (vj−vi)/(ui−uj) modℓ, wenn(ui−uj)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) =
(ui−1,vi−1+ 1) f ¨urbui−1gvi−1∈S1 (ui−1+ 1,vi−1) f ¨urbui−1gvi−1∈S2 (2ui−1,2vi−1) f ¨urbui−1gvi−1∈S3
.
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=0ℓeii,ni= 1 modℓeiiundni= 0 modℓejjf ¨ur alle j6= i, φi: G→Gmitφ(z) = zni. Wegengcd{n0, . . . ,nr}= 1gilt∩iker(φi) = 1.
•Die Ordnung vonGi=φi(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
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,b∈Gmitb = 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))1−u).
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
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 p≤y},#S≈y/log(y)(Faktorbasis, Gr ¨oße nach Primzahlsatz).
•Prp,y= Pr(zmit1≤z<pfaktorisiert ¨uberS)≈u−uf ¨ur u = log(p)/log(y)undlog(p)0.1≤u≤log(p)0.9(Glattheits- wahrscheinlichkeit).
•Erwarteter Aufwand,(ei,j)i,jzu finden:#S·Pr−p,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