• Keine Ergebnisse gefunden

Index Calculus

N/A
N/A
Protected

Academic year: 2022

Aktie "Index Calculus"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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).

3 15. Januar 2008

Index Calculus

Grobe Laufzeitanalyse f ¨ur p→∞:

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 (Wiedemann). Optimaler Wert f ¨ur minimale Laufzeitµ =p

1/2, daher insgesamtLp(1/2,√

2).

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

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.

1 15. Januar 2008

Index Calculus

BetrachteFp=Z/pZundG⊆F×p der Primordnungℓ. 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 Zeilen k ¨onnen wirzinicht alle Null mit∑iziei,j= 0f ¨ur alle jausrechnen.

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

(2)

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 =Fqmitq = prundp>3.

Eine elliptische Kurve wird durch eine Gleichung gegeben:

E : Y2= X3+ aX + bmita,bK und4a3+ 27b26= 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 + 1t, wobei|t| ≤2√q.

•Heuristisch: H ¨alfte der quadratischen Gleichungen inynach Einsetzen f ¨urxhat zwei Nullstellen ink, die andere keine.

7 15. Januar 2008

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).

DannP + Q =

(O f ¨urxP= xQundyP=yQ,

(xP+Q,−yQ−λ(xP+QxQ))andernfalls, wobei xP+Q2(xP+ xQ)undλ=

((yQyP)/(xQxP)f ¨urxP6= xQ, (3x2P+ a)/(2yP)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.

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!

5 15. Januar 2008

Methoden f ¨ ur das DLP und DDH

Gruppenordnungℓ= cℓ0,ℓ0 gr ¨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 beiF×q nicht wesentlich besser als bei RSA ...

Gibt es bessere Gruppen alsF×q?

(3)

Punkte z ¨ahlen

Zum Rechnen und wegen Pohlig-Hellman m ¨ochten wirE(K)kennen.

Wissen nur#E(K) = q + 1t, und|t| ≤2√q.

Algorithmen zum Punktez ¨ahlen:

•Schoof-Elkies-Atkin (SEA),

•Satoh, AGM (Mestre),

•Dwork-Spur Formel, Deformationen (Lauder-Wan),

•Monsky-Washnitzer Kohomologie (Kedlaya).

Diese Verfahren sind polynomiell inlog(q)(SEAO(log(q)4), die anderenO(log(q)2)f ¨urp = O(1)).

Ist#E(K)berechnet, so kann man kleine Faktoren durch

Probedivision herausdividieren und auf den Kofaktor dann einen Primzahltest (Miller-Rabin) anwenden.

11 15. Januar 2008

Kurven konstruieren

Ein anderer Ansatz ist, elliptische Kurven so zu konstruieren, daß

#E(K)a priori bekannt ist.

Subfield Kurven:

•IstE ¨uberFqdefiniert und#E(Fq)bekannt, so kann man leicht

#E(Fqn)f ¨ur allenausrechnen.

Komplexe Multiplikation:

•Mit weitergehender Mathematik kann man zu vorgegebener Punktanzahl direkt eine KurveE konstruieren.

Etwas nachteilig ist hier - nur aus philosophischer Sicht -, daß die Kurven nicht zuf ¨allig gew ¨ahlt werden. Dies k ¨onnte M ¨oglichkeiten f ¨ur spezielle Angriffe er ¨offnen (nichts wesentliches bekannt).

Elliptische Kurven

Kurve und Gruppengesetz

6

-

Py Py

Q

y

R

y

P+Q y

9 15. Januar 2008

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 ...

(4)

Unsichere Spezialf ¨alle

Weil Abstieg Techniken.

•Treffen im wesentlichen nur aufq = 2nundnmit kleinen Faktoren und/oder f ¨ur spezielle elliptische Kurven zu.

•Konstruieren eine h ¨oher-geschlechtige Kurve, die aber ¨uber einem Teilk ¨orper vonFqdefiniert ist.

•Das DLP kann in die Picardgruppe dieser Kurve transferiert werden. Hierin kann man einen Index-Calculus Angriff durchf ¨uhren.

•Allgemeine Abhilfe:nprim w ¨ahlen, zuf ¨allige Kurven verwenden.

15 15. Januar 2008

Zusammenfassung Sicherheit

Kriterien f ¨ur die Sicherheit einer elliptischen Kurve:

1. Punktanzahl#E(Fq)enth ¨alt einen ausreichend großen Primfaktor ℓ, um gegen Pohlig-Hellman und Pollard rho zu sch ¨utzen.

2. Es gilt nicht#E(Fq) = q, um vor R ¨uck bzw. SmartASS Angriff zu sch ¨utzen.

3. Das kleinstekmitℓ|(qk−1)erf ¨ulltk≥20, um gegen FR-Reduktion bzw. MOV-Angriff zu sch ¨utzen.

4. Mitq = pnsolltenprim oder1sein, wegen Weil Abstieg Angriff.

Normalerweise wird nurq = 2noderq = pverwendet.

F ¨ur paarungsbasierte Kryptographie verzichtet man auf 3. (und 4.) und erh ¨alt zus ¨atzliche Funktionalit ¨at bei reduziertem

Sicherheits-Effizienz Verh ¨altnis (z.B. supersingul ¨ar undq = 3n, da dannk = 6m ¨oglich).

Unsichere Spezialf ¨alle

Multiplikativer Transfer:

•auch Frey-R ¨uck Reduktion (Menezes-Okamoto-Vanstone Angriff).

•Seiengcd{ℓ,q}= 1undµdieℓ-ten Einheitswurzeln inFqkmit ℓ|(qk−1)undkminimal.G = E(Fq)[ℓ]Untergruppe der Ordnungℓ.

•Mit Hilfe der Tate-Paarung kann man einen Isomorphismus E(Fq)[ℓ]→µdefinieren, der in Zeit poly(k log(q))berechnet werden kann.

•Man kann also ein DLP vonE(Fq)[ℓ]nachF×qktransferieren und dort subexponentiell l ¨osen.

•F ¨ur vonqunabh ¨angiges, zuf ¨alligesℓistkmeist von der Gr ¨oßenordnung wieℓ, somit der Angriff nicht durchf ¨uhrbar.

•Speziell f ¨ur supersingul ¨are Kurven (t = 0 mod p) kann man jedoch immerk≤6erreichen.

•Man sollte immer pr ¨ufen, ob zuqundℓder Exponentk≥20ist.

13 15. Januar 2008

Unsichere Spezialf ¨alle

Additiver Transfer (f ¨ur anomale Kurven, alsot = 1bzw.#E(Fq) = q):

•auch R ¨uck oder SmartASS Angriff, additive Version der FR Reduktion. Hierℓ= pund meistensq = p.

•Es gibt einen IsomorphismusE(Fq)[p]→F+p, der in poly(log(q)) berechnet werden kann.

•Man kann also ein DLP ausE(Fq)[p]nachF+ptransferieren und dort in Polynomzeit l ¨osen. Durch Iterieren erh ¨alt man auch diskrete Logarithmen inE(Fq)(wie bei Pohlig-Hellman).

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

(5)

Optimierungen

3. Punktkompression:

•F ¨urPistyPNullstelle einer quadratischen Gleichung, die nur von EundxPabh ¨angt. Da es stets nur zwei solche Nullstellen gibt, gen ¨ugt ein Bit zur Auswahl der Nullstelle.

•Speicher- u. Kommunkationsbedarf f ¨ur einen Punkt halbiert sich.

Gehen im folgenden exemplarisch etwas n ¨aher auf 2. und 3. ein.

19 15. Januar 2008

Punktvielfache

Double-and-Add als Hornerschema:

m =ri=0mi2i, mi∈ {0,1}bin ¨are Entwicklung.

[m]P = 2 ··· 2 2[mr]P + [mr1]P

+ [mr2]P

···+ [m1]P

+ [m0]P.

Invertieren effizient, verwende daher allgemeinermi∈ {0,±1}.

⇒Non-adjacent form (NAF),mimi+1= 0f ¨ur alleim ¨oglich.

Berechnung der NAF (imi-ten Schritt):

•Wennm≡0 mod 2, dannmi= 0. Ansonsten w ¨ahlemi∈ {−1,1}mit mmi≡0 mod 4(dannmi+1= 0).

•Setzem = (mmi)/2und wiederhole f ¨uri = i + 1.

NAF h ¨ochstens ein Bit l ¨anger als bin ¨are Entwicklung.

Durchschnittliche Dichte der bin ¨aren Entwicklung1/2, der NAF1/3.

Bin ¨are Entwicklung(r/2)Adds+ rDoubles, NAF(r/3)A + rD.

Zusammenfassung Sicherheit

Will man

”besonders sicher“ gehen, sollte man die elliptischen Kurven mit zuf ¨alligema,berzeugen, um keine

”speziellen“ Eigenschaften zu erzeugen.

Wie kann man jemanden davon ¨uberzeugen, daß man eine Kurve zuf ¨allig erzeugt hat? Kurve beweisbar zuf ¨allig erzeugen ...

•Man nimmt z.B.a =SHA-1(Zahl-1)undb =SHA-1(Zahl-2), wobei die Zahlen zu variieren sind, bis die resultierende Kurve einen großen Primfaktor enth ¨alt.

•Man ver ¨offentlicht dann die Zahlen-1,2 zur Berechnung vona,b.

In Standards werden die zu verwendenden Kurven h ¨aufig speziell vorgegeben (IPSec). Obiger

”Sicherheitstest“ bei RSA nicht m ¨oglich.

17 15. Januar 2008

Optimierungen

Man kann im Hinblick auf die Effizienz der erforderlichen Rechnungen inE(Fq)eine ganze Reihe von Optimierungen durchf ¨uhren.

1. Gruppengesetz:

•Verschiedene Koordinatensysteme f ¨ur Punkte und optimierte Formel f ¨ur das Gruppengesetz.

2. Punktvielfache:

•Die OperationλPist die teuerste Operation beim Verschl ¨usseln.

•Man verwendet Varianten von Double-und-Add.

• −Pkann besonders schnell ausgerechnet werden. Daher sollte man beim Double-und-Add auch Subtraktionen in Betracht ziehen.

(6)

Punktkompression

SeiP = (xP,yP)mity2P= x3P+ axP+ binFq(pungerade).

Dann istQ = (xP,−yP)ebenfalls ein Punkt aufE.

Es gibt keine weiteren Punkte mit derselbenx-KoordinatexP. GegebenxP, wie zwischenyPund−yPmit Hilfe eines Bits unterscheiden? Verschiedene M ¨oglichkeiten:

•Bit gibt an, oby-Koordinate ein Quadrat oder nicht ist (Jacobi Symbol; f ¨urq≡3 mod 4, da dann−1kein Quadrat ist).

•Bit gibt an, ob lexikographisch gr ¨oßere oder kleinerey-Koordinate zu w ¨ahlen ist.

•Praxis: F ¨urq = pw ¨ahlt man als Bit das LSB(yP)(least significant bit). F ¨ur0≤yP<pwird−yPdurch−yP+ prepr ¨asentiert.

LSB(yP) = 0⇔LSB(−yP) = 1, da pungerade. Daher klappt’s.

Speicher- und ¨Ubertragungsersparnis von ca.50%(Patentgesch ¨utzt).

23 15. Januar 2008

Parametervergleich

NIST Tabelle, Schl ¨usselgr ¨oßen bei ungef ¨ahr gleicher Sicherheit:

Block Chiffre Beispiel ECC RSA /F×q

Schl ¨usselgr ¨oße Block Chiffre Schl ¨usselgr ¨oße Schl ¨usselgr ¨oße

80 SKIPJACK 163 1024

128 AES (klein) 283 3072

192 AES (mittel) 409 7680

256 AES (groß) 571 15360

ECC mit 517 praktikabel, RSA /F×q mit 15360 nicht.

Punktvielfache

E(Fq)[ℓ]zyklisch der Ordnungℓ, φ∈End(E)durch algebraische Formeln auf Koordinaten definiert, liefert Element von End(E(Fq)).

⇒Es gibtλ∈Zmitφ(P) = [λ]Pf ¨ur allePE(Fq)[ℓ].

Schreibem =ri=01miλimodℓ. Dann [m]P = [

r1

i=0

miλi]P =

r1

i=0

mi[λ]i(P) =

r1

i=0

miφi(P)

= [m0]P + [m1]φ(P) +···+ [mr1r1(P)

=φ ··· φ φ([mr1]P) + [mr2]P

+ [mr3]P

···+ [m1]P

+ [m0]P.

21 15. Januar 2008

Punktvielfache

Finde geeignete, effizient berechenbareφ:

•Frobeniusendomorphismus(xP,yP)7→(xqP,yqP)f ¨ur Subfieldkurven

¨uberFqn.

•Endomorphismen durch komplexe Multiplkation (siehe Konstruktion).

Dann zwei Hauptf ¨alle:

r = 2,mi= O(

ℓ)⇒Benutze simultane Multiexponentiation.

r≈logd(ℓ),|mi|.d,d = O(1)⇒Benutze Horner Schema wie vorige Folie.

Liefert sogenannteφ-Entwicklungen. Weitere Methoden:

•φ-NAF, Sliding Window, ...

Referenzen

ÄHNLICHE DOKUMENTE

Mathematisches Institut der Universit¨ at M¨

b) Wie groß ist die Wahrscheinlichkeit, dass ein zuf¨ allig gew¨ ahltes Element von G ein erzeugendes Element ist.

Mathematisches Institut der Universit¨ at M¨

Mathematisches Institut der Universit¨ at M¨

Die Herzkurve ist eine in sich geschlossene Kurve, die die Form des Herzens hat. Die Herzfom ist als Spielkartenfarbe neben Pik, Kreuz und Karo bekannt. Im einfachsten Falle

Dr. Idealen, die von homogenen Polynomen erzeugt

Die Auswertung (Ziff. 3.2) zeigte jedoch, dass in den in die Untersuchungen einbezo- genen Kurven, ein bedeutender Anteil von Schleuderunfällen im Vergleich mit

Einen Beweis finden Sie in Heuser, Analysis II, Satz 177.3.. Analog zeigt man die Differenzierbarkeit von links.. Die durch γ beschriebene Kurve ist eine Kreislinie vom Radius