• Keine Ergebnisse gefunden

Sicherheit von ElGamal

N/A
N/A
Protected

Academic year: 2022

Aktie "Sicherheit von ElGamal"

Copied!
13
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Sicherheit von ElGamal

SatzCPA-Sicherheit ElGamal

ElGamalΠist CPA-sicher unter der DDH-Annahme.

Beweis:

SeiAein Angreifer auf ElGamalΠmit Erfolgsws (n) :=Ws[PubKA,Πcpa(n) =1].

Wir konstruieren mittelsAeinen UnterscheiderDzum Unterscheiden von DDH-Instanzen

(q,g,gx,gy,g0)mitg0 =gxy oderg0=gz.

(2)

Unterscheider für DDH durch A

Algorithmus DDH-UnterscheiderD EINGABE:(q,g,gx,gy,g0)

1 Setzepk = (G,q,g,gx).

2 (m0,m1)← A(pk).

3 Wähleb∈R {0,1}und berechneb0 ← A(gy,g0·mb).

4 Fallsb0 =bAusgabe 1, sonst Ausgabe 0.

AUSGABE:

(1 wird interpretiert alsg0 =gxy 0 wird interpretiert alsg0 =gz .

(3)

DDH-Unterscheider mit Angreifer A

(1n, q, g, gx, gy, g0)

1 bedeutetg0=gxy 0 bedeutetg0=gz

UnterscheiderD

pk= (q, g, gx) (1n, pk) bR{0,1}

c= (gy, g0·mb) c Ausgabe:

(1fallsb=b0 0sonst

A

m0, m1 ∈ M (m0, m1)

b0∈ {0,1}

b0

(4)

Analyse von D

Fall 1:DDH-Tupel, d.h.g0=gxy.

c = (gy,gxy ·mb)ist identisch zu ElGamal-Chiffretexten verteilt.

D.h.Ws[D(q,g,gx,gy,gxy) =1] =Ws[PubKA,Π(n) =1] =(n).

Fall 2:kein DDH-Tupel, d.h.g0 =gz fürz ∈R Zq.

Chiffretextc= (c1,c2)ist von der Form(gy,gz·mb).

c2ist identisch verteilt zu ONETIMEELEMENT. Die erste Komponentec1ist unabhängig vonc2, d.h.

Ws[PrivKA,Π(n) =1] = 12.

Es folgtWs[D(G,q,g,gx,gy,gz) =1] =Ws[PubKA,Π(n) =1] = 12. Aus der DDH-Annahme folgt

negl(n) |Ws[D(G,q,g,gx,gy,gz) =1]Ws[D(G,q,g,gx,gy,gxy) =1]|

= 1 2(n)

.

Damit gilt(n)≤ 12+negl(n).

(5)

Parameterwahl bei ElGamal

Einbetten von Nachrichten m0 ∈ {0,1}

Beliebte Parameterwahl:Zp,p=2q+1 mitp,qprim.

D.h.pist eine sogenannte starke Primzahl.

Ziel:Konstruktion einer UntergruppeGmit Ordnungq.

QuadrierenZp→Zp,x 7→x2ist eine(2:1)-Abbildung.

Urbilderx,p−x kollidieren, genau eines ist in[p−12 ] = [q].

Wir bezeichnen den Bildraum mitQRp. QRpist Untergruppe vonZpmit Ordnungq.

Wähleng als Generator vonQRp. Sei|q|=n.

Interpretierenm0 ∈ {0,1}n−1als natürliche Zahl kleinerq.

Es giltm0+1∈[q]. Einbettung vonm0 istm= (m0+1)2modp.

Umkehren der Einbettung ist effizient berechenbar.

(6)

CPA-Sicherheit ist ungenügend

DefinitionCCA (informal)

CCA (=Chosen Ciphertext Attack)ist ein Angriff, bei dem der Angreifer sich Chiffretext seiner Wahl entschlüsseln lassen kann.

Beispielein denen CPA-Sicherheit nicht genügt:

Eve fängt verschlüsselte Emailc=Enc(m)an Bob ab.

Eve verschicktc selbst an Bob.

Bob antwortet Eve und hängt dabeiman die Antwort an.

D.h. Bob fungiert als Entschlüsselungsorakel.

Alice und Eve nehmen als Bieter an einer Auktion von Bob teil.

Alice sendet ihr Gebotc=Enc(m)verschlüsselt an Bob.

Encsoll CPA-sicher sein, d.h. Eve erhält keine Information überm.

Frage:Ist es Eve möglich,c0 =Enc(2m)ausc zu berechnen, ohnemzu kennen, und damit Alice zu überbieten? (Malleability) Es gilt: CCA-Sicherheit impliziert Non-Malleability. (ohne Beweis)

(7)

CCA Ununterscheidbarkeit

SpielCCA Ununterscheidbarkeit von ChiffretextenPubKA,Πcca(n) SeiΠein PK-Verschlüsselungsverfahren mit AngreiferA.

1 (pk,sk)←Gen(1n)

2 (m0,m1)← ADecsk(·)(pk), wobeiDecsk(·)ein Entschlüsselungs- orakel fürAfür beliebige Chiffretexte ist.

3 Wähleb∈R {0,1}. Verschlüsselec←Encpk(mb).

4 b0← ADecsk(·)(c), wobeiAbeliebige Chiffretextec0 6=cdurch das OrakelDecsk(·)entschlüsseln lassen darf.

5 PubKA,Πcca(n) =

(1 fürb=b0 0 sonst Anmerkungen:

Zusätzlich zum Verschlüsselungs-Orakel bei CPA besitztAbei CCA ein weiteres Entschlüsselungs-OrakelDecsk(·).

FallsAin Schritt 4 auchc entschlüsseln darf, ist das Spiel trivial.

(8)

PubKccaA,Π(n) (pk, sk)Gen(1n)

(1n, pk)

m01=Decsk(c01)

m0i=Decsk(c0i) bR{0,1}

c=Encpk(mb)

m0i+1=Decsk(c0i+1) m0q =Decsk(c0q) Ausgabe:

=

(1 fallsb=b0 0 sonst

A c01∈ C c01

m01 ...

c0i∈ C, iq c0i

m0i

m0, m1∈ M (m0, m1)

c

c0i+1∈ C\{c}

c0i+1 m0i+1

...

c0q ∈ C\{c}

c0q m0q

b0∈ {0,1}

b0

(9)

CCA-Sicherheit

DefinitionCCA-Sicherheit

Ein VerschlüsselungsverfahrenΠheißtCCA-sicher(bzw. besitzt ununterscheidbare Chiffretexte unter CCA), falls für alle ppt Angreifer AgiltWs[PubKA,Πcca(n) =1]≤ 12+negl(n).

(10)

CCA Angriff und Malleability von Textbuch RSA

CCA Angriffauf Textbuch RSA

Wollenc =memodN entschlüsseln.

Man beachte:cdarf nicht direkt angefragt werden.

Berechnec0=c·re= (mr)emodN fürr ∈ZN\ {1}.

Berechnemr ←Decsk(c0)mittels Entschlüsselungs-Orakel.

Berechnemr·r−1=mmodN.

Malleabilityvon Textbuch RSA

Voriger Angriff zeigt: Fürc=memodNkann die Verschlüsselung vonmr berechnet werden, ohnemselbst zu kennen.

D.h. Textbuch RSA ist malleable.

(11)

CCA Angriff und Malleability von ElGamal

Praktischer CCA-Angriffauf Padded RSA Variante PKCS #1 v1.5 Bleichenbacher Angriff: Sende adaptiv Chiffretexte an Server.

Falls die Entschlüsselung nicht das korrekte Format besitzt, sendet der Server eine Fehlermeldung zurück.

Genügt, um einen beliebigen Chiffretextc zu entschlüsseln.

CCA Angriffauf ElGamal

Ziel: Entschlüsselec = (gy,gxy ·m).

Lassec0 = (gy,gxy·m·r)fürr ∈G\ {1}entschlüsseln.

Berechnemr·r−1=m.

ElGamal ist malleable, dac0korrekte Verschlüsselung vonmr.

(12)

Cramer-Shoup Verschlüsselungsverfahren (1998)

DefinitionCramer-Shoup VerschlüsselungsverfahrenΠCS

Seinein Sicherheitsparameter.

1 Gen: (q,g1)← G(1n), wobeig1eine GruppeGder Ordnungq generiert. Wähleω,x1,x2,y1,y2,z1,z2RZq,s ∈R{0,1}nund berechneg2←g1ω,X =g1x1g2x2,Y =g1y1g2y2,Z =g1z1g2z2.

Schlüssel:pk = (q,g1,g2,X,Y,Z,s),sk = (x1,x2,y1,y2,z1,z2)

2 Enc:Für eine Nachrichtm∈Gwähle einr ∈R Zqund berechne c = (c1,c2,c3,c3) = (g1r,g2r,Zr·m,(XtY)r),mit t =Hs(c1,c2,c3)

3 Dec:Für einen Chiffretextc = (c1,c2,c3,c4)berechne m:= c3

c1z1cz22, fallsc4=c1x1t+y1c2x2t+y2 gilt.

Korrektheit: c3

cz11c2z2 = (grZr·m

1)z1(g2r)z2 = Zr·m

(gz11gz22)r =mund c1x1t+y1c2x2t+y2 = (c1x1c2x2)tc1y1c2y2 = (XtY)r =c4.

(13)

Cramer-Shoup

Satz(ohne Beweis) CCA-Sicherheit Cramer-Shoup

Wenn die DDH-Annahme gilt undHkollisionsresistent ist, dann istΠCS CCA-sicher.

Anmerkungen:

Erstes effizientes CCA-sicheres Verfahren (1998).

Chiffretexte sind 3mal so lang wie bei ElGamal.

Sicherheitsbeweis von Cramer-Shoup ist nicht-trivial.

Verbesserung: Kurosawa-Desmedt Verfahren.

Später in der Vorlesung: CCA-sichere Verfahren im sogenannten Random Oracle Modell.

Referenzen

ÄHNLICHE DOKUMENTE

wir können uns vorstellen, dass das Orakel die Antworten auf Anfragen bei Bedarf erzeugt und konsistent beantwortet.. Damit können Random Oracle durch

Problem: Müssen Orakel Dec sk (·) simulieren, ohne sk zu kennen.. Verwende dazu geschicktes Simulieren des Random

Satz Unsicherheit deterministischer Verschlüsselung Sei Π = (Gen, Enc, Dec) ein Verschlüsselungsschema mit deterministischem Enc.. CPA-Sicherheit

Es wird in diesem Zusammenhang zu zeigen sein, dass die Nationale Sicherheit als ein Kollektivsymbol betrachtet werden kann, mit dem, unter bestimmten Vor- aussetzungen,

Applied Cryptography John Willey & Sons, 1996 ISBN 0-471-11709-9 69 €. © Helmut Reiser, Institut für Informatik, LMU IT IT- -Sicherheit

© Helmut Reiser, Institut für Informatik, LMU IT IT- -Sicherheit Sicherheit 3..

© Helmut Reiser, Institut für Informatik, LMU IT IT- -Sicherheit Sicherheit

• Chosen-ciphertext Angriff (CCA1): Der Angreifer kann sich Chiffretexte aussuchen und erh ¨alt die zugeh ¨origen Klartexte. Prinzip