13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie

Ähnliche Dokumente
Sicherheit von ElGamal Intuitiv: Eve soll c 2 = m g ab nicht von c 2 R G unterscheiden können.

Das Rucksackproblem. Definition Sprache Rucksack. Satz

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

NP-vollständige Probleme

Polynomielle Verifizierer und NP

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin

subexponentielle Algorithmen (d.h. Laufzeiten wie z. B. 2 n oder

NP-Vollständigkeit des Erfüllbarkeitsproblems

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Theoretische Informatik 1

Berechenbarkeits- und Komplexitätstheorie

Rucksackproblem und Verifizierbarkeit

Laufzeit einer DTM, Klasse DTIME

Einige Grundlagen der Komplexitätstheorie

Theoretische Grundlagen der Informatik

Das Quadratische Reste Problem

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Die Klasse NP und die polynomielle Reduktion

Kryptographie und Komplexität

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Die Komplexitätsklassen P und NP

8. Woche Quadratische Reste und Anwendungen. 8. Woche: Quadratische Reste und Anwendungen 163/ 238

Sicherheit von ElGamal

RSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n)

Theoretische Grundlagen der Informatik

Vorname Name Matrikelnummer 1. a) Benennen Sie die übrigen 6 Komponenten einer nicht-deterministischen Turingmaschine (TM): (3 Punkte)

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren

Ununterscheidbarkeit von Chiffretexten

Wissenschaftliche Arbeitstechniken und Präsentation. NP-Vollständigkeit

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

NP-Vollständigkeit einiger Zahlprobleme

= 1. Falls ( a n. ) r i. i=1 ( b p i

Theoretische Grundlagen der Informatik

Übungsblatt 4. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Kochrezept für NP-Vollständigkeitsbeweise

Kryptographie und Komplexität

Ununterscheidbarkeit von Chiffretexten

Public-Key-Verschlüsselung und Diskrete Logarithmen

Digitale Signaturen. Einführung und das Schnorr Signatur Schema. 1 Digitale Signaturen Einführung & das Schnorr Signatur Schema.

Ununterscheidbarkeit von Chiffretexten

Präsenzübung Berechenbarkeit und Komplexität

ElGamal Verschlüsselungsverfahren (1984)

Probleme aus NP und die polynomielle Reduktion

abgeschlossen unter,,,, R,

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

CPA-Sicherheit ist ungenügend

6: Public-Key Kryptographie (Grundidee)

Willkommen zur Vorlesung Komplexitätstheorie

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Komplexitätstheorie NP-Vollständigkeit: Reduktionen (2) Der Satz von Cook/Levin

Bernd Borchert. Univ. Tübingen WS 13/14. Vorlesung. Kryptographie. Teil 11. Einwegfunktionen, Geheimnisteilung, Steganographie 7.2.

Wann sind Codes eindeutig entschlüsselbar?

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren

Wie man das Poissonsche Problem löst

NP-Vollständigkeit und der Satz von Cook und Levin

Formale Grundlagen der Informatik 1 Kapitel 21 P und NP

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

THEORETISCHE INFORMATIK UND LOGIK

Berechenbarkeitstheorie 19. Vorlesung

Theoretische Grundlagen der Informatik

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Algorithmentheorie Randomisierung. Robert Elsässer

Theoretische Grundlagen der Informatik

Algorithmentheorie Randomisierung

Probabilistische Pfadsuche

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}

Theoretische Grundlagen der Informatik

Konjunktive Normalform

Proseminar Schlüsselaustausch (Diffie - Hellman)

Der komplexitätstheoretische Zugang zur Kryptographie

Diskrete Mathematik II

Übung Theoretische Grundlagen

Das SAT Problem oder Erfüllbarkeitsproblem. Formale Systeme. Teilklassen. Satz von Cook. SAT Instanz: Eine aussagenlogische Formel F For 0

Kryptographie und Komplexität

Prinzipien der modernen Kryptographie Sicherheit

10. Woche: Elliptische Kurven Skalarmultiplikation und Anwendungen. 10. Woche: Elliptische Kurven - Skalarmultiplikation und Anwendungen 212/ 238

Ziel: Zertifiziere Pfad von Wurzel zu m mittels Signaturen. Signieren Public-Keys auf Pfad inklusive der Nachbarknoten.

Weitere NP-vollständige Probleme

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Prinzip 2 Präzisierung der Annahmen

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009

Sicherheit von Merkle Signaturen

Härte von Hamilton-Kreis und TSP Überblick über die Komplexitätslandschaft

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Minesweeper ist NP-vollständig

Prinzipien der modernen Kryptographie Sicherheit

Klausurtermin. Klausur Diskrete Mathematik I Do stündig

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

6.3 NP-Vollständigkeit. alle anderen Probleme in NP darauf polynomiell reduzierbar. 1 Polynomielle Reduzierbarkeit p

WS 2013/14. Diskrete Strukturen

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

Theoretische Grundlagen der Informatik

Einführung in die mathematische Logik

Transkript:

13 Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 276/ 333

N P-Vollständigkeit Ḋefinition NP-vollständig Sei L eine Sprache Wir bezeichnen L als NP-vollständig, falls 1 L NP 2 Für jede Sprache A NP gilt: A p L 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 277/ 333

Separation oder Gleichheit von P und NP, I Ṡatz Sei L eine NP-vollständige Sprache und L P Dann gilt P = NP Beweis: Wir zeigen für ein beliebiges A NP, dass A P Da A NP und L NP-vollständig ist, gilt A p L Nach Voraussetzung gilt L P P-Reduktionssatz: Aus A p L, L P folgt A P Da dies für ein beliebiges A NP gilt, folgt NP P Wegen P NP gilt schließlich P = NP 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 278/ 333

Separation oder Gleichheit von P und NP, II Die NP-vollständige Probleme bilden die Menge der schwierigsten Probleme in NP Der Satz von Richard Ladner (1975) Falls P = NP, dann existieren Probleme in NP, die weder NP-vollständig sind, noch in P liegen sie bilden die Klasse NPI (Nicht-deterministisch Polynomiell, Intermediate) Für den Beweis des Satzes wurde von Ladner ein künstliches Problem generiert, welches keinerlei praktische Relevanz besitzt Es ist nicht bekannt, ob auch natürliche Probleme in NPI liegen Es wird jedoch vermutet, dass dies zb für die Primfaktorzerlegung gilt Ladner, Richard: On the Structure of Polynomial Time Reducibility Journal of the ACM (JACM) 22 (1): 155 171, 1975 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 279/ 333

N P Vollständigkeits-Beweise Ṡatz NP-Reduktionssatz Seien B, L Sprachen Sei L NP-vollständig, B NP und L p B Dann ist auch B NP-vollständig Beweis: Müssen zeigen, dass A p B für alle A NP Da L NP-vollständig ist, gilt A p L für beliebiges A NP Ferner gilt nach Voraussetzung L p B Aus der Transitivität von p folgt: A p B Damit ist B ebenfalls NP-vollständig Problem: Wir benötigen ein erstes NP-vollständiges Problem 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 280/ 333

Satz von Cook-Levin (1971) Ṡatz von Cook-Levin SAT ist N P-vollständig Beweis: Müssen zeigen 1 SAT NP (bereits gezeigt) 2 Für alle L NP existiert polynomiell berechenbare Reduktion f: w L f(w) SAT Beweisidee: Sei L NP beliebig NTM N mit polynomieller Laufzeit n k mit w L N akzeptiert w Konstruieren aus (N, w) eine Formel φ mit 1 N akzeptiert w f(w) = φ SAT 2 f ist in Zeit polynomiell in w = n berechenbar Betrachten dazu eine (n k + 1) (n k + 1) Berechnungstabelle von N 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 281/ 333

Berechnungstabelle T von N auf w q 0 w 1 w n q i w 1 w n Tabelle T entspricht einem Pfad im Berechnungsbaum Erste Zeile enthält die Startkonfiguration (i + 1)-te Zeile ist mögliche Nachfolgekonfiguration der i-ten Zeile: wenn die NTM doch nicht-deterministisch ist, dann gibt es mehrere Möglichkeiten, die Tabelle zu belegen In Laufzeit n k können höchstens n k Zellen besucht werden T akzeptierend T enthält eine akzeptierende Konfiguration Konstruieren φ derart, dass φ erfüllbar ist gdw eine mögliche Belegung von T akzeptierend ist 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 282/ 333

Struktur der Formel für φ Sei T(i, j) der Eintrag in der i-ten Zeile und j-ten Spalte von T T(i, j) Q Γ für alle i, j Definieren φ über den Booleschen Variablen x i,j,σ mit x i,j,σ = 1 T(i, j) = σ für σ Q Γ Formel für φ: φ = φ Start φ accept φ Eintrag φ move mit φ Start : T beginnt mit Startkonfiguration φ accept : T muss Eintrag q a besitzen φ Eintrag : T enthält Einträge aus Q Γ φ move : T besitzt gültige Nachfolgekonfigurationen 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 283/ 333

Definition von φ Start,φ accept und φ Eintrag φ Start : Codieren die Startkonfiguration q 0 w 1 w n x 1,1,q0 x 1,2, x 1,3,w1 x 1,n+2,wn x 1,n+3, x 1,n k +1, φ accept : φ ist erfüllend gdw T eine erfüllende Konfiguration enthält φ accept = 1 i,j n k +1 x i,j,qa φ Eintrag : T(i, j) Q Γ, dh es gibt ein σ Q Γ mit x i,j,σ = 1 T(i, j) enthält mindestens einen Eintrag σ Q Γ: φ 1 = x i,j,σ σ Q Γ T(i, j) enthält höchstens einen Eintrag σ Q Γ: φ 1 = (x i,j,σ x i,j,τ ) σ,τ Q Γ,σ τ Liefert insgesamt φ Eintrag = 1 i,j n k +1 (φ 1 φ 1 ) 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 284/ 333

Definition von φ move Ziel: Zeile i + 1 muss mögliche Nachfolgekonfiguration von Zeile i sein Definieren Fenster F der Größe 2 3 (i, j)-fenster besitzt Einträge (i, j 1),(i, j),(i, j + 1) und (i + 1, j 1),(i + 1, j),(i + 1, j + 1) Tabelle T besitzt (i, j)-fenster für i = 1,,n k, j = 2,,n k Fenster F heißt legal gwd F s Einträge δ nicht widersprechen 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 285/ 333

Beispiele für legale Fenster Sei δ wie folgt definiert δ := {( (q 1, a),(q 1, b, R) ), ( (q 1, b),(q 2, c, L),(q 2, a, R) ) ( (q1, b),(q 2, c, L),(q 2, a, R) )} (Q \{q a, q r } Γ) (Q Γ {L, N, R}) a q 1 b q 2 a c a q 1 b a b b a a q 2 a a b legal legal nicht legal a a q 1 a a b a q 1 b q 1 a a b b legal nicht legal legal a a a q 1 b a b a b b b q 2 b q 2 a b q 2 c b b nicht legal legal legal 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 286/ 333

Korrektheit der Konstruktion Lemma Korrektheit Berechnungstabelle Sei T eine Tabelle mit den folgenden Eigenschaften 1 Die erste Zeile ist die Startkonfiguration von N auf w 2 Jedes Fenster ist legal Dann ist T eine Berechnungstabelle von N auf Eingabe w und entspricht somit einem Berechnungspfad von N T(i, j) T(i + 1, j) ist nur dann möglich, falls einer der Einträge T(i, j 1), T(i, j) oder T(i, j + 1) einen Zustand enthält Falls die obere Zeile einen Zustand ändert, muss sich die untere Zeile gemäß δ ändern Dh jede Zeile ist eine Nachfolgekonfiguration der Vorgängerzeile Damit ist T eine Berechnungstabelle 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 287/ 333

Konstruktion von φ move Informal gilt: φ move = 1 i n k,2 j nk Fenster (i, j) ist legal Die Anzahl legaler Fenster hängt nur von den möglichen Übergängen in N ab, nicht von der Eingabe w Dh es gibt eine Menge F von 6-Tupeln (f 1,,f 6 ), so dass F alle legalen Fenster beschreibt Damit können wir das Prädikt [Fenster (i, j) ist legal] formalisieren (f 1,,f 6 ) F (x i,j 1,f1 x i,j,f2 x i,j+1,f3 x i+1,j 1,f4 x i+1,j,f5 x i+1,j+1,f6 ) 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 288/ 333

Reduktion ist polynomiell Lemma Länge von φ Sei N eine NTM mit Laufzeit n k bei Eingabe w, w = n Dann besitzt die Formel φ = φ Start φ accept φ Eintrag φ move Länge O(n 2k ), dh Länge polynomiell in n Zudem ist φ bei Eingabe (N, w) in Zeit O(n 2k ) berechenbar φ Start : Anzahl Literale: O(n k ), Berechnung direkt aus w φ accept : Anzahl Literale: O(n 2k ) φ Eintrag : Anzahl Literale in φ 1,φ 1 : O(1), unabhängig von w Anzahl Literale in φ Eintrag : O(n 2k ) φ move : Anzahl legaler Fenster F : O(1), unabhängig von w Anzahl Literale in φ move : O(n 2k ) 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 289/ 333

Fazit Es ist klar, dass es eine 1 1 Korrespondenz gibt zwischen korrekten (legalen) Berechnungstabellen von N (also, von Berechnungspfaden von N) und Belegungen der Variablen von φ, und eine akzeptierende Berechnungstabelle existiert gdw eine erfüllbare Belegung von φ existiert Die Konstruktion von T ist quadratisch in der Laufzeit von der NTM N, also polynomiell in der Eingabelänge n Somit ist der Satz von Cook-Levin bewiesen 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 290/ 333

Kryptographische Anwendungen 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 291/ 333

Diffie-Hellman Schlüsselaustausch (1976) Öffentliche Parameter: Primzahl p, Generator g von Z p Protokoll Diffie-Hellman Schlüsselaustausch EINGABE: p, g 1 Alice wählt α R Z p 1 und schickt g α mod p an Bob 2 Bob wählt β R Z p 1 und schickt g β mod p an Alice 3 Alice berechnet ( g β) α = g αβ, Bob analog (g α ) β = g αβ Gemeinsamer geheimer DH-Schlüssel: g αβ Angreifer Eve erhält g, g α, g β Sicherheit: Eve kann g αβ nicht von g y, y R Z p 1 unterscheiden Definition Decisional Diffie-Hellman (DDH) Sei p prim, g Generator von Z p Wir definieren die Sprache DDH := {(g α, g β, g y ) g y = g αβ } 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 292/ 333

Das ElGamal Kryptosystem (1984) Parameter des ElGamal Kryptosystems: öffentlich: p prim, g Generator von Z p, g a geheim: a Z p 1 Ȧlgorithmus ElGamal Ver- und Entschlüsselung Verschlüsselung von m Z p unter Verwendung von p, g, g a Wähle r R Z p 1 Berechne Enc(m) = (γ,δ) = (g r, m (g a ) r ) Z p Z p Entschlüsselung von Enc(m) unter Verwendung von p, a Berechne Dec(Enc(m)) = δ γ = m gar a g = m ar Laufzeit: Verschlüsselung: O(log r log 2 p) = O(log 3 p) Entschlüsselung: O(log a log 2 p) = O(log 3 p) 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 293/ 333

Sicherheit von ElGamal Intuitiv: Eve soll δ = m g ab nicht von x R Z p unterscheiden können Ṗrotokoll Unterscheider EINGABE: p, g, g a 1 Eve wählt m Z p und schickt m an Alice (Man beachte: m 0) 2 Alice wählt b {0, 1}: Falls b = 0: Sende Enc(m) = (g r, m g ar ) an Eve zurück Falls b = 1: Sende (g r, x) R Z p Z p an Eve zurück Eves AUSGABE: b {0, 1} Eve gewinnt das Spiel gdw b = b Dh Eve muss δ von einer Zufallszahl x unterscheiden Ḋefinition Sprache ElGamal Sei p prim und g ein Generator von Z p Wir definieren ELGAMAL := {g a, g r, m, x x = m g ar mod p} 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 294/ 333

Sicherheitsbeweis per Reduktion Ṡatz Sicherheit von ElGamal unter DDH Das ElGamal Kryptosystem ist sicher gegen polynomielle Angreifer unter der Annahme, dass DDH nicht effizient entscheidbar ist Logik des Beweises: Zeigen: DDH p ELGAMAL Dh jeder polynomielle Algorithmus für ELGAMAL liefert einen polynomiellen Algorithmus für DDH Annahme: Es existiert ein polynomieller Angreifer A, der Verschlüsselungen von Zufallszahlen unterscheiden kann Dann gibt es einen Algorithmus, der in polynomieller Zeit DH-Schlüssel g αβ von Zufallszahlen unterscheidet Widerspruch: Nach Annahme gibt es keinen effizienten Algorithmus zum Entscheiden von DH-Schlüsseln g αβ Daher kann es auch keinen polynomiellen Angreifer A geben 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 295/ 333

Reduktion f Algorithmus M f EINGABE: g α, g β, g y Z p 1 Setze g a g α und g r g β 2 Wähle m R Z p 3 Berechne x = m g y mod p AUSGABE: g a, g r, m, x Laufzeit: Eingabelänge: Ω(log p) Gesamtlaufzeit: O(log 2 (p)) 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 296/ 333

Korrektheit Reduktion: w DDH p f(w) ELGAMAL Sei (g α, g β, g y ) DDH Dann gilt g y = g αβ = g ar Damit ist x = m g y = m g ar korrekte Verschlüsselung von m Dh (g a, g r, m, x) ELGAMAL Sei f(g α, g β, g y ) = (g a, g r, m, x) ELGAMAL Dann ist x = m g y eine korrekte Verschlüsselung von m Dh d(m) = m gy g ar = m und damit g y = g ar = g αβ Dann ist (g α, g β, g y ) DDH 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 297/ 333

Brechen von ElGamal ist nicht schwerer als DDH Ṡatz ELGAMAL p DDH Beweis: Wir definieren die folgende Reduktion f Ȧlgorithmus M f EINGABE: g a, g r, m, x Z p 1 Setze g α g a und g β g r 2 Berechne g y = x m AUSGABE: g α, g β, g y Laufzeit: Eingabelänge: Ω(log p) Laufzeit: O(log 2 p) 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 298/ 333

Korrektheit von f: w ELGAMAL f(w) DDH Sei (g a, g r, m, x) ELGAMAL Dann ist x = m g ar korrekte Verschlüsselung von m Damit gilt x m = gar = g αβ = g y Dh (g α, g β, g y ) DDH Sei f(g a, g r, m, x) = (g α, g β, g y ) DDH Dann gilt g y = g αβ = g ar Damit folgt x = m g y = m g ar ist Verschlüsselung von m Dh (g a, g r, m, x) ELGAMAL 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 299/ 333