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.
3 21. Dezember 2006
Index Calculus
BetrachteFp=Z/pZundG⊆F×p der Primordnungℓ. 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 Zeilen k ¨onnen wirzinicht alle Null mit∑iziei,j= 0f ¨ur alle jausrechnen.
Dann gilt∑izi(uix + vi) = 0 modℓ, folglichx =−(∑izivi)/(∑iziui) modℓ.
4 21. Dezember 2006
Generische Methoden f ¨ ur das DLP
Gruppenordnungℓ= cℓ0,ℓ0 gr ¨oßter Primfaktor vonℓ.
•Shanks: deterministisch, LaufzeitO(√
ℓ0), SpeicherO(√ ℓ0).
•Pollard rho: probabilistisch, LaufzeitO(√
ℓ0), SpeicherO(1).
•Pohlig-Hellman: deterministische Reduktion auf Shanks oder Pollard rho, LaufzeitO (√
ℓ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).
1 21. Dezember 2006
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.
2 21. Dezember 2006
Index Calculus
Index Calculus kann auch auf andere endliche K ¨orperFqmitq = 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 ¨otigtO(s1/u/v)Bit 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.
7 21. Dezember 2006
Methoden f ¨ ur das DLP und DDH
Gruppenordnungℓ= cℓ0,ℓ0gr ¨oßter Primfaktor vonℓ. Generische Methoden (Shanks BSGS, Pollard rho, ...):
•Laufzeit Theta(√
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 beiFqnicht wesentlich besser als bei RSA ...
Gibt es bessere Gruppen alsF×q?
8 21. Dezember 2006
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).
5 21. Dezember 2006
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 (Wiedemann). Optimaler Wert f ¨ur minimale Laufzeitµ =p
1/2, daher insgesamtLp(1/2,√
2).
⇒Subexponentielle Laufzeit! Pollard nurLp(1,1/2).
6 21. Dezember 2006
Elliptische Kurven
Kurve und Gruppengesetz
6
-
Py Py
Q
y
R
y
P+Q y
11 21. Dezember 2006
Elliptische Kurven
Man geht davon aus, daß das effizienteste Verfahren f ¨ur das DDH in einer UntergruppeGvon großer Primzahlordnung der Punktgruppe E(Fq)einer elliptischen Kurve mit zuf ¨allig gew ¨ahltena,bdas Pollard rho Verfahren ist.
Eine elliptische Kurve bietet somit maximal m ¨ogliche Sicherheit im Rahmen der gruppenbasierten Kryptographie.
Probleme/Fragen:
•Ordnung von#E(K)(⇒Punkte z ¨ahlen, Kurven konstruieren).
•Spezialf ¨alle, in denenE(K)unsicher ist.
•Optimierungen in Bandbreite und Rechnen (z.B.
Punktkompression).
Im folgenden grober ¨Uberblick ...
12 21. Dezember 2006
Elliptische Kurven
F ¨ur Index Calculus muß man
”liften“ und faktorisieren k ¨onnen. Gibt es Gruppen, wo dies nicht geht bzw. wo Pollard rho die (vermutlich ) effizienteste Methode f ¨ur das DDH ist?
⇒elliptische Kurven, hyperelliptische Kurven kleinen Geschlechts.
SeiK =Fq mitq = pr undp>3.
Eine elliptische Kurve wird durch eine Gleichung gegeben:
E : Y2= X3+ aX + bmita,b∈K und4a2+ 27b36= 0.
Menge der Punkte ¨uberK:E(K) ={(x,y)∈K2|y2= x3+ ax + b} ∪ {O}. O ist formal der Punkt
”im unendlichen“.
Hasse-Weil:#E(K) = q + 1−t, wobei|t| ≤2√q.
•Heuristisch: H ¨alfte der quadratischen Gleichungen inynach Einsetzen f ¨urxhat zwei Nullstellen ink, die andere keine.
9 21. Dezember 2006
Elliptische Kurven
Man kannE(K)in eine abelsche Gruppe mit neutralem ElementO machen. Gruppengesetz wird ¨ublicherweise additiv geschrieben. Es gibt spezielle Formeln, mit der die Punkte
”addiert“ werden:
SeiP = (xP,yP),Q = (xQ,yQ)∈E(K),λ=
((yQ−yP)/(xQ−xP)f ¨urxP6= xQ, (3x2P+ a)/(2yP)f ¨urP = Q.
Dann mitxP+Q=λ2−(xP+ xQ) P + Q =
((xP+Q,−yQ−λ(xP+Q−xQ))f ¨urxP6= xQoderP = Q, O andernfalls.
Das Nachrechnen der Gruppengesetze (insbesondere Assoziativit ¨at) ist recht umst ¨andlich bzw. ben ¨otigt mehr mathematische Theorie.
Das Gruppengesetz f ¨ur elliptische Kurven ¨uberK =Rkann geometrisch veranschaulicht werden.
10 21. Dezember 2006