• Keine Ergebnisse gefunden

Algorithmische Kryptographie (WS2015/16) Kapitel 5 Zero-Knowledge Walter Unger

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithmische Kryptographie (WS2015/16) Kapitel 5 Zero-Knowledge Walter Unger"

Copied!
53
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)Algorithmische Kryptographie (WS2015/16) Kapitel 5 Zero-Knowledge. Walter Unger Lehrstuhl für Informatik 1. 16:05 Uhr, den 12. Dezember 2015.

(2) Einleitung 5. Viele weitere Beispiele. Formales. Hinterlegung. Inhaltsverzeichnis. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Inhalt I 1. Einleitung Motivation Anschauliches Beispiel Grundlagen Hamilton-Kreis. 2. Viele weitere Beispiele Perfektes Matching Stabile Menge Graphenisomorphismus Kenntnis der Faktoren 3-Färbung eines Graphen 3-SAT Set-Partition-Problem. 3. Formales Idee zur Beweisführung Definition von Zero-Knowledge Verfahren von Shamir. Z. Anwendungen. 4. Hinterlegung: Verschließbare Kästen (Lockable Boxes) Einleitung Ein-Weg-Funktionen und verschließbare Kästen Kästen mittels quadratischen Resten Kästen mittels diskreten Logarithmus Vergleich der Sicherheitsaspekte. 5. Beweise und Aussagen Einfache Protokolle Protokolle auf Graphen Sonstige Protokolle Zero-Knowledge-Proof und Komplexitätsklassen Komposition von Zero-Knowledge-Proofs. 6. Anwendungen Identifikation mit Zero-Knowledge-Proofs Einfache Identifikation nach Shamir.

(3) Einleitung 5. Viele weitere Beispiele. Inhaltsverzeichnis. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Zero-Knowledge. Z. Anwendungen WS2015/16.

(4) Einleitung 5:2. Viele weitere Beispiele. Anschauliches Beispiel. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Z. Anwendungen WS2015/16. Ziel: Beweise sicher die Kenntnis eines Geheimnisses, ohne dieses Geheimnis preiszugeben..

(5) Einleitung 5:3. Viele weitere Beispiele. Formales. Anschauliches Beispiel. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Beispiel: Viktor und Peter haben viele Karten geerbt. D.h. viele identische Kartensätze. Peter behauptet nun, er hat unter den Kartensätzen einen Joker gefunden. Peter will Viktor von der Existenz dieser Karte überzeugen, ohne die Karte zu zeigen. Vorgehen: 1 2 3 4. 5. Z. Anwendungen. Peter bereitet zwei kleine Kartenstapel vor: In einem ist der Joker. Viktor fügt zu jedem Stapel viele weitere Karten hinzu. Die Kartenstapel werden gemischt. Die beiden Stapel kommen in zwei Kästen und werden dabei gegebenenfalls von Viktor vertauscht. Peter öffnet die Kästen, entnimmt seine Karten und teilt Viktor mit, ob die Kästen vertauscht wurden.. Dieses Verfahren wiederholen beide jeden Tag einmal. Jeden Tag steigt damit die Überzeugung, dass Peter einen Joker hat..

(6) Einleitung 5:4. Viele weitere Beispiele. Formales. Grundlagen. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Muster beim Zero-Knowledge-Proof P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Z. Anwendungen. Testet (Co, a, ReCo,a , W ). Wichtig Wiederhole das Verfahren zur Verkleinerung der Betrugswahrscheinlichkeit..

(7) Einleitung 5:5. Viele weitere Beispiele. Formales. Hinterlegung. Hamilton-Kreis. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Hamilton-Kreis v17 17. v16. v18 18. v1. Definition. 1. v2. Ein Graph G = (V , E ) hat einen Hamilton-Kreis, gdw. es existiert C|V | als Teilgraph von G .. 2. 16 v15. v3. 3 15. 4. v14. v4. 14 5. v13 13 6 v12 12. v6 7. 11 v11. 10 v10. 9 v9. 8 v8. Z. Anwendungen. v7. v5. Beachte: Ck ist ein Kreis der Länge k (mit k Knoten). Das Problem, festzustellen, ob G = (V , E ) einen Hamilton-Kreis hat, ist NP-vollständig..

(8) Einleitung 5:6. Viele weitere Beispiele. Formales. Hinterlegung. Hamilton-Kreis. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Hamilton-Kreis v7. v6. 7. 6. v9. Bereite den Graph vor.. v10 10. v14. Erzeuge Nicht-Kanten.. 14. 9 v5. 12. Verschließe Kanten.. v12. Verschließe Knoten.. 5 16 v16. v4 4. 1. v18 18 8 v15 15. v8 11. 17 v17. 13 v13. 3 v3. 2 v2. Z. Anwendungen. v11. v1. Auf Anfrage zeige den Graphen. Für eine weitere Anfrage ist alles neu zu verschließen. Oder zeige bei alternativer Anfrage die Kanten eines Kreises..

(9) Einleitung 5:7. Viele weitere Beispiele. Formales. Perfektes Matching. Hinterlegung. Walter Unger 12.12.2015 16:05. Muster beim Zero-Knowledge-Proof P: kennt W und x wählt Co bestimmt ReCo,a. Beweise, Aussagen. V : kennt W Co. wählt a. a ReCo,a. Testet (Co, a, ReCo,a , W ). Protokoll für Kenntnis eines Hamiltonkreises.. Z. Anwendungen WS2015/16.

(10) Einleitung 5:8. Viele weitere Beispiele. Formales. Hinterlegung. Perfektes Matching. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Perfektes Matching v17 17. v16. v18 18. v1. Definition. 1. v2. Ein Graph G = (V , E ) hat ein perfektes Matching, gdw. es existieren d|V |/2e unabhängige Kanten.. 2. 16. Z. Anwendungen. v15. v3. 3 15. 4. v14. v4. 14 5. v13 13 6 v12 12. v6 7. 11 v11. 10 v10. 9 v9. 8 v8. v7. v5. Ein perfektes Matching wird auch als 1-Faktor bezeichnet..

(11) Einleitung 5:9. Viele weitere Beispiele. Formales. Hinterlegung. Perfektes Matching. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Perfektes Matching v16. v9. 16. 9. v11. Bereite den Graph vor.. v17 17. v5. Erzeuge Nicht-Kanten.. 5. 11 v6. 7. Verschließe Kanten.. v7. Verschließe Knoten.. 6 3. v2. v3. 2. v8. 10 8 14 v14. v18 18 13. 15 v15. 1 v1. 4 v4. 12 v12. Z. Anwendungen. v13. v10. Auf Anfrage zeige den Graphen. Für eine weitere Anfrage ist alles neu zu verschließen. Oder zeige bei alternativer Anfrage die Kanten eines perfekten Matchings..

(12) Einleitung 5:10. Viele weitere Beispiele. Formales. Stabile Menge. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Muster beim Zero-Knowledge-Proof P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Testet (Co, a, ReCo,a , W ). Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings.. Z. Anwendungen WS2015/16.

(13) Einleitung 5:11. Viele weitere Beispiele. Formales. Hinterlegung. Stabile Menge. Walter Unger 12.12.2015 16:05. Independent Set (Stabile Menge) v16. v9. 16. 9. v11. Beweise, Aussagen. v17. WS2015/16. Definition. 17. v5. Ein Graph G = (V , E ) hat eine unabhängige Menge (independent set) der Größe k, gdw. es existiert I ⊂ V , |I | = k mit: ∀a, b ∈ I : {a, b} 6∈ E .. 5. 11. Z. Anwendungen. v6. 7. v7. 6 3. v2. v3. 2. v8. 10 8 14 v14. v18 18 13. 15 v15. 1 v1. 4 v4. 12 v12. v13. v10. Theorem Für gegebenes k und Graphen G festzustellen, ob G eine unabhängige Menge der Größe k hat, ist NP-vollständig..

(14) Einleitung 5:12. Viele weitere Beispiele. Formales. Hinterlegung. Stabile Menge. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Independent Set (Stabile Menge) v10. v15. 10. 15. v7. Gegeben ein Graph. v17 17. v11. Verschliesse Kanten.. 11. 7 v9. Verschliesse Knoten.. v1. 1 9. 18 v18. v12 12. v3. 13 3 5 v4. 4. v5 8. 14 v14. 6 v6. 16 v16. 2 v2. Z. Anwendungen. v8. v13. Auf Anfrage zeige den Graphen. Für eine weitere Anfrage ist neu zu verschließen. Oder zeige bei alternativer Anfrage die stabile Menge. Aber nicht welche Knoten dazugehören. Damit haben wir auch Protokolle für Clique und Vertex Cover..

(15) Einleitung 5:13. Viele weitere Beispiele. Formales. Graphenisomorphismus. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Muster beim Zero-Knowledge-Proof P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Testet (Co, a, ReCo,a , W ). Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge.. Z. Anwendungen WS2015/16.

(16) Einleitung 5:14. Viele weitere Beispiele. Formales. Graphenisomorphismus. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Muster beim Zero-Knowledge-Proof P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Testet (Co, a, ReCo,a , W ). Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge. Protokoll für Kenntnis eines Graphenisomorphismuses. Protokoll für Kenntnis eines Graphennichtisomorphismuses.. Z. Anwendungen WS2015/16.

(17) Einleitung 5:15. Viele weitere Beispiele. Formales. Kenntnis der Faktoren. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Muster beim Zero-Knowledge-Proof P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Testet (Co, a, ReCo,a , W ). Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge. Protokoll für Kenntnis eines Graphenisomorphismuses. Protokoll für Kenntnis eines Graphennichtisomorphismuses. Protokoll für Kenntnis der Faktoren einer Zahl.. Z. Anwendungen WS2015/16.

(18) Einleitung 5:16. Viele weitere Beispiele. 3-Färbung eines Graphen. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. 1/2. WS2015/16. Ballancierte 3-Färbung eines Graphen G = (V , E ) 3. Z. Anwendungen. Graph G = (V , E ). v6. Es gibt eine ballancierte 3-Färbung der Knoten:. 6 3. 1 v5. 1. 5. v4. ∃col : V → {1, 2, 3} : ∀{a, b} ∈ E : col(a) 6= col(b) und |{v | col(v ) = 1}| = |{v | col(v ) = 2}| = |{v | col(v ) = 3}|.. v1. 2. 4. v2. 2. 1 3 v3 2. Peter will nun beweisen, dass er eine ballancierte 3-Färbung für G kennt..

(19) Einleitung 5:16. Viele weitere Beispiele. 3-Färbung eines Graphen. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. 2/2. WS2015/16. Ballancierte 3-Färbung eines Graphen G = (V , E ) 3. Z. Anwendungen. Graph G = (V , E ). v6. Es gibt eine ballancierte 3-Färbung der Knoten:. 6 3. 1 v5. 1. 5. v4. ∃col : V → {1, 2, 3} : ∀{a, b} ∈ E : col(a) 6= col(b) und |{v | col(v ) = 1}| = |{v | col(v ) = 2}| = |{v | col(v ) = 3}|.. v1. 2. 4. v2. 2. 1 3 v3 2. Peter will nun beweisen, dass er eine ballancierte 3-Färbung für G kennt..

(20) Einleitung 5:17. Viele weitere Beispiele. 3-Färbung eines Graphen. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. 1/2. WS2015/16. Ballancierte 3-Färbung eines Graphen G = (V , E ) 1. Z. Anwendungen. Erzeuge Kästen für alle möglichen Kanten.. v2 2. Verschliesse die Kanten.. 3. 2 v6. 4. 6. v4. Verschliesse die Knoten. Verschliesse die Farben. Auf Anfrage zeige den Graphen.. v3. Für eine weitere Anfrage ist alles neu zu verschließen.. 1. 3. v1. 2. 1 5 v5 3. Oder zeige bei alternativer Anfrage die Korrektheit der Färbung. Dazu werden alle Kanten zwischen Knoten der gleichen Farbe aufgemacht..

(21) Einleitung 5:17. Viele weitere Beispiele. 3-Färbung eines Graphen. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. 2/2. WS2015/16. Ballancierte 3-Färbung eines Graphen G = (V , E ) 1. Z. Anwendungen. Erzeuge Kästen für alle möglichen Kanten.. v2 2. Verschliesse die Kanten.. 3. 2 v6. 4. 6. v4. Verschliesse die Knoten. Verschliesse die Farben. Auf Anfrage zeige den Graphen.. v3. Für eine weitere Anfrage ist alles neu zu verschließen.. 1. 3. v1. 2. 1 5 v5 3. Oder zeige bei alternativer Anfrage die Korrektheit der Färbung. Dazu werden alle Kanten zwischen Knoten der gleichen Farbe aufgemacht..

(22) Einleitung 5:18. Viele weitere Beispiele. 3-Färbung eines Graphen. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. 1/2. WS2015/16. 3-Färbung eines Graphen G = (V , E ) 3 1. 3 v5. 1 v3 2 3. 15. v4 2 6 10. Graph G = (V , E ). 2 v6. 2. v4. 1 v1. 1. 5 9 3. Es gibt eine 3-Färbung der Knoten:. v4. 17 11. 7. v3 2. 13. 1. 1. v1 8. 14 v5. v5. 2. 4. 2. 3. 18 v6. 12. v2. 3 16 v6 1 3 1. Z. Anwendungen. 2 v3 2. ∃col : V → {1, 2, 3} : ∀{a, b} ∈ E : col(a) 6= col(b) Peter will nun beweisen, dass er eine 3-Färbung für G kennt..

(23) Einleitung 5:18. Viele weitere Beispiele. 3-Färbung eines Graphen. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. 2/2. WS2015/16. 3-Färbung eines Graphen G = (V , E ) 3 1. 3 v5. 1 v3 2 3. 15. v4 2 6 10. Graph G = (V , E ). 2 v6. 2. v4. 1 v1. 1. 5 9 3. Es gibt eine 3-Färbung der Knoten:. v4. 17 11. 7. v3 2. 13. 1. 1. v1 8. 14 v5. v5. 2. 4. 2. 3. 18 v6. 12. v2. 3 16 v6 1 3 1. Z. Anwendungen. 2 v3 2. ∃col : V → {1, 2, 3} : ∀{a, b} ∈ E : col(a) 6= col(b) Peter will nun beweisen, dass er eine 3-Färbung für G kennt..

(24) Einleitung 5:19. Viele weitere Beispiele. Formales. Hinterlegung. 3-Färbung eines Graphen. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. 3-Färbung eines Graphen G = (V , E ) 2. 1. v1. v2. 1 v4 2. 4. 2. v5. 3. 3. v2. v6. v3. 9. 7. 5. 8. 18. v3. 1. v3. 2. v1. 15 v5 3. 6 v2 3. 1. 1. v4. v1. 2 1. Auf Anfrage zeige den Graphen. Für eine weitere Anfrage alles ist neu zu verschließen.. v6 11. 3 3. Verschliesse die Farben.. 16. v6 17 2. Verschliesse die Knoten.. 3. 14 2. Verschliesse die Kanten.. v4 12. 10. v5. Erzeuge Kästen für alle Kombinationen von Knoten und Farbe und alle möglichen Kanten.. 1. 13. Z. Anwendungen. Oder zeige bei alternativer Anfrage die Korrektheit der Färbung. Dazu werden alle Kanten zwischen Knoten der gleichen Farbe aufgemacht..

(25) Einleitung 5:20. Viele weitere Beispiele. Formales. 3-SAT. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Muster beim Zero-Knowledge-Proof P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Testet (Co, a, ReCo,a , W ). Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge. Protokoll für Kenntnis eines Graphenisomorphismuses. Protokoll für Kenntnis eines Graphennichtisomorphismuses. Protokoll für Kenntnis der Faktoren einer Zahl. Protokoll für Kenntnis einer 3-Färbung eines Graphen.. Z. Anwendungen WS2015/16.

(26) Einleitung 5:21. Viele weitere Beispiele. Formales. 3-SAT. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. 3-SAT Definition Eine Boolesche Formel F ist in Exact-3-KNF: Vm F(x1 , x2 , ..., xr ) = i=1 ci (Klauseln). ci. =. (Literale). lij. =. (li1 ∨ li2 ∨ li3 ) . ¬xk xk. oder für ein k ∈ {1, . . . , r }. ∀16i 6m . ∀16i 6m ∀16j 63. Eine Belegung ist eine Funktion W : {x1 , x2 , ..., xr } 7→ {0, 1}. Es ist NP-vollständig festzustellen, ob es für F eine erfüllende Belegung gibt. Wir übertragen die Idee des ZKP für die 3-Färbung.. Z. Anwendungen.

(27) Einleitung 5:22. Viele weitere Beispiele. Formales. Hinterlegung. 3-SAT. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. 3-SAT (Idee) 0. 1. x3. 1. 1. 9̄. 3 0. 1. 16. 1¯8 1̄. 17. x4. 14. 8. 0 17. 0. 2. 1. 1. 10 13 x7. 0. 6 x3 1. 0. x1. 1. 11. Verschließe Wahrheitswerte. 1. 0. Verschließe Klauseln.. 1. x5. x6. Kästen für alle mögliche Klauseln. Verschließe Variablen.. x9. 14 x7. x1. 18. 1¯0. 17. x9. Kasten für (x2 ∨ x̄5 ∨ x9 ) und so weiter.. x6. 3. 1. x8. Kasten für (x2 ∨ x9 ∨ x7 ).. x5 9 12. 7. 7. 0. 15. 15. 5. x4 1. 3. 4. x8. 3. 0. Alle Paare Variable und Wahrheitswert.. 0. x2. x2. 0. Z. Anwendungen. Zeige Formel. Verschließe alles neu. Zeige Korrektheit. Keine unerfüllte Klausel..

(28) Einleitung 5:23. Viele weitere Beispiele. Formales. Set-Partition-Problem. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Muster beim Zero-Knowledge-Proof P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Testet (Co, a, ReCo,a , W ). Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge. Protokoll für Kenntnis eines Graphenisomorphismuses. Protokoll für Kenntnis eines Graphennichtisomorphismuses. Protokoll für Kenntnis der Faktoren einer Zahl. Protokoll für Kenntnis einer 3-Färbung eines Graphen. Protokoll für Kenntnis der Belegung einer 3-SAT Formel.. Z. Anwendungen WS2015/16.

(29) Einleitung 5:24. Viele weitere Beispiele. Set-Partition-Problem. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Set-Partition-Problem Definition Das Set-Partition-Problem ist: Gegeben: Vektor A = (a1 , . . . , an ) P P Frage: Existiert I ⊂ {1, . . . , n} mit i∈I ai = i6∈I ai Dieses Problem liegt sogar für den Spezialfall |I | = d 2n e in NPC. Damit liegt auch das folgende Problem in NPC: Definition Gegeben: Vektoren A = (a1 , . . . , an ), B = (b1 , . . . , bn ) Frage: Gibt es eine Permutation Bp von B mit ABp = 0 Hinweis: Bei der Reduktion dieses Problems kann man B = (1, . . . , 1, −1, . . . , −1) wählen (jeweils 2n -mal die 1 und die −1).. Z. Anwendungen.

(30) Einleitung 5:25. Viele weitere Beispiele. Formales. Set-Partition-Problem. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Set-Partition-Problem (Idee) A. B. R. S. 7. 1. 2. 9. Erzeuge lösbaren Vektor R.. 12. 1. 15. 27. Erzeuge Summe aus A und R.. 4. −1. 6. 10. Verschließe A.. 5. 1. 3. 8. 1. −1. 4. 5. 13. −1. 14. 27. Zeige R · B = 0.. 3. 1. 5. 8. Verschließe alles neu.. 9. −1. 3. 12. Zeige S · B = 0.. Vektoren A und B.. Verschließe B. Verschließe R. Verschließe S.. Verschließe alles neu. Zeige A + R = S.. Z. Anwendungen WS2015/16.

(31) Einleitung 5:26. Viele weitere Beispiele. Formales. Idee zur Beweisführung. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Muster beim Zero-Knowledge-Proof P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Testet (Co, a, ReCo,a , W ). Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge. Protokoll für Kenntnis eines Graphenisomorphismuses. Protokoll für Kenntnis eines Graphennichtisomorphismuses. Protokoll für Kenntnis der Faktoren einer Zahl. Protokoll für Kenntnis einer 3-Färbung eines Graphen. Protokoll für Kenntnis der Belegung einer 3-SAT Formel. Protokoll für Lösung einer Set-Partition-Instanz.. Z. Anwendungen WS2015/16.

(32) Einleitung 5:27. Viele weitere Beispiele. Formales. Definition von Zero-Knowledge. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Muster beim Zero-Knowledge-Proof P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Z. Anwendungen. Testet (Co, a, ReCo,a , W ). Ziel: Beweise sicher die Kenntnis eines Geheimnisses, ohne dieses Geheimnis preiszugeben..

(33) Einleitung 5:28. Viele weitere Beispiele. Formales. Definition von Zero-Knowledge. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Muster beim Zero-Knowledge-Proof P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Z. Anwendungen. Testet (Co, a, ReCo,a , W ). Ziel: Beweise sicher die Kenntnis eines Geheimnisses, ohne dieses Geheimnis preiszugeben. Ein interaktives System ist Zero-Knowledge, falls gilt: Es gibt einen probabilistischen Simulator S(V , x) mit: S bestimmt ein akzeptierendes Transscript t in polynomieller Zeit. t und trP,V (x) sind statistisch (algorithmisch) nicht zu unterscheiden. V kann ohne P mit S(V , x) ein akzeptierendes Transscript erzeugen und damit ggf. an das Geheimnis von P kommen..

(34) Einleitung 5:29. Viele weitere Beispiele. Formales. Hinterlegung. Verfahren von Shamir. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Verfahren von Shamir Ziel: Beweise sicher die Kenntnis eines Geheimnisses, ohne dieses Geheimnis preiszugeben. Ein interaktives System ist Zero-Knowledge, falls gilt: Es gibt einen probabilistischen Simulator S(V , x) mit: S bestimmt ein akzeptierendes Transscript t in polynomieller Zeit. t und trP,V (x) sind statistisch (algorithmisch) nicht zu unterscheiden. V kann ohne P mit S(V , x) ein akzeptierendes Transscript erzeugen und damit ggf. an das Geheimnis von P kommen. P: n, p, q, x, y mit: y 2 mod n. V : n, x. wählt r ∈ Z∗ n zufällig a := r 2 mod n. a e. b := ry e mod n. b. wählt e ∈ {0, 1} zufällig ? Test b 2 ≡ ax e (mod n). Z. Anwendungen.

(35) Einleitung 5:30. Viele weitere Beispiele. Einleitung. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Verschließbare Kästen Verschließbare Kästen (engl. lockable boxes) sind eine wichtige Basis für viele Zero-Knowledge-Proofs. Sie werden dort beim Commitment verwendet. Sei sollen folgende Eigenschaften haben. 1 2 3. Z. Anwendungen. Eine Nachricht m wird von P bei V hinterlegt. Ohne die Hilfe von P kann V die Nachricht nicht entschlüsseln. Nach dem Hinterlegen kann P die Nachricht m nicht ändern..

(36) Einleitung 5:31. Viele weitere Beispiele. Formales. Kästen mittels quadratischen Resten. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Verschließbare Kästen 1 Eine Nachricht m wird von P bei V hinterlegt. Ohne die Hilfe von P kann V die Nachricht nicht entschlüsseln. Nach dem Hinterlegen kann P die Nachricht m nicht ändern. QRn die quadratischen Reste in Z∗n .  Jn+1 := {x ∈ Z∗n | xn = 1} die Zahlen in Z∗n mit Jacobisymbol 1. QNRn+1 := Jn+1 \ QRn . P: b ∈ {0, 1}. V:. wählt p, q große Primzahlen n := p · q wählt v ∈ QNRn+1 wählt r ∈ Z∗ n c := r 2 v b mod n. n, c, v Commit(b) p, q, r , b Open(b). Teste Teste Teste Teste. p, q Primzahlen n =p·q r ∈ Z∗ n v ∈ QNRn+1. ? Teste c ≡ r 2 v b (mod n). Z. Anwendungen.

(37) Einleitung 5:32. Viele weitere Beispiele. Formales. Hinterlegung. Kästen mittels diskreten Logarithmus. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Verschließbare Kästen 2 p, q Primzahlen mit q teilt p − 1, G Untergruppe der Ordnung q in Z∗p , g , v Generatoren in G zufällig. Damit ergibt sich folgendes System. P: m ∈ {2, . . . , p − 1}, p, g , v. V : p, g , v. wähle r ∈ {2, . . . , p − 1} c := g r v m mod p. c r, m. ?. Test c ≡ g r v m (mod p). Z. Anwendungen WS2015/16.

(38) Einleitung 5:33. Viele weitere Beispiele. Vergleich der Sicherheitsaspekte. Formales. Hinterlegung. 1/3. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Z. Anwendungen WS2015/16. Sicherheitsaspekte Bei den beiden letzten Verfahren wurden folgende Sicherheitsaspekte bewiesen: Verfahren mit quadratischen Resten: Die Box kann nicht verändert werden. Die Sicherheit ergab sich durch die nicht-Lösbarkeit von quadratischen Resten. Es gab keine Aussage, dass die Box nicht unbefugt geöffnet werden konnte. Verfahren mit diskreten Logarithmus: Die Box kann nicht geöffnet werden. Die Sicherheit ergab sich durch die nicht-Lösbarkeit vom diskreten Logarithmus. Es gab keine Aussage, dass die Box nicht verändert werden konnte..

(39) Einleitung 5:33. Viele weitere Beispiele. Vergleich der Sicherheitsaspekte. Formales. Hinterlegung. 2/3. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Z. Anwendungen WS2015/16. Sicherheitsaspekte Bei den beiden letzten Verfahren wurden folgende Sicherheitsaspekte bewiesen: Verfahren mit quadratischen Resten: Die Box kann nicht verändert werden. Die Sicherheit ergab sich durch die nicht-Lösbarkeit von quadratischen Resten. Es gab keine Aussage, dass die Box nicht unbefugt geöffnet werden konnte. Verfahren mit diskreten Logarithmus: Die Box kann nicht geöffnet werden. Die Sicherheit ergab sich durch die nicht-Lösbarkeit vom diskreten Logarithmus. Es gab keine Aussage, dass die Box nicht verändert werden konnte..

(40) Einleitung 5:33. Viele weitere Beispiele. Vergleich der Sicherheitsaspekte. Formales. Hinterlegung. 3/3. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Z. Anwendungen WS2015/16. Sicherheitsaspekte Bei den beiden letzten Verfahren wurden folgende Sicherheitsaspekte bewiesen: Verfahren mit quadratischen Resten: Die Box kann nicht verändert werden. Die Sicherheit ergab sich durch die nicht-Lösbarkeit von quadratischen Resten. Es gab keine Aussage, dass die Box nicht unbefugt geöffnet werden konnte. Verfahren mit diskreten Logarithmus: Die Box kann nicht geöffnet werden. Die Sicherheit ergab sich durch die nicht-Lösbarkeit vom diskreten Logarithmus. Es gab keine Aussage, dass die Box nicht verändert werden konnte..

(41) Einleitung 5. Viele weitere Beispiele. Formales. Inhaltsverzeichnis. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Zero-Knowledge-Proofs P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Testet (Co, a, ReCo,a , W ). Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge. Protokoll für Kenntnis eines Graphenisomorphismuses. Protokoll für Kenntnis eines Graphennichtisomorphismuses. Protokoll für Kenntnis der Faktoren einer Zahl. Protokoll für Kenntnis einer 3-Färbung eines Graphen. Protokoll für Kenntnis der Belegung einer 3-SAT Formel. Protokoll für Lösung einer Set-Partition-Instanz.. Z. Anwendungen WS2015/16.

(42) Einleitung 5:35. Viele weitere Beispiele. Formales. Einfache Protokolle. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Zero-Knowledge-Proofs P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Testet (Co, a, ReCo,a , W ). Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge. Protokoll für Kenntnis eines Graphenisomorphismuses. Protokoll für Kenntnis eines Graphennichtisomorphismuses. Kein Protokoll für Kenntnis der Faktoren einer Zahl. Protokoll für Kenntnis einer 3-Färbung eines Graphen. Protokoll für Kenntnis der Belegung einer 3-SAT Formel. Protokoll für Lösung einer Set-Partition-Instanz.. Z. Anwendungen WS2015/16.

(43) Einleitung 5:36. Viele weitere Beispiele. Formales. Einfache Protokolle. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Zero-Knowledge-Proofs P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co. wählt a. a ReCo,a. Testet (Co, a, ReCo,a , W ). Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge. Protokoll für Kenntnis eines Graphenisomorphismuses. Kein Protokoll für Kenntnis eines Graphennichtisomorphismuses. Kein Protokoll für Kenntnis der Faktoren einer Zahl. Protokoll für Kenntnis einer 3-Färbung eines Graphen. Protokoll für Kenntnis der Belegung einer 3-SAT Formel. Protokoll für Lösung einer Set-Partition-Instanz.. Z. Anwendungen.

(44) Einleitung 5:37. Viele weitere Beispiele. Formales. Hinterlegung. Zero-Knowledge-Proof und Komplexitätsklassen. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Zero-Knowledge-Proof Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge. Protokoll für Kenntnis eines Graphenisomorphismuses. Protokoll für Kenntnis einer 3-Färbung eines Graphen. Protokoll für Kenntnis der Belegung einer 3-SAT Formel. Protokoll für Lösung einer Set-Partition-Instanz. Protokoll für jedes Problem aus N P.. Z. Anwendungen WS2015/16.

(45) Einleitung 5:38. Viele weitere Beispiele. Formales. Hinterlegung. Komposition von Zero-Knowledge-Proofs. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Zero-Knowledge-Proof Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge. Protokoll für Kenntnis eines Graphenisomorphismuses. Protokoll für Kenntnis einer 3-Färbung eines Graphen. Protokoll für Kenntnis der Belegung einer 3-SAT Formel. Protokoll für Lösung einer Set-Partition-Instanz. Protokoll für jedes Problem aus N P. Hintereinanderausführung von Zero-Knowledge-Proofs sind Zero-Knowledge-Proofs.. Z. Anwendungen WS2015/16.

(46) Einleitung 5:39. Viele weitere Beispiele. Formales. Hinterlegung. Komposition von Zero-Knowledge-Proofs. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Zero-Knowledge-Proof Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge. Protokoll für Kenntnis eines Graphenisomorphismuses. Protokoll für Kenntnis einer 3-Färbung eines Graphen. Protokoll für Kenntnis der Belegung einer 3-SAT Formel. Protokoll für Lösung einer Set-Partition-Instanz. Protokoll für jedes Problem aus N P. Hintereinanderausführung von Zero-Knowledge-Proofs sind Zero-Knowledge-Proofs. Parallelausführung von Zero-Knowledge-Proofs müssen nicht Zero-Knowledge-Proofs sein.. Z. Anwendungen WS2015/16.

(47) Einleitung 5:40. Viele weitere Beispiele. Formales. Komposition von Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Z. Anwendungen WS2015/16. Zero-Knowledge-Proof Protokoll für Kenntnis eines Hamiltonkreises. Protokoll für Kenntnis eines perfekten Matchings. Protokoll für Kenntnis einer stabilen Menge. Protokoll für Kenntnis eines Graphenisomorphismuses. Protokoll für Kenntnis einer 3-Färbung eines Graphen. Protokoll für Kenntnis der Belegung einer 3-SAT Formel. Protokoll für Lösung einer Set-Partition-Instanz. Protokoll für jedes Problem aus N P. Hintereinanderausführung von Zero-Knowledge-Proofs sind Zero-Knowledge-Proofs. Parallelausführung von Zero-Knowledge-Proofs müssen nicht Zero-Knowledge-Proofs sein. Für jede Sprache aus N P gibt es ein Protokoll, welches Zero-Knowledge ist, und auch dessen Parallelausführung ist Zero-Knowledge. Für jede Sprache aus N P gibt es ein Protokoll, welches Zero-Knowledge ist und konstante Rundenzahl hat..

(48) Einleitung 5:41. Viele weitere Beispiele. Formales. Identifikation mit Zero-Knowledge-Proofs. 1/2. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Beispiele Erstes Beispiel: Allen bekannt ist dabei n = p · q, wobei p und q mit p, q ≡ 3 mod 4 durch eine vertrauenswürdige Person bestimmt wurden. V : pi (P) = (d1 , . . . , dk ). P: i(P) = (c1 , . . . , ck ) pi (P) = (d1 , . . . , dk ) Für alle 1 6 j 6 k gilt dabei: dj cj2 ≡ ±1 mod n wähle r ∈ N wähle x ∈ {±r 2 mod n} y := r. Beachte: y 2. Q. j∈S. x S y. cj mod n. dj ≡ r 2. wähle Teilmenge S ⊂ {1, . . . , k} Q Teste: x ≡ ±y 2 j∈S dj (mod n). cj2 dj ≡ ±r 2 ≡ ±x (mod n). Q Betrug: Rate S und sende ±r 2 j∈S dj mod n als x und y = r . Q. j∈S. Q. j∈S. Z. Anwendungen.

(49) Einleitung 5:41. Viele weitere Beispiele. Formales. Identifikation mit Zero-Knowledge-Proofs. 2/2. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Beispiele Erstes Beispiel: Allen bekannt ist dabei n = p · q, wobei p und q mit p, q ≡ 3 mod 4 durch eine vertrauenswürdige Person bestimmt wurden. V : pi (P) = (d1 , . . . , dk ). P: i(P) = (c1 , . . . , ck ) pi (P) = (d1 , . . . , dk ) Für alle 1 6 j 6 k gilt dabei: dj cj2 ≡ ±1 mod n wähle r ∈ N wähle x ∈ {±r 2 mod n} y := r. Beachte: y 2. Q. j∈S. x S y. cj mod n. dj ≡ r 2. wähle Teilmenge S ⊂ {1, . . . , k} Q Teste: x ≡ ±y 2 j∈S dj (mod n). cj2 dj ≡ ±r 2 ≡ ±x (mod n). Q Betrug: Rate S und sende ±r 2 j∈S dj mod n als x und y = r . Q. j∈S. Q. j∈S. Z. Anwendungen.

(50) Einleitung 5:42. Viele weitere Beispiele. Formales. Identifikation mit Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. WS2015/16. Beispiele Definition Das Set-Partition-Problem ist: Gegeben: Vektor A = (a1 , . . . , an ) P P Frage: Existiert I ⊂ {1, . . . , n} mit i∈I ai = i6∈I ai Dieses Problem liegt sogar für den Spezialfall |I | = d 2n e in NPC. Damit liegt auch das folgende Problem in NPC: Definition Gegeben: Vektoren A = (a1 , . . . , an ), B = (b1 , . . . , bn ) Frage: Gibt es eine Permutation Bp von B mit ABp = 0. Z. Anwendungen.

(51) Einleitung 5:43. Viele weitere Beispiele. Formales. Identifikation mit Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Beispiele V : A, B. P: A, B, p mit: A = (a1 , . . . , an ) und B = (b1 , . . . , bn ) Kennt Permutation p mit ABp = 0 wähle Vektor R, Permutation q. C := Rq + dBp·q falls d 0 = 0 falls d 0 = 1. h(q, AR) h(pq, Rq ) d C d0 q. wähle d ∈ {0, 1} wähle d 0 ∈ {0, 1} ?. h(q, Aq C ) = h(q, AR) p·q. ?. h(pq, C − dBp·q ) = h(pq, Rq ). Z. Anwendungen WS2015/16.

(52) Einleitung 5:44. Viele weitere Beispiele. Einfache Identifikation nach Shamir. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. 2/2. Beispiele P: n, p, q, x, y mit: y 2 mod n wählt r ∈ Z∗ n zufällig a := r 2 mod n b := ry e mod n. V : n, x a e b. wählt e ∈ {0, 1} zufällig ? Test b 2 ≡ ax e (mod n). Z. Anwendungen WS2015/16.

(53) Einleitung 5:45. Viele weitere Beispiele. Formales. Hinterlegung. Einfache Identifikation nach Shamir. Beweise, Aussagen. Walter Unger 12.12.2015 16:05. Beispiele P: n, p, q, x, y mit: y 2 mod n wählt r ∈ Z∗ n zufällig. V : n, x a e b. a := r 2 mod n b := ry e mod n. wählt e ∈ {0, 1} zufällig ? Test b 2 ≡ ax e (mod n). V : n, x. P: n, p, q, x, y mit: y = (y1 , . . . , yt ) und x = (y12 , . . . , yt2 ) und n = p · q wählt r ∈ Z∗ n zufällig a := r 2. b := r. Qt. e. i i=1 yi. a. wählt e ∈ {0, 1}t. e. e = (e1 , . . . , et ) zufällig ? Q e Test b 2 ≡ a ti=1 xi i (mod n). b. Z. Anwendungen WS2015/16.

(54)

Referenzen

ÄHNLICHE DOKUMENTE

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen. 3 Inhaltsverzeichnis Walter Unger 12.12.2015 15:32

Um die zu verhindern reicht es aus, OAEP oder kollisionssichere Hashfunktionen zu

4:26 Idee der Datenübertragung Walter Unger 12.12.2015 16:03 WS2015/16 Z?.

Kompositionen III Satz Für jede Sprache aus N P gibt es ein Protokoll, welches Zero-Knowledge ist, und auch dessen Parallelausführung ist Zero-Knowledge.. Satz Für jede Sprache aus N

Dieses Protokoll werden wir beim elektronischen Geld und dem letzten Wahlsystem noch sehen... Beweist, dass zwei diskrete Logarithmen

7:19 Verfahren ohne möglichem Stimmenkauf Walter Unger 12.12.2015 15:55 WS2015/16

7:7 Wählen durch gegenseitiges Mischen Walter Unger 12.12.2015 15:57 WS2015/16 Z.. Wählen durch gegenseitiges Mischen

erhält ein von der Bank unterschriebenes Public-Key-Verfahren für den Nutzer und den öffentlichen Schlüssel der Bank.. Damit können nun Quittungen und unterschriebene