• Keine Ergebnisse gefunden

Algorithmische Kryptographie (WS2013/14) Kapitel 5 Zero-Knowledge Walter Unger

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithmische Kryptographie (WS2013/14) Kapitel 5 Zero-Knowledge Walter Unger"

Copied!
81
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)Algorithmische Kryptographie (WS2013/14) Kapitel 5 Zero-Knowledge. Walter Unger Lehrstuhl für Informatik 1. 14:30 Uhr, den 15. November 2013.

(2) Einleitung. Viele weitere Beispiele. Formales. Hinterlegung. (5:2). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. 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. 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 Unterschriften mit Zero-Knowledge-Proofs. Z. x.

(3) Einleitung Motivation. Viele weitere Beispiele. Formales. (5:1). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. Einleitung „Bekanntlich“ gibt es nur. Z. Jemand (Peter) behauptet: Es gibt ein weiteres Edelgas. 6 Edelgase. eine weitere Wilson-Primzahl. 3 Wilson-Primzahlen. eine weitere Aminosäure. 20 Aminosäuren Nun muss Peter seine Behauptung beweisen. I Beteiligt sind P (Prover, Peter) und V (Verifizierer, Viktor). I P, der Prover, möchte Behauptung beweisen. I V , der Verifizierer, will Beweis sehen. I Wenn P ein neues Objekt kennt, dann kann er dessen Existenz beweisen. I Eine Lüge von P soll erkannt werden. I P will aber keine weitere Information preisgeben. I Lösung: Zero-Knowledge-Proof. g.

(4) Einleitung. Viele weitere Beispiele. Anschauliches Beispiel. Formales. (5:2). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. Idee am Beispiel. Z. 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. 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.. g.

(5) Einleitung. Viele weitere Beispiele. Anschauliches Beispiel. Formales. (5:3). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. Das Protokoll oder der Nutzen eines Betrugs. Z. Viktor geht nun vor Gericht: Er will den halben Wert des Jokers aus dem Erbe haben. Als Beweis präsentiert er Filmaufnahmen, von jedem Tag eine. Kann er den Beweis der Existenz des Jokers führen und den Prozess gewinnen? Peter behauptet nun aber, er hat immer nur geraten. Denn das waren alles Tests; also eine statistische Untersuchung, wie viele Betrugsversuche fehlschlagen. Und was Viktor hier zeigt, sind nur die Aufnahmen, wo Peter richtig geraten hat. Es müsste noch weitere Aufnahmen geben, die Viktor verheimlicht. Damit steht Aussage gegen Aussage. Damit ist der Beweis, den Viktor erhielt, nicht an das Gericht “übertragbar”. Das ist eine wichtige Eigenschaft von Zero-Knowledge-Proofs.. g.

(6) Einleitung. Viele weitere Beispiele. Grundlagen. (5:4). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Muster beim Zero-Knowledge-Proof Phase 1: Commitment (Hinterlegung) Phase 2: Challenge (Herausforderung) Phase 3: Response (Antwort) P: kennt W und x wählt Co. V : kennt W Co a. bestimmt ReCo,a. ReCo,a. Z. Anwendungen. wählt a Testet (Co, a, ReCo,a , W ). Wichtig Wiederhole das Verfahren zur Verkleinerung der Betrugswahrscheinlichkeit.. w.

(7) Einleitung. Viele weitere Beispiele. Grundlagen. (5:5). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Einfache verschließbare Kästen Wir benötigen nun erst einmal einen einfachen verschließbaren Kasten. Die klassische Anwendung für „lockable boxes” ist die Testamentshinterlegung bzw. -eröffnung. A: EA , DA , w c := EA (w ). B: EA c w , DA. Teste, ob D −1 = ˆ EA A w := DA (c). Später werden wir bessere Kästen sehen: 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. w.

(8) Einleitung. Viele weitere Beispiele. Hamilton-Kreis. Formales. Hinterlegung. (5:6). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Hamilton-Kreis v18. v17. 18. 17. v16. v1 v2. Ein Graph G = (V , E ) hat einen Hamilton-Kreis, gdw. es existiert C|V | als Teilgraph von G.. 2. v15. v3. 3 15. 4. v14. v4. 14 5. v13 13 6 v12 12. v6 7. 11 v11. 10 v10. 9 v9. 8 v8. WS2013/14. Definition. 1. 16. 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.. w.

(9) Einleitung. Viele weitere Beispiele. Hamilton-Kreis. Formales. Hinterlegung. (5:7). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Hamilton-Kreis (Idee) v8. v4. 8. 4. v17. Bereite den Graph vor.. v5 5. v9. Erzeuge Nicht-Kanten.. 9. 17 v16. Verschließe Kanten.. v10. 10. Verschließe Knoten.. 16 18 v18. v13 13. v7. 6 7 15 v2. 2. v15 11. 3 v3. 1 v1. 14 v14. 12 v12. Z. Anwendungen. v11. v6. 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.. w.

(10) Einleitung. Viele weitere Beispiele. Hamilton-Kreis. Formales. (5:8). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Z. Anwendungen WS2013/14. Hamilton-Kreis Knotenboxen: Bi , 1 6 i 6 t, mit δ(Bi ) ∈ V und ∪16i6t δ(Bi ) = V .. Kantenboxen: Bij , 1 6 i 6 j 6 t, mit δ(Bij ) = 1 : ⇐⇒ (δ(Bi ), δ(Bj )) ∈ E . Die Funktion δ gibt also den Inhalt der Boxen frei. Kenntnis eines Hamiltonkreises P: G = (V , E ), |V | = t und H mit:. V : G = (V , E ), t. H = (V , F ) ∼ = Ct bestimmt B1 , . . . , Bt mit: δ(B1 , . . . , Bt ) = V bestimmt Bij , 1 6 i < j 6 t mit: δ(Bij ) = 1 ⇐⇒ {δ(Bj ), δ(Bi )} ∈ E. Falls x = 0. Bij , Bi 16i <j 6t x δ(Bi ), δ(Bij ) 1 6 i 6 t, i < j 6 t. wähle x ∈ {0, 1} testet G. Falls x = 1 F 0 = {{i, j} | {δ(Bi ), δ(Bj )} ∈ F }. δ(Bij ) i < j, {i, j} ∈ F 0. testet Ct. w.

(11) Einleitung. Viele weitere Beispiele. Perfektes Matching. Formales. Hinterlegung. (5:9). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Perfektes Matching v18. v17. 18. 17. v16. 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.. w.

(12) Einleitung. Viele weitere Beispiele. Perfektes Matching. Formales. Hinterlegung. (5:10). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Perfektes Matching (Idee) v11. v14. 11. 14. v17. Bereite den Graph vor.. v16 16. v12. Erzeuge Nicht-Kanten.. 12. 17 v4. Verschließe Kanten.. v1. 1. Verschließe Knoten.. 4 9. v10. v9. 10. v6. 2 6 8 v15 15. v8 3. 7 v7. 13 v13. 18 v18. 5 v5. Z. Anwendungen. v3. v2. 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.. w.

(13) Einleitung. Viele weitere Beispiele. Perfektes Matching. Formales. (5:11). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Z. Anwendungen WS2013/14. Perfektes Matching Knotenboxen: Bi , 1 6 i 6 t, mit δ(Bi ) ∈ V und ∪16i6t δ(Bi ) = V .. Kantenboxen: Bij , 1 6 i 6 j 6 t, mit δ(Bij ) = 1 : ⇐⇒ (δ(Bi ), δ(Bj )) ∈ E . Kenntnis eines 1-Faktors P: G = (V , E ), |V | = t und H mit:. V : G = (V , E ), t. H = (V , F ) ist 1-Faktor bestimmt B1 , . . . , Bt mit: δ(B1 , . . . , Bt ) = V bestimmt Bij , 1 6 i < j 6 t mit: δ(Bij ) = 1 ⇐⇒ {δ(Bj ), δ(Bi )} ∈ E. Falls x = 0. Bij , Bi 16i <j 6t x δ(Bi ), δ(Bij ) 1 6 i 6 t, i < j 6 t. wähle x ∈ {0, 1}. testet G. Falls x = 1 F 0 = {{i, j} | {δ(Bi ), δ(Bj )} ∈ F }. δ(Bij ) i < j, {i, j} ∈ F 0. testet 1-Faktor. w.

(14) Einleitung. Viele weitere Beispiele. Stabile Menge. Formales. Hinterlegung. (5:12). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Independent Set (Stabile Menge) v11. v14. 11. 14. v17. v16 v12. v9. 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 .. v2. Theorem. 12. v4. v1. 1 4. 9. v10 10. v6. 2 6 8 v15 15. v8 3. 7 v7. 13 v13. 18 v18. 5 v5. WS2013/14. Definition. 16. 17. Z. Anwendungen. v3. Für gegebenes k und Graphen G festzustellen, ob G eine unabhängige Menge der Größe k hat, ist NP-vollständig.. w.

(15) Einleitung. Viele weitere Beispiele. Stabile Menge. Formales. Hinterlegung. (5:13). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Independent Set (Idee) v17. v9. 17. 9. v8. Gegeben ein Graph. v14 14. v4. Verschliesse Kanten.. 4. 8 v1. 15. Verschliesse Knoten.. v15. 1 16 v16. v6 6. 12. v18 18 5 v7. 7. v5 11. 2 v2. 13 v13. 3 v3. 10 v10. Z. Anwendungen. v11. v12. 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.. w.

(16) Einleitung. Viele weitere Beispiele. Stabile Menge. Formales. Hinterlegung. (5:14). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Z. Anwendungen WS2013/14. Independent Set Knotenboxen: Bi , 1 6 i 6 t, mit δ(Bi ) ∈ V und ∪16i6t δ(Bi ) = V .. Kantenboxen: Bij , 1 6 i 6 j 6 t, mit δ(Bij ) = 1 : ⇐⇒ (δ(Bi ), δ(Bj )) ∈ E . Kenntnis einer stabilen Menge P: G = (V , E ), |V | = t, I ⊂ V mit:. V : G = (V , E ), k. |I| = k und ∀a, b ∈ I : {a, b} 6∈ E bestimmt B1 , . . . , Bt mit: δ(B1 , . . . , Bt ) = V bestimmt Bij , 1 6 i < j 6 t mit: δ(Bij ) = 1 ⇐⇒ {δ(Bj ), δ(Bi )} ∈ E. Bij , Bi 16i <j 6t x. Falls x = 0. δ(Bi ), δ(Bij ) 1 6 i 6 t, i < j 6 t. wähle x ∈ {0, 1}. testet: Boxen enthalten G. Falls x = 1 bestimmt I 0 = {i | δ(Bi ) ∈ I}. δ(Bij ) {i, j} ⊂ I 0. testet: I 0 enthällt keine Kanten. w.

(17) Einleitung. Viele weitere Beispiele. Graphenisomorphismus. (5:15). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Einleitung Definition Zwei Graphen G = (V , E ) und G 0 = (V 0 , E 0 ) heissen isomorph, gdw: 1. ∃e : V 7→ V 0 mit. 2. e ist Bijektion und. ∀a, b ∈ V : {a, b} ∈ E ⇐⇒ {e(a), e(b)} ∈ E 0 Schreibweise: G ∼ = G 0 bzw. G ∼ =e G 0 3. D.h. G und G 0 sind bis auf die Knotennamen nicht zu unterscheiden. Erste Protokoll: P kennt einen Graphenisomorphismus zwischen G1 und G2 und will V von der Kenntnis überzeugen. Zweite Protokoll: P kennt Unterschied zwischen G1 und G2 und will V von der Kenntnis überzeugen.. Z. Anwendungen. w.

(18) Einleitung. Viele weitere Beispiele. Graphenisomorphismus. Formales. Hinterlegung. (5:16). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Graphenisomorphismus Graphisomorphismus P: G1 , G2 , e : G1 ∼ = e G2 wählt Isomorphismus e 0 bestimmt Gα : Gα ∼ = e 0 G1 falls x = 1 setze: f := e 0 falls x = 2 setze: f := e 0 ◦ e. V : G1 = (V , E ), G2 = (V 0 , E 0 ) Gα x. wählt x ∈ {1, 2}. f. testet: Gα ∼ = f Gx. Graphnichtisomorphismus P: G1 = (V , E ), G2 = (V 0 , E 0 ). V : G1 = (V , E ), G2 = (V 0 , E 0 ) Hj. bestimmt für 1 6 j 6 k : xj mit: Hj ∼ = Gxj. 16j 6k xj 16j 6k. wählt i1 , . . . , ik ∈ {1, 2} bestimmt für 1 6 j 6 k: Hj ∼ = Gij ?. testet xj = ij für 1 6 j 6 k. Frage: Welche Rechenleistung können/müssen P und V haben.. Z. Anwendungen. w.

(19) Einleitung. Viele weitere Beispiele. Kenntnis der Faktoren. Formales. (5:17). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Kenntnis der Faktoren P will V davon überzeugen, dass er p und q kennt (die aktoren von n), aber p und q sollen geheim bleiben. Kenntnis der Faktoren P: p, q, n = p · q. V: n wählt x ∈ N. Berechnet Wurzeln x1 und x2 d.h. xi2 ≡ y (mod n), i ∈ {1, 2} Bestimmt x mit x 2 ≡ xi (mod n) für ein i. y. ±x 2. y := x 4 mod n. Testet Wert. Z. Anwendungen. w.

(20) Einleitung. Viele weitere Beispiele. 3-Färbung eines Graphen. Formales. (5:18). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. 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.. w.

(21) Einleitung. Viele weitere Beispiele. 3-Färbung eines Graphen. Formales. (5:19). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. 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. 3. 6. v3. Verschliesse die Knoten. Verschliesse die Farben. Auf Anfrage zeige den Graphen.. v1. Für eine weitere Anfrage ist alles neu zu verschließen.. 4. 1. v4. 1. 2 5 v5 3. Oder zeige bei alternativer Anfrage die Korrektheit der Färbung. Dazu werden alle Kanten zwischen Knoten der gleichen Farbe aufgemacht.. w.

(22) Einleitung. Viele weitere Beispiele. 3-Färbung eines Graphen. Formales. (5:20). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. 3-Färbung eines Graphen G = (V , E ) 3. Z. Anwendungen. Graph G = (V , E ). v6. Es gibt eine 3-Färbung der Knoten:. 6 3. 1 v5. 1. 5. v4. v1. ∃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.. 2. 4. v2. 2. 1 3 v3 2. w.

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

(24) Einleitung. Viele weitere Beispiele. 3-Färbung eines Graphen. Formales. Hinterlegung. (5:22). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. 3-Färbung eines Graphen Kenntnis der 3-Färbung P: G = (V , E ), |V | = t. V : G = (V , E ), t. kennt c : V → {1, 2, 3} mit: ∀(a, b) ∈ E : c(a) 6= c(b) bestimmt Bi , Bic , Bij (1 6 i, j 6 3t): ∀(v , c) ∈ V × {1, 2, 3} : ∃j : δ(Bj ) = vj ∧ δ(Bjc ) = c δ(Bij ) = 1 ⇐⇒ (δ(Bi ), δ(Bj )) ∈ E ∧ δ(Bic ) = c(δ(Bi )) ∧ δ(Bjc ) = c(δ(Bj )). Bi , Bic , Bij 1 6 i, j 6 3t. wählt x ∈ {0, 1}. x. Falls x = 0. δ(Bi ), δ(Bij ) 1 6 i, j 6 3t. testet: Boxen enthalten G und 2t isolierte Knoten. Falls x = 1. δ(Bic ), δ(Bij ) 1 6 i, j 6 3t δ(Bic ) = δ(Bjc ). Z. Anwendungen. testet: keine Kante sichtbar zwischen Knoten gleicher Farbe. w.

(25) Einleitung 3-SAT. Viele weitere Beispiele. Formales. (5:23). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. 3-SAT Definition Eine Boolesche Formel F ist in Exact-3-KNF: F(x1 , x2 , ..., xr ). =. Vm. (Klauseln). ci. =. (li1 ∨ li2 ∨ li3 ). (Literale). lij. =. i=1. . ci. ¬xk xk. oder für ein k ∈ {1, . . . , r }. ∀16i 6m. . ∀16i 6m ∀16j63. 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. s.

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

(27) Einleitung 3-SAT. Viele weitere Beispiele. (5:25). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. 3-SAT (Idee) Die Formel F habe r Variablen, d.h. 2r Literale. W : {x1 , x2 , ..., xr } 7→ {0, 1} ist erfüllende Belegung. 2r Kästen Bi , mit 1 6 i 6 2r und δ(Bi ) ∈ {x1 , x2 , . . . , xr }. 2r Kästen BiT , mit 1 6 i 6 2r und δ(BiT ) ∈ {0, 1}. Mit ∀x ∈ {x1 , x2 , . . . , xr }, w ∈ {0, 1} : ∃i : δ(Bi ) = x ∧ δ(BiT ) = w . (4r )3 Kästen Bijk mit i, j, k ∈ {1, . . . , 2r , 1, . . . , 2r } und δ(Bi 0 j 0 k 0 ) = 1 ⇐⇒ F enthält zugehörige Klausel (v˜i , v˜j , v˜k ): i 0 = i ∧ δ(Bi ) = vi ∧ δ(BiT ) = W (vi ) ∧ v˜i = vi . i 0 = i ∧ δ(Bi ) = vi ∧ δ(BiT ) = W (vi ) ∧ v˜i = vi . j 0 = j ∧ δ(Bj ) = vj ∧ δ(BjT ) = W (vj ) ∧ v˜j = vj . j 0 = j ∧ δ(Bj ) = vj ∧ δ(BjT ) = W (vj ) ∧ v˜j = vj . k 0 = k ∧ δ(Bk ) = vk ∧ δ(BkT ) = W (vk ) ∧ v˜k = vk . k 0 = k ∧ δ(Bk ) = vi ∧ δ(BkT ) = W (vk ) ∧ v˜k = vk .. Z. s.

(28) Einleitung 3-SAT. Viele weitere Beispiele. Formales. Hinterlegung. (5:26). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. 3-SAT 2r Kästen Bi , mit 1 6 i 6 2r und δ(Bi ) ∈ {x1 , x2 , . . . , xr }. 2r Kästen BiT , mit 1 6 i 6 2r und δ(BiT ) ∈ {0, 1}. (4r )3 Kästen Bijk mit i, j, k ∈ {1, . . . , 2r , 1, . . . , 2r } und δ(Bi 0 j 0 k 0 ) = 1 ⇐⇒ F enthält zugehörige Klausel (v˜i , v˜j , v˜k ). Kenntnis einer Belegung P: F V: F Bestimmt Bijk , Bi , BiT. falls x = 0. Bijk , Bi , BiT x δ(Bi ) und δ(Bijk ). wähle x ∈ {0, 1} teste die Darstellung der Formel F. falls x = 1. δ(BiT ) und δ(Bijk ) mit (∗). teste auf korrekte Wahrheitsbelegung, d.h. alle geöffneten Bijk müssen 0 enthalten (d.h. keine Klausel ist false). Dabei bedeutet (∗): Jeder Index ist entweder von der Form x und δ(BxT ) = false oder von der Form x und δ(BxT ) = true.. Anwendungen WS2013/14. Z. s.

(29) Einleitung 3-SAT. Viele weitere Beispiele. Formales. Hinterlegung. (5:27). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. Kleines Beispiel in 2-Sat F(a, b) = (a ∨ b) ∧ (a ∨ b̄) ∧ (ā ∨ b̄). Belegung: a = 1 und b = 0. Boxen Bi und BiT für 1 6 i 6 4: i δ(Bi ) δ(BiT ). 1 a 0. 2 b 0. 3 b 1. 4 a 1. Boxen Bĩ j̃ mit i < j: δ(B24 ) = δ(B2̄4 ) = δ(B2̄4̄ ) = 1 und δ(Bĩ j̃ ) = 0 für alle anderen Kombinationen.. Z. Bei Anfrage: Zeige Formel, öffne: Alle Bi und alle Bĩ j̃ . Bei Anfrage: Zeige Korrekteit der Formel, öffne: Alle BiT und alle Blk mit l, k ∈ 1, 2, 3̄, 4̄ und l 6= k. D.h. öffene auch B24̄ .. s.

(30) Einleitung. Viele weitere Beispiele. Set-Partition-Problem. (5:28). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. Set-Partition-Problem Definition Das Set-Partition-Problem ist: Gegeben: Vektor A = (a1 , . . . , an ) P P Frage: Existiert I ⊂ {1, . . . , n} mit a = i6∈I ai i∈I i Dieses Problem liegt sogar für den Spezialfall |I| = d n2 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 n2 -mal die 1 und die −1).. Z. s.

(31) Einleitung. Viele weitere Beispiele. Set-Partition-Problem. Formales. (5:29). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. Set-Partition-Problem (Idee) Wir haben hier Zahlen (Vektor A), d.h. wir müssen die Lösung gut “verstecken”. Idee: Erzeuge zufällig eine weitere lösbare Instanz R. Addiere A und R zu einer Instanz S. Damit ist S genau dann lösbar, wenn A auch lösbar ist. Auf Anfrage zeige: Die Addition wurde richtig ausgeführt. Zeige Lösung für S. Zeige Lösung für R.. Z. s.

(32) Einleitung. Viele weitere Beispiele. Set-Partition-Problem. Formales. (5:30). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. 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.. Anwendungen WS2013/14. Z. s.

(33) Einleitung. Viele weitere Beispiele. Set-Partition-Problem. Formales. (5:31). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Set-Partition-Problem Kenntnis der Set-Partition A: A = (a1 , . . . , at ) B: A = (a1 , . . . , at ) kennt B = (l1 , . . . , lt ) ∈ {−1, 1}t mit A · B = 0 Bestimmt Bi mit ∀1 6 j 6 t : ∃ij : δ(Bij ) = aj Bestimmt Bi0 mit ∀1 6 j 6 t : ∃ij : δ(Bi0 ) = lj j. Bestimmt R = (r1 , . . . , rt ) Bestimmt Bir mit ∀1 6 j 6 t : ∃ij : δ(Bir ) = rj j. Bestimmt S = (s1 , . . . , srt ) mit si = ai + ri Bestimmt Bis mit ∀1 6 j 6 t : ∃ij : δ(Bis ) = sj j. Bi , Bi0 , Bir , Bis 16i 6t x. Falls x = 1:. Falls x = 2:. Falls x = 3:. Bi , Bir , Bis 16i 6t. Bi0 , Bir 16i 6t. Bi0 , Bis 16i 6t. Wählt x ∈ {1, 2, 3} Testet A + R = S. Testet R · B = 0. Testet S · B = 0. Anwendungen WS2013/14. Z. s.

(34) Einleitung. Viele weitere Beispiele. Idee zur Beweisführung. (5:32). Formales. Hinterlegung. Beweise, Aussagen. Anwendungen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Rückblick Wenn Peter das Geheimnis kennt, kann er den Beweis führen. Wenn Peter das Geheimnis nicht kennt, dann wird er mit hoher Wahrscheinlichkeit überführt. Es ist noch zu zeigen: Das Geheimnis von Peter ist sicher. D.h. durch die Teilnahme am Protokoll wird nichts verraten. Man kann die Nachrichten eines analogen Protokolls erzeugen: 1 2 3 4. Viktor kann Simone bitten, viele Durchläufe zu versuchen. Nur ca. 50% der Durchläufe sind korrekt. Die korrekten Versuche gleichen den Durchläufen von Peter. Aus den korrekten Versuchen ergibt sich ein analoges Protokoll.. Durch die Teilnahme von Peter wird sein Geheimnis nicht verraten.. Z. s.

(35) Einleitung. Viele weitere Beispiele. Definition von Zero-Knowledge. Formales. (5:33). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Grundlagen Seien im Folgenden P und V Algorithmen (Turingmaschinen) mit: polynomieller Laufzeit können probabilistisch sein gemeinsames x als Eingabe können gemeinsam über Kanäle (Bänder) kommunizieren P sendet die Nachrichten m1 , m3 , m5 , · · · , mn . V sendet die Nachrichten m2 , m4 , m6 , · · · , mn−1 . Das Transscript der Kommunikation zwischen V und P ist: trP,V (x ) = (m1 , m2 , m3 , m4 , m5 , · · · , mn ). Dieses wird ein interaktives System genannt.. Z. Anwendungen WS2013/14. w.

(36) Einleitung. Viele weitere Beispiele. Definition von Zero-Knowledge. (5:34). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Z. Anwendungen WS2013/14. Formale Definition, die Anforderungen Definition 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.. Motivation: V kann ohne P mit S(V , x ) ein akzeptierendes Transscript erzeugen und damit ggf. an das Geheimnis von P kommen. Wichtig: Es muss V (ggf. betrügerisch) verwendet werden.. w.

(37) Einleitung. Viele weitere Beispiele. Verfahren von Shamir. Formales. (5:35). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Verfahren von Shamir (Kenntnis einer Quadratwurzel) Sei im Folgenden n = p · q, p 6= q Primzahlen, QRn die quadratischen Reste in Z∗n QRn = {a ∈ Z∗n | ∃b ∈ Z∗n : b 2 mod n = a}. Sei x ∈ QRn und x = y 2 mod n, d.h. y die Wurzel von x . 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. e. b := ry mod n. b. wählt e ∈ {0, 1} zufällig ?. Test b 2 ≡ ax e (mod n) ?. Falls e = 0, dann gilt b = r und es wird getestet r 2 ≡ a (mod n). ?. Z. Anwendungen. Falls e = 1, dann gilt b = ry und es wird getestet r 2 y 2 ≡ ax (mod n).. w.

(38) Einleitung. Viele weitere Beispiele. Verfahren von Shamir. Formales. Hinterlegung. (5:36). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Verfahren von Shamir (Betrugsversuch) Sei im Folgenden n = p · q, p 6= q Primzahlen, QRn die quadratischen Reste in Z∗n QRn = {a ∈ Z∗n | ∃b ∈ Z∗n : b 2 mod n = a}. Sei x ∈ QRn und x = y 2 mod n, d.h. y die Wurzel von x . P: n, x. V : n, x. wählt zufällig: 0 r ∈ Z∗ n und e ∈ {0, 1} 0 a := r 2 x −e mod n. a e. b := r x. e0. a≡r. 2. (mod n). b. wählt e ∈ {0, 1} zufällig ?. Test b 2 ≡ ax e (mod n) 2. b ≡ ax. e0. ?. ≡ ax e (mod n). Z. Anwendungen WS2013/14. w.

(39) Einleitung. Viele weitere Beispiele. Verfahren von Shamir. (5:37). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Verfahren von Shamir. Z. Anwendungen WS2013/14. Satz Das Shamir-Protokoll ist ein Zero-Knowledge-Protokoll. Beweis. Transscript: tr (n) = {(a, e, b) ∈ QRn × {0, 1} × Z∗n | b 2 ≡ ax e (mod n)} Simulator (V , x ): 1 2 3 4 5. wähle e 0 ∈ {0, 1}, b ∈ Z∗n gleichverteilt 0 a := b 2 x −e e := V (a) falls e = e 0 return (a, e 0 , b), falls e 6= e 0 , dann beginne wieder von vorne.. w.

(40) Einleitung. Viele weitere Beispiele. Verfahren von Shamir. (5:38). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Bemerkungen Simulator (V , x ): 1 2 3 4 5. wähle e 0 ∈ {0, 1}, b ∈ Z∗n gleichverteilt 0 a := b 2 x −e e := V (a) falls e = e 0 return (a, e 0 , b) falls e 6= e 0 , dann beginne weider von vorne.. Beachte: 1 2 3 4. 5. Z. Anwendungen. Die a Werte sind zufällig gewählte Quadratische Reste in QRn . Die e Werte sind in beiden Transscripten gleich verteilt. Die b Werte sind zufällig gewählte Quadratwurzeln. Der Simulator wird erwartungsgemäss in jedem zweiten Durchlauf ein Tripple erzeugen. Wichtig: Es muss V (ggf. betrügerisch) verwendet werden.. w.

(41) Einleitung. Viele weitere Beispiele. Verfahren von Shamir. (5:39). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Überzeugung Satz Wenn der Prover im Shamir-Protokoll mit Wahrscheinlichkeit > 1/2 betrügen kann, dann kennt er die Quadratwurzel. Beweis. 1. Betrüger kennt b1 und b2 mit: b12 = a und b22 = ax .. 2. Damit kann er bestimmen: y = b2 /b1 , d.h. die Wurzel von x .. 1. Der Prover kann mit Kenntnis der Quadratwurzel immer überzeugen.. 2. 3. Wenn der Verifier mit Wahrscheinlichkeit > 1 − 2−k überzeugt ist, dann kennt der Prover auch mit Wahrscheinlichkeit > 1 − 2−k die Quadratwurzel. Das Protokoll ist ein Zero-Knowledge-Protokoll.. Z. Anwendungen. w.

(42) Einleitung Einleitung. Viele weitere Beispiele (5:40). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Einleitung 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.. w.

(43) Einleitung. Viele weitere Beispiele. Ein-Weg-Funktionen und verschließbare Kästen. Formales (5:41). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Definition Eine Funktion f : {0, 1}∗ → {0, 1}∗ ist eine Ein-Weg-Funktion, falls gilt: 1. Es gibt einen Polynom-Zeit-Algorithmus A mit ∀x ∈ {0, 1}∗ : A(x ) = f (x ).. 2. Für jede Familie von Polynom großen Schaltkreisen {Cn } und für jedes Polynom p: 1 Pr [Cn (f (x )) ∈ f −1 (f (x ))] 6 p(n). Es ist offen, ob es Ein-Weg-Funktionen gibt.. Z. Anwendungen. w.

(44) Einleitung. Viele weitere Beispiele. Formales. Ein-Weg-Funktionen und verschließbare Kästen. (5:42). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Verschließbare Kästen (Geheimnis hinterlegen) Sei f eine Ein-Weg-Funktion. A: f : {0, 1}∗ → {0, 1}∗. B: f : {0, 1}∗ → {0, 1}∗. Wählt x ∈ {0, 1}∗ Bestimmt y = f (x ). y. 0. Kennt kein x 0. Kennt kein x 6= x 0. mit f (x 0 ) = y. mit f (x ) = y x festgelegt. x. x unbekannt Test y = f (x ) x eröffnet. Z. Anwendungen WS2013/14. w.

(45) Einleitung. Viele weitere Beispiele. Kästen mittels quadratischen Resten. Formales. Hinterlegung. (5:43). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Mit quadratischem Rest. Z. Anwendungen WS2013/14. Sei QRn die quadratischen Reste in Z∗n . Sei weiter Jn+1 := {x ∈ Z∗n | 1.. x n. . = 1} die Zahlen in Z∗n mit Jacobisymbol. Setze nun 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 p, q Primzahlen Teste n = p · q Teste r ∈ Z∗ n Teste v ∈ QNRn+1. ? Teste c ≡ r 2 v b (mod n). w.

(46) Einleitung. Viele weitere Beispiele. Kästen mittels quadratischen Resten. Formales (5:44). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Bemerkungen (Teil 1): Jn+1 := {x ∈ Z∗ n | QNRn+1. . x n Jn+1 2 b. w. = 1}. := \ QRn c := r v mod n.  x. 1. ist effizient deterministisch berechenbar, ohne p und q zu kenne. n Damit ist x ∈ Jn+1 effizient bestimmbar.. 2. Falls p und q nicht bekannt sind, so wird vermutet, dass nicht effizient bestimmbar ist, ob x ∈ Jn+1 ein Quadrat ist.. 3. Falls p und q bekannt sind, so kann effizient bestimmt werden, ob x ∈ Jn+1 ein Quadrat ist. Denn es gilt: ⇔ ⇔. 4. Z. Anwendungen. v ist Quadrat v mod und v mod q sind Quadrate  p (p−1)/2 v =v mod p = 1 und p v = v (q−1)/2 mod q = 1 q. Falls V das Bit b effizient bestimmen könnte, dann könnte V auch effizient bestimmen, ob ein Element aus Jn+1 ein Quadrat ist..

(47) Einleitung. Viele weitere Beispiele. Kästen mittels quadratischen Resten. Formales (5:45). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Bemerkungen (Teil 2): Jn+1 := {x ∈ Z∗ n | QNRn+1 1. Z. Anwendungen. . x n Jn+1 2 b. w. = 1}. := \ QRn c := r v mod n. Es gilt ⇔ ⇔. c ist Quadrat v b ist Quadrat b=0. Damit kann P nicht mehr b nachträglich ändern. 2. Es müssen p und q weitergegeben werden, um zu testen, ob v kein Quadrat ist. Dieses kann aber auch durch einen interaktiven Zero Knowledge Proof ersetzt werden.. 3. V kann ein Commitment zu dem gleichen Bit b abgeben. Dazu bestimmt V r̃ ∈ Z∗n zufällig und setzt c̃ = cr̃ 2 mod n als sein Commitment.. 4. Wenn P seine Box geöffnet hat, dann kann dieses auch V für seine Box..

(48) Einleitung. Viele weitere Beispiele. Kästen mittels diskreten Logarithmus. Formales (5:46). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Kasten mittels diskreten Logarithmus Zum Aufbau werden bestimmt: 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 WS2013/14. w.

(49) Einleitung. Viele weitere Beispiele. Kästen mittels diskreten Logarithmus. Formales (5:47). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Z. Anwendungen WS2013/14. Bemerkungen:. w. c := g r v m mod p 1 2. Der Aufbau erfolgt analog wie bei El Gamal. Angenommen, die Box kann für zwei verschiedene Nachrichten m und m0 geöffnet werden. 0. 1 2 3. 4 3. 0. Dazu braucht P r und r 0 mit g r v m ≡ g r v m (mod p). Also kann P bestimmen logg (v ) = (r − r 0 )/(m0 − m). Dieses ist ein Widerspruch zur Annahme, das der diskrete Logarithmus nicht effizient bestimmbar ist. Daher muss hier V das System aufbauen!. Da g und v Generatoren in G sind und g r ein zufällig gewähltes Element ist, ist v m so gut verschlüsselt wie bei einem “One-Time-Pad”..

(50) Einleitung. Viele weitere Beispiele. Vergleich der Sicherheitsaspekte. (5:48). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Z. Anwendungen WS2013/14. 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.. w.

(51) Einleitung. Viele weitere Beispiele. Vergleich der Sicherheitsaspekte. (5:49). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Z. Anwendungen WS2013/14. Sicherheitsaspekte Satz. Ein Verfahren, welches beide Eigenschaften sicherstellt und dabei keine Aussage über die nicht-Lösbarkeit benötigt, kann es nicht geben. Beweis. 1. Angenommen, es gibt einen deterministischen Algorithmus C mit C : {0, 1}n × {0, 1} → {0, 1}s , der eine solche Lockable Box sicherstellt.. 2. Wenn nun P ein Commitment c = C (r , b) macht, dann könnte nun V mit ausreichender Rechenleistung b bestimmen.. 3 4. Um dieses zu verhindern, muß es r 0 geben mit c = C (r 0 , 1 − b). Damit ist aber nun P in der Lage mit ausreichender Rechenleistung, die Box sowohl für b als auch für 1 − b zu öffnen.. w.

(52) Einleitung. Viele weitere Beispiele. Einfache Protokolle. Formales. Hinterlegung. (5:50). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Graphenisomorphismus: ein ZKP Protokoll Graphisomorphismus P: G1 , G2 , e : G1 ∼ = e G2 wählt Isomorphismus e 0 bestimmt Gα : Gα ∼ = e 0 G1 falls x = 1 setze: f := e 0 falls x = 2 setze: f := e 0 ◦ e. V : G1 = (V , E ), G2 = (V 0 , E 0 ) Gα x. wählt x ∈ {1, 2}. f. testet: Gα ∼ = f Gx. Z. Anwendungen WS2013/14. w.

(53) Einleitung. Viele weitere Beispiele. Einfache Protokolle. (5:51). Formales. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Kenntnis der Faktoren: kein ZKP Protokoll Kenntnis der Faktoren P: p, q, n = p · q. V: n wählt x ∈ N. Berechnet Wurzeln x1 und x2 d.h. xi2 ≡ y (mod n), i ∈ {1, 2} Bestimmt x mit x 2 ≡ xi (mod n) für ein i. y. ±x 2. y := x 4 mod n. Testet Wert. Z. Anwendungen WS2013/14. w.

(54) Einleitung. Viele weitere Beispiele. Einfache Protokolle. Formales. Hinterlegung. (5:52). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Nicht-Isomorphismus: kein ZKP Protokoll Graphnichtisomorphismus P: G1 = (V , E ), G2 = (V 0 , E 0 ). V : G1 = (V , E ), G2 = (V 0 , E 0 ) Hj. bestimmt für 1 6 j 6 k : xj mit: Hj ∼ = Gxj. 16j 6k xj 16j 6k. wählt i1 , . . . , ik ∈ {1, 2} bestimmt für 1 6 j 6 k: Hj ∼ = Gij ?. testet xj = ij für 1 6 j 6 k. Z. Anwendungen. w.

(55) Einleitung. Viele weitere Beispiele. Protokolle auf Graphen. Formales. (5:53). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Hamilton-Kreis: ein ZKP Protokoll Kenntnis eines Hamiltonkreises P: G = (V , E ), |V | = t und H mit:. V : G = (V , E ), t. H = (V , F ) ∼ = Ct bestimmt B1 , . . . , Bt mit: δ(B1 , . . . , Bt ) = V bestimmt Bij , 1 6 i < j 6 t mit: δ(Bij ) = 1 ⇐⇒ {δ(Bj ), δ(Bi )} ∈ E. Falls x = 0. Bij , Bi 16i <j 6t x δ(Bi ), δ(Bij ) 1 6 i 6 t, i < j 6 t. wähle x ∈ {0, 1} testet G. Falls x = 1 F 0 = {{i, j} | {δ(Bi ), δ(Bj )} ∈ F }. δ(Bij ) i < j, {i, j} ∈ F 0. testet Ct. Z. Anwendungen. w.

(56) Einleitung. Viele weitere Beispiele. Protokolle auf Graphen. Formales. (5:54). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Perfektes Matching: ein ZKP Protokoll Kenntnis eines 1-Faktors P: G = (V , E ), |V | = t und H mit:. V : G = (V , E ), t. H = (V , F ) ist 1-Faktor bestimmt B1 , . . . , Bt mit: δ(B1 , . . . , Bt ) = V bestimmt Bij , 1 6 i < j 6 t mit: δ(Bij ) = 1 ⇐⇒ {δ(Bj ), δ(Bi )} ∈ E. Falls x = 0. Bij , Bi 16i <j 6t x δ(Bi ), δ(Bij ) 1 6 i 6 t, i < j 6 t. wähle x ∈ {0, 1}. testet G. Falls x = 1 F 0 = {{i, j} | {δ(Bi ), δ(Bj )} ∈ F }. δ(Bij ) i < j, {i, j} ∈ F 0. Z. Anwendungen. testet 1-Faktor. w.

(57) Einleitung. Viele weitere Beispiele. Protokolle auf Graphen. Formales. Hinterlegung. (5:55). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Independent Set: ein ZKP Protokoll Kenntnis einer stabilen Menge P: G = (V , E ), |V | = t, I ⊂ V mit:. V : G = (V , E ), k. |I| = k und ∀a, b ∈ I : {a, b} 6∈ E bestimmt B1 , . . . , Bt mit: δ(B1 , . . . , Bt ) = V bestimmt Bij , 1 6 i < j 6 t mit: δ(Bij ) = 1 ⇐⇒ {δ(Bj ), δ(Bi )} ∈ E. Bij , Bi 16i <j 6t x. Falls x = 0. δ(Bi ), δ(Bij ) 1 6 i 6 t, i < j 6 t. wähle x ∈ {0, 1}. testet: Boxen enthalten G. Falls x = 1 bestimmt I 0 = {i | δ(Bi ) ∈ I}. δ(Bij ) {i, j} ⊂ I 0. Z. Anwendungen. testet: I 0 enthällt keine Kanten. w.

(58) Einleitung. Viele weitere Beispiele. Protokolle auf Graphen. Formales. Hinterlegung. (5:56). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. 3-Färbung eines Graphen: ein ZKP Protokoll Kenntnis der 3-Färbung P: G = (V , E ), |V | = t. V : G = (V , E ), t. kennt c : V → {1, 2, 3} mit: ∀(a, b) ∈ E : c(a) 6= c(b) bestimmt Bi , Bic , Bij (1 6 i, j 6 3t): ∀(v , c) ∈ V × {1, 2, 3} : ∃j : δ(Bj ) = vj ∧ δ(Bjc ) = c δ(Bij ) = 1 ⇐⇒ (δ(Bi ), δ(Bj )) ∈ E ∧ δ(Bic ) = c(δ(Bi )) ∧ δ(Bjc ) = c(δ(Bj )). Bi , Bic , Bij 1 6 i, j 6 3t. wählt x ∈ {0, 1}. x. Falls x = 0. δ(Bi ), δ(Bij ) 1 6 i, j 6 3t. testet: Boxen enthalten G und 2t isolierte Knoten. Falls x = 1. δ(Bic ), δ(Bij ) 1 6 i, j 6 3t δ(Bic ) = δ(Bjc ). Z. Anwendungen. testet: keine Kante sichtbar zwischen Knoten gleicher Farbe. w.

(59) Einleitung. Viele weitere Beispiele. Sonstige Protokolle. Formales. (5:57). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. 3-SAT: ein ZKP Protokoll Kenntnis einer Belegung P: F V: F Bestimmt Bijk , Bi , BiT. falls x = 0. Bijk , Bi , BiT x δ(Bi ) und δ(Bijk ). wähle x ∈ {0, 1} teste die Darstellung der Formel F. falls x = 1. δ(BiT ) und δ(Bijk ) mit (∗). teste auf korrekte Wahrheitsbelegung, d.h. alle geöffneten Bijk müssen 0 enthalten (d.h. keine Klausel ist false). Z. Anwendungen WS2013/14. w.

(60) Einleitung. Viele weitere Beispiele. Sonstige Protokolle. Formales. Hinterlegung. (5:58). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Set-Partition-Problem: ein ZKP Protokoll Kenntnis der Set-Partition A: A = (a1 , . . . , at ) B: A = (a1 , . . . , at ) kennt B = (l1 , . . . , lt ) ∈ {−1, 1}t mit A · B = 0 Bestimmt Bi mit ∀1 6 j 6 t : ∃ij : δ(Bij ) = aj Bestimmt Bi0 mit ∀1 6 j 6 t : ∃ij : δ(Bi0 ) = lj j. Bestimmt R = (r1 , . . . , rt ) Bestimmt Bir mit ∀1 6 j 6 t : ∃ij : δ(Bir ) = rj j. Bestimmt S = (s1 , . . . , srt ) mit si = ai + ri Bestimmt Bis mit ∀1 6 j 6 t : ∃ij : δ(Bis ) = sj j. Bi , Bi0 , Bir , Bis 16i 6t x. Falls x = 1:. Falls x = 2:. Falls x = 3:. Bi , Bir , Bis 16i 6t. Bi0 , Bir 16i 6t. Bi0 , Bis 16i 6t. Z. Anwendungen. Wählt x ∈ {1, 2, 3} Testet A + R = S. Testet R · B = 0. Testet S · B = 0. w.

(61) Einleitung. Viele weitere Beispiele. Zero-Knowledge-Proof und Komplexitätsklassen. Formales (5:59). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Zero-Knowledge-Proofs und Komplexitätsklassen Definition Die Sprachklasse ZK ist wie folgt definiert: Für alle Sprachen L ∈ ZK und für jedes x ∈ L gibt es einen Zero-Knowledge-Proof. Satz Falls es Ein-Weg-Funktionen gibt, dann gilt: N P ⊆ ZK. Beweis. Zero-Knowledge-Proof für 3-SAT und Polynomialzeit-Reduktionen. Z. Anwendungen. w.

(62) Einleitung. Viele weitere Beispiele. Zero-Knowledge-Proof und Komplexitätsklassen. Formales (5:60). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Beweis Sei x Instanz einer Sprache P ∈ NPC . Es gibt Reduktion von 3-SAT auf P. Es gibt Funktion r : ΣP 7→ Σ3-SAT mit: x ∈ P ⇐⇒ r (x ) ∈ 3-SAT . Führe folgendes Protokoll aus: P: x ∈ P Bestimmt b = r (x ) Kodiert b in Bi (1 6 i 6 t). falls x = 0. V: P Bi für 1 6 i 6 t x δ(Bi ). wähle x ∈ {0, 1} teste die Darstellung der Formel b. falls x = 1. δ(Bi ) und i passend gewählt. teste auf korrekte Wahrheitsbelegung. Z. Anwendungen. w.

(63) Einleitung. Viele weitere Beispiele. Komposition von Zero-Knowledge-Proofs. Formales (5:61). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Kompositionen I Satz Falls ein Protokoll Zero-Knowledge ist, dann ist die Hintereinanderausführung des Protokolls auch Zero-Knowledge. Beweis. tr1 (n) [tr2 (n0 )] Transscript des 1. [2.] Zero-Knowledge-Proofs. Dann ist tr1 (n) ◦ tr2 (n0 ) Transscript der Hintereinanderausführung. Sei S1 [S2 ] Simulator für den 1. [2.] Zero-Knowledge-Proofs. Sei weiter ti Ausgabe von Simulator Si (i ∈ {1, 2}). Dann ist t1 ◦ t2 statistisch (algorithmisch) nicht von tr1 (n) ◦ tr2 (n0 ) zu unterscheiden. Dann ist S1 ◦ S2 Simulator für die Hintereinanderausführung.. Z. Anwendungen. w.

(64) Einleitung. Viele weitere Beispiele. Komposition von Zero-Knowledge-Proofs. Formales (5:62). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Kompositionen II Satz Falls ein Protokoll Zero-Knowledge ist, dann ist die Parallelausführung des Protokolls nicht notwendigerweise Zero-Knowledge. Beweis. Analoges Vorgehen wie bei der seriellen Ausführung von Zero-Knowledge-Proofs geht nicht.. Z. Anwendungen. w.

(65) Einleitung. Viele weitere Beispiele. Komposition von Zero-Knowledge-Proofs. Formales (5:63). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Kompositionen II Satz Es gibt ein Protokoll, welches Zero-Knowledge ist, aber dessen Parallelausführung ist nicht Zero-Knowledge. Sei f : {0, 1}2·n → {0, 1}n Zufallsfunktion: P: f , X v Falls v = 1: wählt α ∈ {0, 1}n ?. Testet f (αβ) = γ Falls v = 2: wählt β ∈ {0, 1}n. α β, γ Geheimnis X α β, f (αβ). V: wählt v ∈ {1, 2}. wählt β, γ ∈ {0, 1}n. wählt α ∈ {0, 1}n. Z. Anwendungen WS2013/14. w.

(66) Einleitung. Viele weitere Beispiele. Komposition von Zero-Knowledge-Proofs. Formales (5:64). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Z. Anwendungen WS2013/14. 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 P gibt es ein Protokoll, welches Zero-Knowledge ist und konstante Rundenzahl hat.. w.

(67) Einleitung. Viele weitere Beispiele. Formales. Identifikation mit Zero-Knowledge-Proofs. Hinterlegung. (5:65). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. Einleitung und Beispiel 1 Ziel: Stelle sicher, dass nach einem Protokoll keiner die Identität des anderen annehmen kann. Als Idee bietet sich an, eine öffentliche und eine geheime Identität zu verwenden. 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. P: i(P) = (c1 , . . . , ck ). V : pi (P) = (d1 , . . . , dk ). 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. Q. Beachte: y 2. j∈S. cj mod n. Q j∈S. dj ≡ r 2. x S y. wähle Teilmenge S ⊂ {1, . . . , k} Teste: x ≡ ±y 2 dj (mod n) j∈S. Q. Q j∈S. Betrug: Rate S und sende ±r 2. cj2 dj ≡ ±r 2 ≡ ±x (mod n).. Q j∈S. dj mod n als x und y = r .. Z. i.

(68) Einleitung. Viele weitere Beispiele. Identifikation mit Zero-Knowledge-Proofs. Formales (5:66). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. Bemerkungen: 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. 1. 2. Q j∈S. cj mod n. Z. V : pi (P) = (d1 , . . . , dk ). x S y. wähle Teilmenge S ⊂ {1, . . . , k} dj (mod n) Teste: x ≡ ±y 2 j∈S. Q. r ist notwendig, denn sonst könnte V durch die Wahl von S = {j} den Wert von cj erfahren. Durch die Wahl   von p und q wird sichergestellt, dass die dj -Nummern alle dj = ±1 annehmen können, sodass die cj auch existieren. n. Werte mit 3. Zur Sicherheit: Es sollte ggT (cj , n) = 1 gelten. Die Berechnung von Quadratwurzeln ist ein schweres Problem.. 4. Möglichkeit für Betrug: Rate S und sende ±r 2 j∈S dj mod n als x und y = r als Antwort. Die Erfolgswahrscheinlichkeit beträgt hierfür nach t Runden allerdings nur noch 2−kt .. Q. i.

(69) Einleitung. Viele weitere Beispiele. Identifikation mit Zero-Knowledge-Proofs. Formales (5:67). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. Beispiel 2 Definition Das Set-Partition-Problem ist: Gegeben: Vektor A = (a1 , . . . , an ) P P Frage: Existiert I ⊂ {1, . . . , n} mit a = i6∈I ai i∈I i Dieses Problem liegt sogar für den Spezialfall |I| = d n2 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 n2 -mal die 1 und die −1). Zum Protokoll: Für alle Benutzer öffentlich ist der Vektor A sowie eine One-Way-Hashfunktion h(x , y ). Die Permutation ist das Geheimnis von P.. Z. i.

(70) Einleitung. Viele weitere Beispiele. Identifikation mit Zero-Knowledge-Proofs. Formales (5:68). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Beispiel 2 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. V : A, B. 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 ). Beachte: Im Fall d 0 = 0 gilt: Aq C = Aq (Rq + dBp·q ) = Aq Rq + dAq Bp·q = AR.. Anwendungen WS2013/14. Z. i.

(71) Einleitung. Viele weitere Beispiele. Einfache Identifikation nach Shamir. Formales (5:69). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Identifikation nach Shamir: 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). Falls nun P 0 mit einer Wahrscheinlichkeit > 12 V überzeugt, d.h. betrügen, kann, dann kennt P 0 ein a für das er b1 und b2 bestimmen kann mit: b12 = a mod n. und. b22 = ax = ay 2 mod n. Dann ist y = b2 /b1 die Wurzel von x . Damit kann P 0 die Wuzel von einem zufällig gewählten y bestimmen. Damit kann P 0 faktorisieren.. Z. Anwendungen. w.

(72) Einleitung. Viele weitere Beispiele. Einfache Identifikation nach Shamir. Formales. Hinterlegung. (5:70). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Identifikation Identifikation durch die Kenntnis eines Geheimnisses (Fiat-Shamir) Idee: Übertrage Shamir-Verfahren auf einen Vektor. P: n, p, q, x , y. V : n, x. 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 i=1. e. yi i. a. wählt e ∈ {0, 1}t. e. e = (e1 , . . . , et ) zufällig. b. Test b 2 ≡ a. ?. Qt. e x i i=1 i. (mod n). Z. Anwendungen. w.

(73) Einleitung. Viele weitere Beispiele. Einfache Identifikation nach Shamir. Formales. Hinterlegung. (5:71). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Bemerkungen P: n, p, q, x , y. V : n, x. 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 i=1. e. yi i. a. wählt e ∈ {0, 1}t. e. e = (e1 , . . . , et ) zufällig. b. ? Test b 2 ≡ a. Qt. 1. Es werden ν = k(2|n| + t) Bits übertragen.. 2. Die Anzahl der Multiplikationen ist µ = k(t + 3).. 3. Die Schlüsselgröße ist t|n|.. e x i i=1 i. (mod n). Z. Anwendungen WS2013/14. w.

(74) Einleitung. Viele weitere Beispiele. Einfache Identifikation nach Shamir. Formales. Hinterlegung. (5:72). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Bemerkungen 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. 1. Qt. e y i i=1 i. V : n, x. a e b. wählt e ∈ {0, 1}t e = (e1 , . . . , et ) zufällig ? Test b 2 ≡ a. Qt. e x i i=1 i. Z. Anwendungen. (mod n). Nach k Runden ist die Betrugswahrscheinlichkeit 2−kt .. 2. Das Protokoll ist noch Zero-Knowledge für t = O(log(|n|)) und k = O(|n|l ).. 3. Wenn Prover die Wurzeln kennt, kann er überzeugen.. 4. Wenn der Verifier mit Wahrscheinlichkeit > 1 − 2kt überzeugt ist, dann kennt der Prover auch mit Wahrscheinlichkeit > 1 − 2kt die Quadratwurzeln.. w.

(75) Einleitung. Viele weitere Beispiele. Einfache Identifikation nach Shamir. Formales (5:73). Hinterlegung. Beweise, Aussagen. Z. Anwendungen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Beweis 1. Prover kennt also Vektor A = (a1 , . . . , ak ) von korrekten Hinterlegungen für die k Runden. 2. Der Prover kann jeweils zwei verschiedene Anfragen E = (e 1 , . . . , e k ) und F = (f 1 , . . . , f k ) beantworten.. 3. Für jede Iteration j mit e j 6= f j kann Prover beide Anfragen e = e j und f = f j beantworten für Hinterlegung a = aj .. 4. Prover kennt also b1 und b2 mit: b12 = a. 5. Prover Qtkann also Wuzel b2 /b1 bestimmen für einen Zufallswert x = i=1 xifi −ei .. 6. Widerspruch.. Qt i=1. x ei und b22 = a. Qt i=1. x fi .. w.

(76) Einleitung. Viele weitere Beispiele. Unterschriften mit Zero-Knowledge-Proofs. Formales (5:74). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Aufbau eines nicht-interaktiven Systems Interaktives System: P: kennt W und x wählt Co bestimmt ReCo,a. V : kennt W Co a ReCo,a. wählt a Testet (Co, a, ReCo,a , W ). Woher kommt die Challenge? P: kennt W und x. V : kennt W. wählt Co wählt a bestimmt ReCo,a. Co,a,ReCo,a. Testet (Co, a, ReCo,a , W ). Challenge darf nicht frei wählbar sein. P: kennt W und x wählt Co a = h(m, Co) bestimmt ReCo,a. V : kennt W. Co,a,ReCo,a. Z. Anwendungen. Testet (Co, a, ReCo,a , W ). Challenge durch eine öffentliche, kollisionssichere Hashfunktion.. w.

(77) Einleitung. Viele weitere Beispiele. Unterschriften mit Zero-Knowledge-Proofs. Formales. Hinterlegung. (5:75). Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Unterschriften I Sei y = (y1 , . . . , yt ), x = (y12 , . . . , yt2 ) und n = p · q wie im Fiat-Shamir-Verfahren. Sei m ∈ {0, 1}∗ der zu unterschreibende Text und h : {0, 1}∗ → {0, 1}kt öffentliche, kollissionsichere Hashfunktion. Beachte, dass kt gross sein sollten.. Z. Anwendungen. w.

(78) Einleitung. Viele weitere Beispiele. Unterschriften mit Zero-Knowledge-Proofs. Formales (5:76). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. WS2013/14. Unterschriften II. 2 3 4 5. Wähle zufällig (r1 , . . . , rk ) ∈ (Z∗n )k mit aj := rj2 für 1 6 j 6 k. Bestimme ij )16i6t,16j6k = h(m ◦ a1 ◦ a2 ◦ . . . ◦ ak ). Qte :=(e e bj := rj i=1 yi ij für 1 6 j 6 k b = (b1 , . . . , bk ) s = (b, e) ist die Unterschrift von P unter m.. Test der Unterschrift: 1 2. Qt. w. y = (y1 , . . . , yt ) x = (y12 , . . . , yt2 ) n=p·q h : {0, 1}∗ → {0, 1}kt m ∈ {0, 1}∗. Unterschrift erzeugen: 1. Z. Anwendungen. −e. Setze aj := bj2 i=1 xi ij für 1 6 j 6 k. Akzeptiere die Unterschrift, falls e = h(m ◦ a1 ◦ a2 ◦ . . . ◦ ak )..

(79) Einleitung. Viele weitere Beispiele. Unterschriften mit Zero-Knowledge-Proofs. Formales (5:77). Zusammenfassung Für Zero-Knowledge-Proofs gilt: Beweisbare Sicherheit Schutz der geheimen Information Weiterreichen nicht möglich Viele Anwendungen Anwendung als Teilprotokoll Wasserzeichen. Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Anwendungen WS2013/14. Z. g.

(80) Einleitung. Viele weitere Beispiele. Unterschriften mit Zero-Knowledge-Proofs. Formales (5:78). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Fragen Wie ist die formale Definition eines ZKP? Wie geht ein ZKP für: Graphisomorphismus? Independent Set? Hamilton Kreis? 3-Färbung? 3-SAT? Set-Partition Wie geht der ZPK nach Shamir? Wie geht der ZPK nach Fiat-Shamir? Für welche Probleme aus NPC gibt es ZKP? Ist die Parallelausführung eines ZKP auch wieder ZKP? Ist die Seriellausführung eines ZKP auch wieder ZKP? Wie macht man eine Unterschrift mit ZKP als Basis?. Anwendungen WS2013/14. Z. x.

(81) Einleitung. Viele weitere Beispiele. Unterschriften mit Zero-Knowledge-Proofs. Formales (5:79). Hinterlegung. Beweise, Aussagen. <> Walter Unger 15.11.2013 14:30. Legende n Nicht relevant g Grundlagen, die implizit genutzt werden i Idee des Beweises oder des Vorgehens s Struktur des Beweises oder des Vorgehens w Vollständiges Wissen. Anwendungen WS2013/14. Z. x.

(82)

Referenzen

ÄHNLICHE DOKUMENTE

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

Viele weitere Beispiele Perfektes Matching Stabile Menge Graphenisomorphismus Kenntnis der Faktoren 3-Färbung eines Graphen 3-SAT Set-Partition-Problem.. Formales Idee zur

Motivation aus der Geschichte und Grundlagen DES IDEA AES Ausklang Von der Zeitenwende bis 1900 (1:14) &lt;&gt; Walter Unger 17.10.2013 17:05 WS2013/14 Z n..

Unabhängig von Merkle entwickelt, zwei Jahre später veröffentlicht.. Gerüchteweise schon vorher von

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen. (3:2.3) &lt;&gt; Walter Unger 17.10.2013 16:34

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen Agrawal, Kayal und Saxena (3:60) &lt;&gt; Walter Unger 17.10.2013 17:01 WS2013/14 Z n.

Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann... ElGamal (1985

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