• Keine Ergebnisse gefunden

Kryptographie II Asymmetrische Kryptographie

N/A
N/A
Protected

Academic year: 2022

Aktie "Kryptographie II Asymmetrische Kryptographie"

Copied!
170
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Kryptographie II

Asymmetrische Kryptographie

Alexander May

Fakultät für Mathematik Ruhr-Universität Bochum

Sommersemester 2011

(2)

Organisatorisches

Vorlesung: Mi 08:30–10:00 in NA 3/99 (2+2 SWS, 6 CP) Übung: Mi 10:15–11:45 in NA 5/99

Assistent: Alexander Meurer, Korrektor: Felix Heuer

Vielen Dank an Florian Giesen für das Erstellen der Graphiken.

Übungsbetrieb: jeweils abwechselnd alle 2 Wochen

Präsenzübung, Start 13. April

Zentralübung, Start 20. April Übungsaufgaben werden korrigiert.

Gruppenabgaben bis 3 Personen Bonussystem:

1/3-Notenstufe für 50%, 2/3-Notenstufe für 75%

Gilt nur, wenn man die Klausur besteht!

Klausur: 16. August 2011

(3)

Literatur

Vorlesung richtet sich nach

Jonathan Katz, Yehuda Lindell, “Introduction to Modern Cryptography”, Taylor & Francis, 2008

Weitere Literatur

S. Goldwasser, M. Bellare, “Lecture Notes on Cryptography”, MIT, online, 1996–2008

O. Goldreich, “Foundations of Cryptography – Volume 1 (Basic Tools)”, Cambridge University Press, 2001

O. Goldreich, “Foundations of Cryptography – Volume 2 (Basic Applications)”, Cambridge University Press, 2004

A.J. Menezes, P.C. van Oorschot und S.A.Vanstone, “Handbook of Applied Cryptography”, CRC Press, 1996

(4)

Erinnerung an Kryptographie I

Symmetrische Kryptographie

Parteien besitzen gemeinsamen geheimen Schlüssel.

Erlaubt Verschlüsselung, Authentifikation, Hashen, Auswerten von Pseudozufallspermutationen.

Frage: Wie tauschen die Parteien einen Schlüssel aus?

Nachteile

1 U Teilernehmer benötigen U2

= Θ(U2)viele Schlüssel.

2 Jeder Teilnehmer muss U−1 Schlüssel sicher speichern. Update erforderlich, falls Teilnehmer hinzukommen oder gelöscht werden.

3 Schlüsselaustausch funktioniert nicht in offenen Netzen.

(5)

Schlüsselverteilungs-Center (KDC)

Partielle Lösung: Verwenden vertrauenswürdige Instanz IT-Manager eröffnet Key Distribution Center (KDC).

Teilnehmer besitzen gemeinsamen, geheimen Schlüssel mit KDC.

Alice schickt Nachricht “Kommunikation mit Bob” an KDC.

Alice authentisiert Nachricht mit ihrem geheimen Schlüssel.

KDC wählt einen Session-Key k , d.h. einen neuen Schlüssel.

KDC schickt Verschlüsselung EnckA(k)an Alice.

KDC schickt Verschlüsselung EnckB(k)an Bob.

Alternativ im Needham Schröder Protokoll:

KDC schickt EnckB(k)an Alice und diese leitet an Bob weiter.

(6)

Vor- und Nachteile von KDCs

Vorteile

Jeder Teilnehmer muss nur einen Schlüssel speichern.

Hinzufügen/Entfernen eines Teilnehmers erfordert Update eines Schlüssels.

Nachteile

Kompromittierung von KDC gefährdet das gesamte System.

Falls KDC ausfällt, ist sichere Kommunikation nicht möglich.

Praktischer Einsatz von KDCs Kerberos (ab Windows 2000)

(7)

Diffie Hellman Gedankenexperiment

Szenario

Alice will eine Kiste zu Bob schicken.

Post ist nicht zu trauen, d.h. die Kiste muss verschlossen werden.

Sowohl Alice als auch Bob besitzen ein Schloss.

Algorithmus 3-Runden Diffie-Hellman Austausch

1 Alice sendet die Kiste an Bob, verschlossen mit ihrem Schlüssel.

2 Bob sendet die Kiste zurück, verschlossen mit seinem Schlüssel.

3 Alice entfernt ihr Schloss und sendet die Kiste an Bob.

4 Bob entfernt sein Schloss und öffnet die Kiste.

Beobachtung: Viele Funktionen sind inherent asymmetrisch.

Zudrücken eines Schlosses ist leicht, Öffnen ist schwer.

Multiplizieren von Zahlen ist leicht, Faktorisieren ist schwer.

Exponentieren von Zahlen ist leicht, dlog ist (oft) schwer.

(8)

Diffie Hellman Gedankenexperiment

Alice

A

A B

Bob

A B

B

(9)

Diffie-Hellman Schlüsselaustausch (1976)

Szenario:

Alice und Bob verwenden öffentlichen Kanal.

Ziel: Beide wollen einen zufälligen Bitstring k austauschen.

Angreifer ist passiv, d.h. kann nur lauschen, nicht manipulieren.

Systemparameter:

Sicherheitsparameter 1n

Schlüsselerzeugung(G,q,g)← G(1n)

Gist probabilistischer polynomial-Zeit (in n) Algorithmus

G ist multiplikative Gruppe mit Ordnung q und Generator g.

(10)

2-Runden Diffie-Hellman Schlüsselaustausch

Protokoll 2-Runden Diffie-Hellman Schlüsselaustausch

1 Alice: Wähle xRZq. Sende h1=gx an Bob.

2 Bob: Wähle yRZq. Sende h2=gy an Alice.

3 Alice: Berechne kA =hx2.

4 Bob: Berechne kB =hy1. Alice x∈RZq

h1 :=gx h1

kA:=hx2

Bob

y∈RZq

h2 :=gy h2

kB:=hy1

(11)

Korrektheit und Schlüsselerzeugung

Korrektheit: kA=kB

Alice berechnet Schlüssel kA=hx2 = (gy)x =gxy. Bob berechnet Schlüssel kB =hy1 = (gx)y =gxy. Schlüsselerzeugung:

Gemeinsamer Schlüssel kA=kBG ist ein Gruppenelement, kein Zufallsstring k ∈ {0,1}m.

Konstruktion von Zufallsstring mittels sog. Zufallsextraktoren.

Sei kA ein zufälliges Gruppenelement aus G.

Zufallsextraktor liefert bei Eingabe kAeinen Schlüssel k ∈ {0,1}m, ununterscheidbar von einem Zufallsstring derselben Länge.

Übung: Schlüssel k + sichere symmetrische Verschlüsselung liefert zusammen ein beweisbar sicheres Verfahren.

(12)

Spiel zur Unterscheidung des Schlüssels

Spiel Schlüsselaustausch KEA,Π(n)

SeiΠein Schlüsselaustausch Protokoll für Gruppenelemente aus G.

SeiAein Angreifer fürΠ.

1 (k0,trans)←Π(n), wobei k0der gemeinsame Schlüssel undtrans der Protokollablauf ist.

2 Wähle k1R {0,1}n und bR{0,1}.

3 b← A(trans,kb). Ausgabe

(1 fallsb =b 0 sonst . Agewinnt, falls KEA,Π(n) =1.

D.h.Agewinnt, falls er erkennt, welches der korrekte Schlüssel k des ProtokollsΠund welches der zufällige Schlüssel kR G ist.

Akann trivialerweise mit Ws 12 gewinnen. (Wie?)

(13)

Spiel zur Unterscheidung des Schlüssels

KEA,Π(n) (trans, k0)Π(n)

k1R{0,1}n bR{0,1}

(trans, kb)

Ausgabe:

=

(1 fallsb=b 0 sonst

A

b ∈ {0,1}

b

(14)

Sicherheit Schlüsselaustausch

Definitionnegl(n) Erinnerung aus Krypto I Eine Funktion f :N→R+heißt vernachlässigbar, falls für jedes

Polynom p(n)und alle hinreichend großen n gilt f(n)< p(n)1 .

Notation: Wir bezeichnen eine bel. vernachlässigbare Fkt mitnegl(n).

Bsp:

1 2n, 1

2n, nlog log n1 sind vernachlässigbar.

1

2O(log n) ist nicht vernachlässigbar.

Es gilt q(n)·negl(n) =negl(n)für jedes Polynom q(n).

Definition Sicherheit Schlüsselaustausch

Ein Schlüsselaustausch ProtokollΠist sicher gegen passive Angriffe, falls für alle probabilistischen Polynomialzeit (ppt) AngreiferAgilt Ws[KEA,Π(n) =1]≤ 12+negl(n).

Der Wsraum ist definiert über die zufälligen Münzwürfe vonAundΠ.

(15)

dlog Problem

Definition Diskrete Logarithmus (dlog) Annahme

Das Diskrete Logarithmus Problem ist hart bezüglichG, falls für alle ppt AlgorithmenAgilt

|Ws[A(g,q,gx) =x]| ≤negl.

Der Wsraum ist definiert bezüglich der zufälligen Wahl von x ∈Zqund der internen Münzwürfe vonAundG.

dlog Annahme: Das dlog Problem ist hart bezüglichG.

Unter der dlog Annahme können die geheimen Schlüssel x,y bei Diffie-Hellman nur mit vernachlässigbarer Ws berechnet werden.

D.h. die dlog Annahme ist eine notwendige Sicherheitsannahme.

Problem: Die Berechnung von gxy aus gx,gy könnte einfach sein.

(16)

CDH Problem

Definition Computational Diffie-Hellman (CDH) Annahme Das Computational Diffie-Hellman Problem ist hart bezüglichG, falls für alle ppt AlgorithmenAgiltWs[A(g,q,gx,gy) =gxy]≤negl.

Wsraum: zufällige Wahl von x,yRZq, interne Münzwürfe vonA,G.

CDH Annahme: Das CDH Problem ist hart bezüglichG.

Unter der CDH-Annahme kann ein DH-Angreifer Eve den Schlüssel kA=gxy nur mit vernachlässigbarer Ws berechnen.

Problem:

Sei CDH schwer, so dass Angreifer Eve kAnicht berechnen kann.

Benötigen aber, dass kAein zufälliges Gruppenelement in G ist.

Unterscheiden von gxy und gz,zRZqkönnte einfach sein.

(17)

DDH Problem

Definition Decisional Diffie-Hellman (DDH) Annahme

Das Decisional Diffie-Hellman Problem ist hart bezüglichG, falls für alle ppt AlgorithmenAgilt

|Ws[A(g,q,gx,gy,gxy) =1]−Ws[A(g,q,gx,gy,gz) =1]| ≤negl.

Wsraum: zufällige Wahl von x,y,zRZq, interne Münzwürfe vonA,G.

DDH Annahme: Das DDH Problem ist hart bezüglichG.

Unter der DDH-Annahme kann Eve den DH-Schlüssel gxy nicht von einem zufälligen Gruppenelement unterscheiden.

(18)

Sicherheitsbeweis des DH-Protokolls

Satz Sicherheit des Diffie-Hellman Protokolls

Unter der DDH-Annahme ist das DH-ProtokollΠsicher gegen passive AngreiferA.

Beweis: Es giltWs[KEA,Π(n) =1]

= 1

2·Ws[KEA,Π(n) =1|b=0] + 1

2·Ws[KEA,Π(n) =1|b=1]

= 1

2·Ws[A(G,g,q,gx,gy,gxy) =0] + 1

2·Ws[A(G,g,q,gx,gy,gz) =1]

= 1

2·(1Ws[A(G,g,q,gx,gy,gxy) =1]) +1

2Ws[A(G,g,q,gx,gy,gz) =1]

= 1

2+1

2·(Ws[A(G,g,q,gx,gy,gz) =1]Ws[A(G,g,q,gx,gy,gxy) =1])

1 2+1

2· |Ws[A(G,g,q,gx,gy,gxy) =1]Ws[A(G,g,q,gx,gy,gz) =1]|

1 2+1

2·negl(n) = 1

2 +negl(n) nach DDH-Annahme.

(19)

Public-Key Verschlüsselung

Szenario: Asymmetrische/Public Key Verschlüsselung

Schlüsselpaar (pk,sk ) aus öffentlichem/geheimem Schlüssel.

Verschlüsselung Encpk ist Funktion des öffentlichen Schlüssels.

Entschlüsselung Decsk ist Funktion des geheimen Schlüssels.

pk kann veröffentlicht werden, z.B. auf Webseite, Visitenkarte.

pk kann über öffentlichen (authentisierten) Kanal verschickt werden.

Vorteile:

Löst Schlüsselverteilungsproblem.

Erfordert die sichere Speicherung eines einzigen Schlüssels.

Nachteil:

Heutzutage deutlich langsamer als sym. Verschlüsselung.

(20)

Public-Key Verschlüsselung

Definition Public-Key Verschlüsselung

Ein Public-Key Verschlüsselungsverfahren ist ein 3-Tupel Π = (Gen,Enc,Dec)von ppt Algorithmen mit

1 Gen:(pk,sk)←Gen(1n), wobei pk der öffentliche und sk der geheime Schlüssel ist. Beide Schlüssel besitzen Länge mind. n.

2 Enc: Für eine Nachricht m∈ Mund Schlüssel pk berechne cEncpk(m).

3 Dec: Für einen Chiffretext c ∈ C und Schlüssel sk berechne m:=Decsk(c).

Es giltWs[Decsk(Encpk(m)) =m] =1−negl(n).

(21)

Ununterscheidbarkeit von Chiffretexten

Spiel CPA Ununterscheidbarkeit von Chiffretexten PubKA,Πcpa(n) SeiΠein PK-Verschlüsselungsverfahren undAein Angreifer.

1 (pk,sk)Gen(1n)

2 (m0,m1)← A(pk)

3 Wähle bR {0,1}. b ← A(Encpk(mb)).

4 PubKA,Πcpa(n) =

(1 fürb=b 0 sonst

Man beachte, dassAOrakelzugriff auf Encpk besitzt.

D.h.Akann sich beliebig gewählte Klartexte verschlüsseln lassen.

(chosen plaintext attack = CPA)

(22)

CPA-Spiel

PubKcpaA,Π(n)

(pk, sk)Gen(1n) (1n, pk) bR{0,1}

c=Encpk(mb) c

Ausgabe:

=

(1 fallsb=b 0 sonst

A m0, m1∈ M (m0, m1)

b ∈ {0,1}

b

(23)

CPA Sicherheit

Definition CPA Sicherheit von Verschlüsselung

Ein PK-VerschlüsselungsverfahrenΠ = (Gen,Enc,Dec)heißt

CPA-sicher, d.h.Πbesitzt ununterscheidbare Verschlüsselungen unter CPA, falls für alle pptAgilt

Ws[PubKA,Πcpa(n) =1]≤ 12+negl(n).

Übung: UnbeschränkteAkönnen das Spiel PubKA,Πcpa(n)mit Ws 1−negl(n)gewinnen.

(24)

Unsicherheit deterministischer Verschlüsselung

Satz Deterministische Verschlüsselung

Deterministische PK-Verschlüsselung ist unsicher gegenüber CPA.

Beweis:

Akann sich Encpk(m0)und Encpk(m1)selbst berechnen.

D.h. ein AngreiferAgewinnt PubKA,Πcpa(n)mit Ws 1.

(25)

Mehrfache Verschlüsselung

Spiel Mehrfache Verschlüsselung PubKA,Πmult(n)

SeiΠein PK-Verschlüsselungsverfahren undAein Angreifer.

1 (pk,sk)Gen(1n)

2 (M0,M1)← A(pk), wobei Mi = (mi1, . . . ,mit),i =0,1 und

|m0j|=|m1j|für j ∈[t].

3 Wähle bR {0,1}. b ← A(Encpk(m1b), . . . ,Encpk(mbt)).

4 PubKA,Πmult(n) =

(1 fürb =b 0 sonst .

Definition CPA Sicherheit von mehrfacher Verschlüsselung Ein PK-VerschlüsselungsverfahrenΠ = (Gen,Enc,Dec)heißt mult-CPA sicher, d.h. besitzt ununterscheidbare mehrfache Verschlüsselungen unter CPA, falls für alle pptAgilt Ws[PubKA,Πmult(n) =1]≤ 12+negl(n).

(26)

multCPA-Spiel

PubKmult−cpaA,Π (n)

(pk, sk)Gen(1n) (1n, pk) bR{0,1}

cj=Encpk

mjb

C= (c1,· · ·, ct) C Ausgabe:

=

(1 fallsb=b 0 sonst

A

Mi= (m1i,· · ·, mti), i= 0,1

mj0

=

mj1

∀j, mji ∈ M (M0, M1)

b∈ {0,1}

b

(27)

Sicherheit mehrfacher Verschlüsselung

Satz Sicherheit mehrfacher Verschlüsselung (analog zu Krypto I) SeiΠein PK-Verschlüsselungsschema.Πist mult-CPA sicher gdwΠ CPA sicher ist.

Beweis “⇐”: Für t=2.

Ein AngreiferAgewinnt das Spiel PubKA,Πmult(n)mit Ws

1

2Ws[A(Encpk(m10),Encpk(m02)) =0] +1

2Ws[A(Encpk(m11),Encpk(m21)) =1].

Daraus folgtWs[PubKA,Πmult(n)] + 12 =

1

2Ws[A(Encpk(m10),Encpk(m02)) =0] +1

2Ws[A(Encpk(m11),Encpk(m21)) =1]

+ 1

2

Ws[A(Encpk(m10),Encpk(m21)) =0] +Ws[A(Encpk(m10),Encpk(m21)) =1]

Ziel: Zeigen, dassWs[PubKA,Πmult(n)] + 12 ≤1+negl(n).

(28)

Betrachten der Hybride

Lemma

1

2Ws[A(Encpk(m10),Encpk(m02)) =0] +12Ws[A(Encpk(m10),Encpk(m21)) =1]12+negl(n).

Beweis: SeiAAngreifer für einfache Verschlüsselungen.

A versucht mittelsAdas Spiel PubKAcpa(n)zu gewinnnen.

Strategie von Angreifer A

1 A gibt pk anAweiter.

2 (M0,M1)← A(pk)mit M0= (m10,m20)und M1= (m11,m21).

3 A gibt(m20,m12)aus.A erhält Chiffretext c(b) =Encpk(m2b).

4 b← A(Encpk(m01),c(b)).

5 A gibt Bit b aus.

Ws[A(Encpk(m20)) =0] =Ws[A((Encpk(m10),Encpk(m20)) =0]und Ws[A(Encpk(m21)) =1] =Ws[A((Encpk(m10),Encpk(m21)) =1].

(29)

Strategie des Angreifers bei Hybriden

PubKcpaA(n)

(pk, sk)Gen(1n) (1n, pk) bR{0,1}

c=Encpk m2b

c Ausgabe:

=

(1 fallsb=b 0 sonst

A

(1n, pk) (m20, m21)

c:=Encpk m10

(c, c)

b

A

M0= (m10, m20) M1= (m11, m21) mji ∈ M, ∀i, j (M0, M1)

b∈ {0,1}

b

(30)

Fortsetzung Hybridtechnik

Beweis(Fortsetzung):

CPA Sicherheit vonΠbei einzelnen Nachrichten impliziert 1

2+negl(n) ≥ Ws[PubKAcpa(n) =1]

= 1

2Ws[A(Encpk(m20)) =0] +1

2Ws[A(Encpk(m21)) =1

= 1

2Ws[A((Encpk(m01),Encpk(m02)) =0] + 1

2Ws[A((Encpk(m01),Encpk(m12)) =1] Lemma

Analog kann gezeigt werden, dass 1

2+negl(n) ≥ 1

2Ws[A((Encpk(m10),Encpk(m21)) =0] + 1

2Ws[A((Encpk(m11),Encpk(m21)) =1]

Daraus folgtWs[PubKA,Πmult(n)] + 12 ≥1+negl(n). Satz fürt=2

(31)

Von fester zu beliebiger Nachrichtenlänge

Beweistechnik für allgemeines t: Definiere für i ∈[t]Hybride C(i)= (Encpk(m01), . . . ,Encpk(mi0),Encpk(m1i+1), . . . ,Encpk(mt1)).

Ws[PubKA,Πmult(n) =1] = 12·Ws[A(C(t)) =0] +12·Ws[A(C(0)=1].

A unterscheidet Encpk(m0i)und Encpk(m1i)für zufälliges i ∈[t].

Entspricht dem Unterscheiden von C(i)und C(i−1). Liefert Pr[PubKA,Πmult(n)]≤ 12+t·negl(n) Satz. Von fester zu beliebiger Nachrichtenlänge

SeiΠein Verschlüsselungsverfahren mit Klartexten aus{0,1}n. Splitte m∈ {0,1}auf in m1, . . .mt mit mi ∈ {0,1}n.

DefiniereΠ mittels Encpk (m) =Encpk(m1). . .Encpk(mt).

Aus vorigem Satz folgt:Π ist CPA-sicher, fallsΠCPA-sicher ist.

(32)

Hybride Verschlüsselungsverfahren

Ziel: Flexibilität von asym. Verfahren und Effizienz von sym. Verfahren.

Szenario:

SeiΠ = (Gen,Enc,Dec)ein PK-Verschlüsselungsverfahren undΠ= (Gen,Enc,Dec)ein SK-Verschlüsselungsverfahren.

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

Algorithmus Hybride Verschlüsselung Eingabe: m, pk

1 Wähle kR {0,1}n.

2 Verschlüssele c1Encpk(k)mit asym. Verschlüsselung.

3 Verschlüssele c2Enck(m)mit sym. Verschlüsselung.

Ausgabe: Chiffretext c = (c1,c2)

(33)

Hybride Entschlüsselung

Algorithmus Hybride Entschlüsselung Eingabe: c = (c1,c2), sk

1 Entschlüssele kDecsk(c1).

2 Entschlüssele mDeck(c2).

Ausgabe: Klartext m

Effizienzgewinn für|m| ≫n, sofernΠ effizienter ist alsΠ.

Frage: Ist hybride Verschlüsselung sicher, fallsΠ,Π sicher?

(34)

Sicherheit von hybrider Verschlüsselung

Satz Sicherheit hybrider Verschlüsselung

SeiΠein CPA-sicheres PK-Verschlüsselungsverfahren undΠ ein KPA-sicheres SK-Verschlüsselungsverfahren.

Dann ist das hybride VerfahrenΠhy CPA-sicher.

Beweisskizze:

Notation XY : Kein ppt Angreifer kann X und Y unterscheiden.

Sicherheit vonΠ: Enck(m0)≡Enck(m1)für kR{0,1}n. Sicherheit vonΠhy: Müssen zeigen dass

(Encpk(k),Enck(m0))≡(Encpk(k),Enck(m1)).

Problem: Erstes Argument könnte beim Unterscheiden des zweiten Arguments helfen.

(35)

Beweis Sicherheit hybrider Verschlüsselung

Beweisskizze: Zeigen die folgenden 3 Schritte

1 Sicherheit vonΠliefert

(Encpk(k),Enck(m0))≡(Encpk(0n),Enck(m0)).

Gilt sogar fallsAdie Werte k , 0nkennt.

Dass das zweite Argument k beinhaltet ist daher kein Problem.

2 Sicherheit vonΠ liefert

(Encpk(0n),Enck(m0))≡(Encpk(0n),Enck(m1)).

Kein Problem mehr, da 2. Argument nicht vom ersten abhängt.

3 Sicherheit vonΠliefert

(Encpk(0n),Enck(m1))≡(Encpk(k),Enck(m1)).

Transititivität der 3 Ergebnisse liefert schließlich wie gewünscht (Encpk(k),Enck(m0))≡(Encpk(k),Enck(m1)).

(36)

Textbook RSA

Algorithmus Schlüsselerzeugung GenRSA Eingabe: 1n

1 (N,p,q)GenModulus(1n)mit primen n-Bit p,q und N =pq.

2 φ(N)←(p−1)(q−1)

3 Wähle e∈Zφ(N).

4 Berechne de−1modφ(N).

Ausgabe:(N,e,d)mit pk = (N,e)und sk = (N,d).

Definition Textbook RSA Verschlüsselungsverfahren Sei n ein Sicherheitsparameter.

1 Gen: (N,e,d)←GenRSA(1n)

2 Enc:cmemodN für eine Nachricht m∈ZN.

3 Dec:mcd modN

(37)

RSA Problem und Sicherheit von RSA

Definition RSA Problem

Das RSA Problem ist hart bezüglich GenRSA(1n), falls für alle ppt AlgorithmenAgiltWs[A(N,e,memodN) =m]≤negl(n).

Wsraum: Wahl mRZN und interne Münzwürfe vonA,GenRSA.

RSA Annahme: Das RSA Problem ist hart bezüglich GenRSA.

Anmerkungen:

Falls N effizient faktorisiert werden kann, ist das RSA Problem nicht hart. (Warum?)

Berechnen von d ist so schwer wie Faktorisieren von N.

Offenes Problem: Impliziert eine Lösung des RSA Problem eine Lösung des Faktorisierungsproblems?

Enc ist deterministisch, d.h. Textbook RSA ist nicht CPA-sicher.

Unter der RSA-Annahme: Kein ppt Angreifer kann für zufällige m∈Z aus(N,e,memodN)die ganze Nachricht m berechnen.

(38)

Angriffe auf Textbook RSA

Verschlüsseln von kurzen Nachrichten mit kleinem e

Sei m<N1e. Dann gilt c =me<N. D.h. c1e überZliefert m.

Realistisch bei hybrider Verschlüsselung: N 1024-Bit und e=3, m ist 128-Bit Schlüssel für symmetrische Verschlüsselung.

Hastad Angriff auf RSA

Szenario: Verschlüsselung desselben m unter verschiedenen pk . Sei pk1= (N1,3), pk2= (N2,3), pk3= (N3,3). Angreifer erhält c1=m3modN1, c2=m3modN2und c3=m3modN3.

Berechne mittels Chinesischem Restsatz eind. c ∈ZN1N2N3 mit

c =c1modN1 c =c2modN2 c =c3modN3

.

Es gilt c =m3<(min{N1,N2,N3})3<N1N2N3, d.h. m=c13.

(39)

Padded RSA

Definition Padded RSA Verschlüsselungsverfahren

Sei n ein Sicherheitsparameter undℓeine Fkt. mitℓ(n)≤2n−2.

1 Gen: (N,e,d)←GenRSA(1n)

2 Enc:Für m∈ {0,1}ℓ(n) und rR{0,1}|N|−ℓ(n)−1berechne c← (r||m)emodN .

3 Dec:r||m:=cd modN. Gib die unterstenℓ(n)Bits aus.

Anmerkungen

Fürℓ(n) =2n− O(log n)kann r in polyn. Zeit geraten werden.

Fürℓ(n) =cn, konstantes c <2, ist kein CPA Angriff bekannt.

Fürℓ(n) =O(log n)kann CPA-Sicherheit gezeigt werden.

Weitverbreitete standardisierte Variante von Padded RSA:

PKCS #1 version 1.5 mit c:= (08||0610||r||08||m)emodN.

(40)

Einfache symmetrische Verschlüsselung

Algorithmus ONE-TIME GRUPPENELEMENT Sei n ein Sicherheitsparameter.

1 Gen: Schlüsselerzeugung(G,g)← G(1n), wobei G eine Gruppe und gR G ein zufälliger gemeinsamer geheimer Schlüssel ist.

2 Enc: Verschlüssele mG als cm·g.

3 Dec: Entschlüssele cG als m:=c·g−1. Anmerkung:

Das One-Time Pad erhalten wir als Spezialfall mit(G,·) = (Fn2,+).

(41)

Perfekte Sicherheit von O

NE

-T

IME

E

LEMENT

Satz Perfekte Sicherheit von ONE-TIME ELEMENT (Krypto I) ONE-TIMEELEMENTΠist eine perfekt sichere symmetrisches

Verschlüsselung, d.h. für alle AngreiferAgiltWs[PrivKA,Π(n) =1] = 12. Beweis:

Klartext-, Chiffretext und Schlüsselraum sind identisch M=C =K=G.

Jeder Schlüssel gG wird gleichverteilt mit Ws |G|1 gewählt.

Für jedes m,cG existiert genau ein Schlüssel g=c·m−1mit c =Encg(m).

Nach dem Satz von Shannon istΠdamit perfekt sicher. D.h.

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

Geheimer Schlüssel sk =g muss stets neu gewählt werden.

Idee für PK-Verfahren: Ersetze das zufällige g durch ein stets neu gewähltes “pseudozufälliges” Gruppenelement.

(42)

ElGamal Verschlüsselungsverfahren (1984)

Definition ElGamal Verschlüsselungsverfahren Sei n ein Sicherheitsparameter.

1 Gen: (q,g)← G(1n), wobei g eine Gruppe G der Ordnung q generiert. Wähle xRZq und berechne hgx.

Schlüssel: pk = (q,g,h), sk = (q,g,x)

2 Enc:Für eine Nachricht mG wähle ein yRZq und berechne c ←(gy,hy ·m).

3 Dec:Für einen Chiffretext c = (c1,c2)berechne m:= cc2x 1

. Korrektheit: cc2x

1 = (ghyy·m)x = (gxg)xyy·m =m.

c2ist ein Analog von Enc bei ONE-TIME GRUPPENELEMENT mit einem DH-Schlüssel gxy als “pseudozufälligem” Gruppenelement.

Anmerkung:

Parameter q,g können global für alle Teilnehmer gewählt werden.

(43)

Sicherheit von ElGamal

Satz CPA-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 Unterscheider D zum Unterscheiden von DDH-Instanzen

(q,g,gx,gy,g)mit g =gxy oder g=gz.

(44)

Unterscheider für DDH durch A

Algorithmus DDH-Unterscheider D EINGABE:(q,g,gx,gy,g)

1 Setze pk = (G,q,g,gx).

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

3 Wähle bR {0,1}und berechne b ← A(gy,g·mb).

4 Falls b =b Ausgabe 1, sonst Ausgabe 0.

AUSGABE:

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

(45)

DDH-Unterscheider mit Angreifer A

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

1 bedeutetg=gxy 0 bedeutetg=gz

UnterscheiderD

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

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

(1fallsb=b 0sonst

A

m0, m1 ∈ M (m0, m1)

b∈ {0,1}

b

(46)

Fall DDH-Tupel

Fall 1: DDH-Tupel, d.h. g=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. g =gz für zRZq.

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

c2ist identisch verteilt zu ONETIMEELEMENT. Die erste Komponente c1ist unabhängig von c2, 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).

(47)

Parameterwahl bei ElGamal

Einbetten von Nachrichten m ∈ {0,1}

Beliebte Parameterwahl:Zp, p =2q+1 mit p,q prim.

D.h. p ist eine sogenannte starke Primzahl.

Ziel: Konstruktion einer Untergruppe G mit Ordnung q.

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

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

Wir bezeichnen den Bildraum mit QRp. QRpist Untergruppe vonZpmit Ordnung q.

Wählen g als Generator von QRp. Sei|q|=n.

Interpretieren m ∈ {0,1}n−1als natürliche Zahl kleiner q.

Es gilt m+1∈[q]. Einbettung von m ist m= (m+1)2modp.

Umkehren der Einbettung ist effizient berechenbar.

(48)

CPA-Sicherheit ist ungenügend

Definition CCA (informal)

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

Beispiele in denen CPA-Sicherheit nicht genügt:

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

Eve verschickt c selbst an Bob.

Bob antwortet Eve und hängt dabei m an 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 Gebot c=Enc(m)verschlüsselt an Bob.

Enc soll CPA-sicher sein, d.h. Eve erhält keine Information über m.

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

(49)

CCA Ununterscheidbarkeit

Spiel CCA Ununterscheidbarkeit von Chiffretexten PubKA,Πcca(n) SeiΠein PK-Verschlüsselungsverfahren mit AngreiferA.

1 (pk,sk)Gen(1n)

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

3 Wähle bR {0,1}. Verschlüssele c ←Encpk(mb).

4 b← ADecsk(·)(c), wobeiAbeliebige Chiffretexte c 6=c durch das Orakel Decsk(·)entschlüsseln lassen darf.

5 PubKA,Πcca(n) =

(1 fürb=b 0 sonst Anmerkungen:

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

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

(50)

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

(1n, pk)

m1=Decsk(c1)

mi=Decsk(ci) bR {0,1}

c=Encpk(mb)

mi+1=Decsk(ci+1) mq =Decsk(cq) Ausgabe:

=

(1 fallsb=b 0 sonst

A c1∈ C c1

m1

...

ci∈ C, iq ci

mi

m0, m1∈ M (m0, m1)

c

ci+1∈ C\{c}

ci+1 mi+1

...

cq ∈ C\{c}

cq

mq

b∈ {0,1}

b

(51)

CCA-Sicherheit

Definition CCA-Sicherheit

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

Anmerkungen:

Erstes effizientes CCA-sicheres Verfahren Cramer-Shoup (1998).

Cramer-Shoup ist CCA-sicher unter der DDH-Annahme.

Chiffretexte sind doppelt so lang wie bei ElGamal.

Sicherheitsbeweis von Cramer-Shoup ist nicht-trivial.

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

(52)

CCA Angriff und Malleability von Textbuch RSA

CCA Angriff auf Textbuch RSA

Wollen c =memodN entschlüsseln.

Man beachte: c darf nicht direkt angefragt werden.

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

Berechne mrDecsk(c)mittels Entschlüsselungs-Orakel.

Berechne mr·r−1=mmodN.

Malleability von Textbuch RSA

Voriger Angriff zeigt: Für c=memodN kann die Verschlüsselung von mr berechnet werden, ohne m selbst zu kennen.

D.h. Textbuch RSA ist malleable.

(53)

CCA Angriff und Malleability von ElGamal

Praktischer CCA-Angriff auf 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 Chiffretext c zu entschlüsseln.

CCA Angriff auf ElGamal

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

Lasse c = (gy,gxy·m·r)für rG\ {1}entschlüsseln.

Berechne mr·r−1=m.

ElGamal ist malleable, da ckorrekte Verschlüsselung von mr .

(54)

Einwegfunktionen

Ziel: CPA-sichere Verschlüsselung aus Trapdoor-Einwegpermutation Später: CCA-sichere Verschlüsselung aus Trapdoor-Einwegperm.

Spiel Invertieren InvertA,f(n)

Sei f :{0,1}→ {0,1} effizient berechenbar,Aein Invertierer für f .

1 Wähle xR {0,1}n. Berechne yf(x).

2 x ← A(1n,y)

3 InvertA,f(n) =

(1 fallsf(x) =y

0 sonst .

Definition Einwegfunktion

Eine Funktion f :{0,1} → {0,1}heißt Einwegfunktion, falls

1 Es existiert ein deterministischer pt AlgBmit f(x)← B(x).

2 Für alle ppt AlgorithmenAgiltWs[InvertA,f(n) =1]≤negl(n).

(55)

Spiel Invertieren

InvertA,f(n) W¨ahle: xR{0,1}n

Berechne: yf(x) (1n, y)

Ausgabe:

(1 fallsf(x) =y 0 sonst

A

Berechne:

x ∈ {0,1}n x

(56)

Die Faktorisierungsannahme

Problem: Existenz von Einwegfunktionen ist ein offenes Problem.

Konstruktion unter Komplexitätsannahme (z.B. Faktorisierung) Verwenden dazu(N,p,q)GenModulus(1n)von RSA.

Spiel Faktorisierungsspiel FactorA,GenModulus(n)

1 (N,p,q)GenModulus(1n)

2 (p,q)← A(N)mit p,q >1.

3 FactorA,GenModulus(n) =

(1 fallspq=N

0 sonst .

(57)

Spiel Faktorisieren

FactorA,GenModulus(n)

(N, p, q)GenModulus(1n) (1n, N) Ausgabe:

(1 fallspq=N 0 sonst

A Berechne:

p, q>1 (p, q)

Definition Faktorisierungsannahme

Faktorisieren ist hart bezüglich GenModulus falls für alle ppt AlgorithmenAgiltWs[FactorA,GenModulus(n) =1]≤negl(n).

Faktorisierungsannahme: Faktorisieren ist hart bezüglich GenModulus.

Referenzen

ÄHNLICHE DOKUMENTE

Krypto I - Vorlesung 01 Verschlüsselung, Kerckhoffs, Angreifer, klassische Chiffren, Vigenère 1 /

Unter der dlog Annahme können die geheimen Schlüssel x, y bei Diffie-Hellman nur mit vernachlässigbarer Ws berechnet

Satz Einwegsignaturen für Nachrichten beliebiger Länge Unter der Annahme kollisionsresistenter Hashfunktionen existiert ein CMA-sicheres Einwegsignatur-Verfahren für

Goldreich, “Foundations of Cryptography – Volume 1 (Basic Tools)”, Cambridge University Press, 2001.. Goldreich, “Foundations of Cryptography – Volume 2 (Basic

Goldreich, “Foundations of Cryptography – Volume 1 (Basic Tools)”, Cambridge University Press, 2001.. Goldreich, “Foundations of Cryptography – Volume 2 (Basic

Satz Einwegsignaturen für Nachrichten beliebiger Länge Unter der Annahme kollisionsresistenter Hashfunktionen existiert ein CMA-sicheres Einwegsignatur-Verfahren für

Satz Einwegsignaturen für Nachrichten beliebiger Länge Unter der Annahme kollisionsresistenter Hashfunktionen existiert ein CMA-sicheres Einwegsignatur-Verfahren für

Es muss bewiesen werden, dass unter der gegeben Annahme (Prinzip 2) kein Angreifer die