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.
3 9. Januar 2007
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 ...
Punkte z ¨ahlen
Zum Rechnen und wegen Pohlig-Hellman m ¨ochten wirE(K)kennen.
Wissen nur#E(K) = q + 1−t, 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 ¨ur p = O(1)).
Ist#E(K)berechnet, so kann man kleine Faktoren durch
Probedivision herausdividieren und auf den Kofaktor dann einen Primzahltest (Miller-Rabin) anwenden.
1 9. Januar 2007
Kurven konstruieren
Ein anderer Ansatz ist, elliptische Kurven so zu konstruieren, daß
#E(K)a priori bekannt ist.
Subfield Kurven:
•IstE ¨uberFq definiert 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 KurveEkonstruieren.
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).
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.
7 9. Januar 2007
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.
8 9. Januar 2007
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.
5 9. Januar 2007
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).
6 9. Januar 2007
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 alleP∈E(Fq)[ℓ].
Schreibem =∑ri=0−1miλimodℓ. Dann [m]P = [
r−1
∑
i=0miλi]P =
r−1
∑
i=0mi[λ]i(P) =
r−1
∑
i=0miφi(P)
= [m0]P + [m1]φ(P) +···+ [mr−1]φr−1(P)
=φ ··· φ φ([mr−1]P) + [mr−2]P
+ [mr−3]P
···+ [m1]P
+ [m0]P.
11 9. Januar 2007
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, ...
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.
9 9. Januar 2007
Punktvielfache
Double-and-Add als Hornerschema:
•m =∑ri=0mi2i, mi∈ {0,1}bin ¨are Entwicklung.
•[m]P = 2 ··· 2 2[mr]P + [mr−1]P
+ [mr−2]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 m−mi≡0 mod 4(dannmi+1= 0).
•Setzem = (m−mi)/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.
Orientierung
Haben bisher im Public-Key Bereich nur Verschl ¨usselung betrachtet.
Haben daf ¨ur geeignete mathematische Strukturen und ihre Eigenschaften diskutiert.
•RSA, Rabin: Restklassenringe modulon, Potenzieren als Einwegfunktionen mit Fallt ¨ur (x7→xe).
•Zyklische Gruppen von Primzahlordnung, Exponieren als Einwegfunktion ohne Fallt ¨ur (x7→gx).
Diese Strukturen und Einwegfunktionen k ¨onnen nun auch f ¨ur weitere kryptographische Aufgabenstellungen verwendet werden.
•Digitale Unterschriften.
•Schl ¨usselaustausch (von symmetrischen Schl ¨usseln).
•...
15 9. Januar 2007
Digitale Unterschriften
Auch digitale Signaturen genannt.
Nachrichten aus Nachrichtenraum:M∈M . Signaturen aus Signaturenraum:σ∈S.
Schl ¨ussel sind aus Schl ¨usselr ¨aumen:d∈K1,e∈K2. SignierungsverfahrenS : K1×M S.
VerifizierungsverfahrenV : K2×M ×S→ {0,1}.
Signatur von Nachrichtmmit Schl ¨usseld: σ←S(d,M).
Verifizierung vonM,σmit Schl ¨ussele: f ←V(e,M,σ).
e ¨offentlicher Schl ¨ussel,dprivater Schl ¨ussel.
16 9. Januar 2007
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).
13 9. Januar 2007
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.
14 9. Januar 2007
Bemerkungen
S undV sind effiziente Verfahren (z.B. Programme).
S undV d ¨urfen probabilistisch sein (d ¨urfen den Zufall verwenden).
S kann mehrdeutig sein ( ).
Im allgemeinen wird nur ein HashwertH(M)und nichtMselbt signiert.
•Effizienter, daH(M)viel k ¨urzer alsMist.
•Beweisbare Sicherheit von in der Praxis relevanten Verfahren (allerdings im Zufallsorakelmodell, RO).
Offenbar mußH kollisionsfrei sein, man kann keine zwei Nachrichten M1,M2mitH(M1) = H(M2)berechnen.
17 9. Januar 2007