ElGamal Sicherheit
Das Diffie-Hellman Problem (CDH) ist, f ¨urg,ga,gbden Wertgab auszurechnen.
Das Diffie-Hellman Entscheidungsproblem (DDH) ist, f ¨urg,ga,gb,hzu entscheiden, obh=gaboder nicht.
Thm: Das ElGamal Verfahren ist OW-CPA sicher, wenn das Diffie-Hellman Problem schwierig ist.
Thm: Das ElGamal Verfahren ist IND-CPA sicher, wenn das Diffie-Hellman Entscheidungsproblem schwierig ist.
3 22. Juni 2004
Drei Probleme
Wir haben also drei algorithmische Probleme:
1. Diskretes Logarithmus Problem (DLP).
2. Diffie-Hellman Problem (CDH, computational DH).
3. Diffie-Hellman Entscheidungsproblem (DDH, decision DH).
Wir k ¨onnen das DDH l ¨osen, wenn wir das CDH l ¨osen k ¨onnen.
Wir k ¨onnen das CDH l ¨osen, wenn wir das DLP l ¨osen k ¨onnen.
4 22. Juni 2004
Gruppenbasierte Kryptographie
Benutzt zyklische Gruppen von (fast) Primzahlordnung:
G=hgiund#G=`=c`0mitcklein und`0prim.
∀b∈G:∃x∈Z:b=gx. Das Elementxheißt diskreter Logarithmus von bzur Basisg, ist modulo`eindeutig bestimmt.
Diskretes Logarithmus Problem (DLP): Gegebeng,bfindex.
F ¨ur geeignete Gruppen ist das DLP (vermutlich) schwer, alsox7→gx eine Einwegfunktion.
Mit zyklischen Gruppen kann man machen:
•ElGamal Verschl ¨usselung (ca. 1985)
•ElGamal, Schnorr, etc. Unterschriften (ca. 1985-1991)
•Diffie-Hellman Schl ¨usselaustausch (ca. 1976).
•vieles weitere ...
1 22. Juni 2004
ElGamal Verschl ¨usselung
Schl ¨usselerzeugung:
•W ¨ahlex∈Zmit0≤x< `−1zuf ¨allig.
•Berechney=gx.
•Der geheime Schl ¨ussel istx, der ¨offentliche Schl ¨ussel isty.
Verschl ¨usselung vonm∈G:
•W ¨ahler∈Zzuf ¨allig.
•Berechneu=grundv=myr.
•Der Chiffretext ist(u,v).
Entschl ¨usselung von(u,v)∈G×G:
•Berechnem=vu−x.
•Der Klartext istm.
2 22. Juni 2004
DLP, CDH und DDH
Weitere Verh ¨altnisse zwischen DLP, CDH und DDH (grob angedeutet):
•Es gibt keinen Algorithmus, der das CDH in allgemeinen Gruppen l ¨osen kann, auch unter der Annahme, daß das DDH leicht ist.
•Es gibt Gruppen, in denen das DDH leicht, aber das CDH (vermutlich) schwer ist.
•Es gibt Gruppen, f ¨ur die das CDH ¨aquivalent zum DLP ist.
7 22. Juni 2004
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≈√
`.
8 22. Juni 2004
ElGamal Sicherheit
Bereits betrachtet:
1. Plain ElGamal nicht NM-CPA oder OW-CCA2 sicher. Auch nicht PA. Daher Fujisaki-Okamoto Transformation verwenden. Macht aus IND-CPA sicherem Verschl ¨usselungsverfahren ein IND-CCA2 sicheres Verfahren (im Zufallsorakelmodell).
2. Vorsicht, daß wirklich IND-CPA sicher (Jacobi Symbol inFp...).
Nun:
3. Das DLP, CDH und DDH in allgemeinen Gruppen betrachten.
4. Konkrete Gruppen betrachten.
5 22. Juni 2004
DLP, CDH und DDH
Eine Numeration ist eine Injektionσ: (Z/`Z)+→ {0,1}n.
Ein generischer Algorithmus erwartet als Eingabe eine Liste von GruppenelementeL= (σ(x1), . . . ,σ(xk))und hat Zugang zu einem Orakel, welches die Werteσ(xi±xj)berechnet. Solche neu berechneten Werte werden zuLhinzugef ¨ugt.
Sei`prim.
Thm: Das DDH kann durch einen generischen AlgorithmusAbei zuf ¨alliger Numerationσund≤mOrakelanfragen anσmit von1/2um maximalm2/`abweichender Wahrscheinlichkeit gel ¨ost werden.
Laufzeit f ¨ur konstante Erfolgswahrscheinlichkeit daher mindestens exponentiell inlog(`).
6 22. Juni 2004
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.
11 22. Juni 2004
Index Calculus
Die Methoden von Shanks, Pollard und Pohlig-Hellman funktionieren in jeder Gruppe gleichermaßen (also f ¨ur Black-Box Gruppen).
Die folgende Methode ben ¨otigt mehr Information ¨uber die verwendete Gruppe.
SeiG⊆F×p der Primordnung`undg,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 mindestensi≥s+ 1mal.
•Durch Anwendung vonloggerhalten 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.
12 22. Juni 2004
Pollard rho
Analog wie beim Kollisionsfinden f ¨ur Hashfunktionen. L ¨ost DLP probabilistisch in erwarteter ZeitO(√
`)und SpeicherO(1).
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= (ui−uj)/(vj−vi) mod`, wenn(vj−vi)6= 0 mod`.
Definition vonui,vi(u0= 0,v0= 0):
•durchui=H1(bui−1gvi−1)undvi=H2(bui−1gvi−1)f ¨ur zwei unabh ¨angige HashfunktionenH1 undH2.
•oder wie folgt: ZerlegeGin disjunkte TeilmengenS1,S2,S3 und 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 .
9 22. Juni 2004
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 LaufzeitO∼(√
`0)und Speicher O(√
`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.
10 22. Juni 2004
Index Calculus
Dann gilt∑izi(uix+vi) = 0 mod`, folglichx=−(∑izivi)/(∑iziui) mod`.
Grobe Laufzeitanalyse f ¨urp→∞...
•S={p|pprim und p≤y},#S≈y/log(y).
•Prp,y= Pr(zmit1≤z<pfaktorisiert ¨uberS)≈u−uf ¨ur
u= log(p)/log(y)undu≤log(p)0.9(Glattheitswahrscheinlichkeit).
•Erwarteter Aufwand,(ei,j)i,jzu finden:≈(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,ν) = exp((ν+o(1)(log(p) log(log(p))))1/2)an.
•Matrixschritt nochLp(1/2,2), daher insgesamtLp(1/2,λ). (µ,ν,λ geeignete Konstanten).
⇒Subexponentielle Laufzeit! Pollard nurLp(1,1/2).
13 22. Juni 2004