• 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!
81
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:01 Uhr, den 12. Dezember 2015.

(2) Einleitung 5. Viele weitere Beispiele. Formales. Hinterlegung. Inhaltsverzeichnis. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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 Unterschriften mit Zero-Knowledge-Proofs.

(3) Einleitung 5:1. Viele weitere Beispiele. Formales. Motivation. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. Einleitung „Bekanntlich“ gibt es nur. Z. Anwendungen. 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.

(4) Einleitung 5:2. Viele weitere Beispiele. Formales. Anschauliches Beispiel. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. Idee am 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. 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..

(5) Einleitung 5:3. Viele weitere Beispiele. Formales. Anschauliches Beispiel. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. Das Protokoll oder der Nutzen eines Betrugs 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..

(6) Einleitung 5:4. Viele weitere Beispiele. Formales. Grundlagen. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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..

(7) Einleitung 5:5. Viele weitere Beispiele. Formales. Grundlagen. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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. −1 Teste, ob DA = ˆ EA. 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.

(8) Einleitung 5:6. Viele weitere Beispiele. Formales. Hinterlegung. Hamilton-Kreis. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Hamilton-Kreis v17 17. v16. v18 18. 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. WS2015/16. 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..

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

(10) Einleitung 5:8. Viele weitere Beispiele. Formales. Hamilton-Kreis. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. 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. Falls x = 1 F 0 = {{i, j} | {δ(Bi ), δ(Bj )} ∈ F }. Bij , Bi 16i <j 6t x δ(Bi ), δ(Bij ) 1 6 i 6 t, i < j 6 t. δ(Bij ) i < j, {i, j} ∈ F 0. wähle x ∈ {0, 1} testet G. testet Ct.

(11) Einleitung 5:9. Viele weitere Beispiele. Formales. Hinterlegung. Perfektes Matching. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Perfektes Matching v17 17. v16. v18 18. v1. WS2015/16. 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..

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

(13) Einleitung 5:11. Viele weitere Beispiele. Formales. Perfektes Matching. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. 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. Falls x = 1 F 0 = {{i, j} | {δ(Bi ), δ(Bj )} ∈ F }. Bij , Bi 16i <j 6t x δ(Bi ), δ(Bij ) 1 6 i 6 t, i < j 6 t. δ(Bij ) i < j, {i, j} ∈ F 0. wähle x ∈ {0, 1}. testet G. testet 1-Faktor.

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

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

(16) Einleitung 5:14. Viele weitere Beispiele. Formales. Hinterlegung. Stabile Menge. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. 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.

(17) Einleitung 5:15. Viele weitere Beispiele. Graphenisomorphismus. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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.

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

(19) Einleitung 5:17. Viele weitere Beispiele. Formales. Hinterlegung. Kenntnis der Faktoren. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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.

(20) Einleitung 5:18. Viele weitere Beispiele. Formales. 3-Färbung eines Graphen. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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..

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

(22) Einleitung 5:20. Viele weitere Beispiele. Formales. 3-Färbung eines Graphen. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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.

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

(24) Einleitung 5:22. Viele weitere Beispiele. Formales. 3-Färbung eines Graphen. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. 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 ). testet: keine Kante sichtbar zwischen Knoten gleicher Farbe.

(25) Einleitung 5:23. Viele weitere Beispiele. Formales. 3-SAT. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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.

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

(27) Einleitung 5:25. Viele weitere Beispiele. 3-SAT. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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. Anwendungen.

(28) Einleitung 5:26. Viele weitere Beispiele. Formales. 3-SAT. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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 Bestimmt Bijk , Bi , BiT. falls x = 0. V: F 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.. Z. Anwendungen WS2015/16.

(29) Einleitung 5:27. Viele weitere Beispiele. Formales. Hinterlegung. 3-SAT. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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 Bi˜j˜ mit i < j: δ(B24 ) = δ(B2̄4 ) = δ(B2̄4̄ ) = 1 und δ(Bi˜j˜) = 0 für alle anderen Kombinationen.. Z. Anwendungen. Bei Anfrage: Zeige Formel, öffne: Alle Bi und alle Bi˜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̄ ..

(30) Einleitung 5:28. Viele weitere Beispiele. Set-Partition-Problem. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen 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)..

(31) Einleitung 5:29. Viele weitere Beispiele. Formales. Set-Partition-Problem. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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. Anwendungen.

(32) Einleitung 5:30. Viele weitere Beispiele. Formales. Set-Partition-Problem. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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.

(33) Einleitung 5:31. Viele weitere Beispiele. Formales. Set-Partition-Problem. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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 : δ(Bi ) = aj j 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.

(34) Einleitung 5:32. Viele weitere Beispiele. Idee zur Beweisführung. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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. Z. Anwendungen. 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..

(35) Einleitung 5:33. Viele weitere Beispiele. Formales. Definition von Zero-Knowledge. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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 WS2015/16.

(36) Einleitung 5:34. Viele weitere Beispiele. Definition von Zero-Knowledge. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. 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..

(37) Einleitung 5:35. Viele weitere Beispiele. Formales. Verfahren von Shamir. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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 b := ry e mod n. a e. wählt e ∈ {0, 1} zufällig. b. 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)..

(38) Einleitung 5:36. Viele weitere Beispiele. Formales. Hinterlegung. Verfahren von Shamir. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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. V : n, x. P: n, x wählt zufällig: 0 r ∈ Z∗ n und e ∈ {0, 1} 0 a := r 2 x −e mod n. b := r x. e0. a≡r. 2. (mod n). a e. wählt e ∈ {0, 1} zufällig. b. Test b 2 ≡ ax e (mod n). ?. b. 2. ≡ ax. e0 ?. ≡ ax e (mod n). Z. Anwendungen WS2015/16.

(39) Einleitung 5:37. Viele weitere Beispiele. Verfahren von Shamir. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Verfahren von Shamir. Z. Anwendungen WS2015/16. 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..

(40) Einleitung 5:38. Viele weitere Beispiele. Verfahren von Shamir. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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..

(41) Einleitung 5:39. Viele weitere Beispiele. Verfahren von Shamir. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. Ü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. Wenn der Verifier mit Wahrscheinlichkeit > 1 − 2−k überzeugt ist, dann kennt der Prover auch mit Wahrscheinlichkeit > 1 − 2−k die Quadratwurzel.. 3. Das Protokoll ist ein Zero-Knowledge-Protokoll..

(42) Einleitung 5:40. Viele weitere Beispiele. Einleitung. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. 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. 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..

(43) Einleitung 5:41. Viele weitere Beispiele. Formales. Ein-Weg-Funktionen und verschließbare Kästen. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. Ein-Weg-Funktionen und verschließbare Kästen 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.

(44) Einleitung 5:42. Viele weitere Beispiele. Formales. Ein-Weg-Funktionen und verschließbare Kästen. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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 WS2015/16.

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

(46) Einleitung 5:44. Viele weitere Beispiele. Formales. Kästen mittels quadratischen Resten. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. Bemerkungen (Teil 1): x n.   x = 1} Jn+1 := {x ∈ Z∗ n | n +1 QNRn := Jn+1 \ QRn c := r 2 v b mod n. . 1. ist effizient deterministisch berechenbar, ohne p und q zu kenne. 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: ⇔ ⇔. v ist Quadrat v mod  p und v mod q sind Quadrate  v. p v q. 4. Z. Anwendungen. = v (p−1)/2 mod p = 1 und = v (q−1)/2 mod q = 1. 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 5:45. Viele weitere Beispiele. Formales. Kästen mittels quadratischen Resten. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. Bemerkungen (Teil 2): 1. Z. Anwendungen.   x = 1} Jn+1 := {x ∈ Z∗ n | n +1 QNRn := Jn+1 \ QRn c := r 2 v b 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̃ = c r˜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 5:46. Viele weitere Beispiele. Formales. Hinterlegung. Kästen mittels diskreten Logarithmus. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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 WS2015/16.

(49) Einleitung 5:47. Viele weitere Beispiele. Kästen mittels diskreten Logarithmus. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. Bemerkungen:. c := g r v m mod p 1. Der Aufbau erfolgt analog wie bei El Gamal.. 2. 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 5:48. Viele weitere Beispiele. Vergleich der Sicherheitsaspekte. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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..

(51) Einleitung 5:49. Viele weitere Beispiele. Vergleich der Sicherheitsaspekte. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. 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. Um dieses zu verhindern, muß es r 0 geben mit c = C (r 0 , 1 − b).. 4. 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..

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

(53) Einleitung 5:51. Viele weitere Beispiele. Einfache Protokolle. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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 WS2015/16.

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

(55) Einleitung 5:53. Viele weitere Beispiele. Formales. Protokolle auf Graphen. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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. Falls x = 1 F 0 = {{i, j} | {δ(Bi ), δ(Bj )} ∈ F }. Bij , Bi 16i <j 6t x δ(Bi ), δ(Bij ) 1 6 i 6 t, i < j 6 t. δ(Bij ) i < j, {i, j} ∈ F 0. wähle x ∈ {0, 1} testet G. testet Ct. Z. Anwendungen.

(56) Einleitung 5:54. Viele weitere Beispiele. Formales. Protokolle auf Graphen. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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. Falls x = 1 F 0 = {{i, j} | {δ(Bi ), δ(Bj )} ∈ F }. Bij , Bi 16i <j 6t x δ(Bi ), δ(Bij ) 1 6 i 6 t, i < j 6 t. δ(Bij ) i < j, {i, j} ∈ F 0. Z. Anwendungen. wähle x ∈ {0, 1}. testet G. testet 1-Faktor.

(57) Einleitung 5:55. Viele weitere Beispiele. Formales. Protokolle auf Graphen. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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.

(58) Einleitung 5:56. Viele weitere Beispiele. Protokolle auf Graphen. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. 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 ). testet: keine Kante sichtbar zwischen Knoten gleicher Farbe.

(59) Einleitung 5:57. Viele weitere Beispiele. Formales. Sonstige Protokolle. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 3-SAT: ein ZKP Protokoll Kenntnis einer Belegung P: F Bestimmt Bijk , Bi , BiT. falls x = 0. V: F 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.

(60) Einleitung 5:58. Viele weitere Beispiele. Formales. Hinterlegung. Sonstige Protokolle. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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 : δ(Bi ) = aj j 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 s s Bestimmt Bi mit ∀1 6 j 6 t : ∃ij : δ(Bi ) = 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.

(61) Einleitung 5:59. Viele weitere Beispiele. Formales. Zero-Knowledge-Proof und Komplexitätsklassen. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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 WS2015/16.

(62) Einleitung 5:60. Viele weitere Beispiele. Formales. Hinterlegung. Zero-Knowledge-Proof und Komplexitätsklassen. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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.

(63) Einleitung 5:61. Viele weitere Beispiele. Formales. Komposition von Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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.

(64) Einleitung 5:62. Viele weitere Beispiele. Formales. Komposition von Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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.

(65) Einleitung 5:63. Viele weitere Beispiele. Formales. Komposition von Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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 WS2015/16.

(66) Einleitung 5:64. Viele weitere Beispiele. Formales. Komposition von Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. 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..

(67) Einleitung 5:65. Viele weitere Beispiele. Formales. Identifikation mit Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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. 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. Q. j∈S. x S y. cj mod n. Q. j∈S. 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 . Beachte: y 2. Q. j∈S. Z. Anwendungen.

(68) Einleitung 5:66. Viele weitere Beispiele. Formales. Identifikation mit Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. Bemerkungen: 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. Q. j∈S. cj mod n. Z. Anwendungen. x S y. wähle Teilmenge S ⊂ {1, . . . , k} Q Teste: x ≡ ±y 2 j∈S dj (mod n). 1. r ist notwendig, denn sonst könnte V durch die Wahl von S = {j} den Wert von cj erfahren.. 2. Durch die Wahl   von p und q wird sichergestellt, dass die dj -Nummern alle d Werte mit nj = ±1 annehmen können, sodass die cj auch existieren.. 3. Zur Sicherheit: Es sollte ggT (cj , n) = 1 gelten. Die Berechnung von Quadratwurzeln ist ein schweres Problem. Q 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 .. 4.

(69) Einleitung 5:67. Viele weitere Beispiele. Formales. Identifikation mit Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. Beispiel 2 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). 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..

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

(71) Einleitung 5:69. Viele weitere Beispiele. Formales. Einfache Identifikation nach Shamir. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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 > 21 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.

(72) Einleitung 5:70. Viele weitere Beispiele. Formales. Einfache Identifikation nach Shamir. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. Identifikation Identifikation durch die Kenntnis eines Geheimnisses (Fiat-Shamir) Idee: Übertrage Shamir-Verfahren auf einen Vektor. 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. ei i=1 yi. Qt. 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.

(73) Einleitung 5:71. Viele weitere Beispiele. Formales. Hinterlegung. Einfache Identifikation nach Shamir. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Bemerkungen 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. ei i=1 yi. Qt. 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. 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|.. Z. Anwendungen WS2015/16.

(74) Einleitung 5:72. Viele weitere Beispiele. Formales. Hinterlegung. Einfache Identifikation nach Shamir. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. Bemerkungen 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. ei i=1 yi. Qt. a e b. Z. Anwendungen. wählt e ∈ {0, 1}t e = (e1 , . . . , et ) zufällig ? Q e Test b 2 ≡ a ti=1 xi i (mod n). 1. 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..

(75) Einleitung 5:73. Viele weitere Beispiele. Einfache Identifikation nach Shamir. Formales. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Z. Anwendungen WS2015/16. 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 . Q Q Prover kennt also b1 und b2 mit: b12 = a ti=1 x ei und b22 = a ti=1 x fi .. 4 5. Prover Q kann also Wuzel b2 /b1 bestimmen für einen Zufallswert x = ti=1 xifi −ei .. 6. Widerspruch..

(76) Einleitung 5:74. Viele weitere Beispiele. Formales. Unterschriften mit Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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..

(77) Einleitung 5:75. Viele weitere Beispiele. Formales. Hinterlegung. Unterschriften mit Zero-Knowledge-Proofs. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. 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.

(78) Einleitung 5:76. Viele weitere Beispiele. Formales. Unterschriften mit Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. WS2015/16. Unterschriften II Unterschrift erzeugen: 1 2 3 4 5. Z. Anwendungen. y = (y1 , . . . , yt ) x = (y12 , . . . , yt2 ) n =p·q h : {0, 1}∗ → {0, 1}kt m ∈ {0, 1}∗. 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 ). Q e :=(e e bj := rj ti=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: Qt −eij 1 Setze aj := b 2 für 1 6 j 6 k. j i=1 xi 2 Akzeptiere die Unterschrift, falls e = h(m ◦ a1 ◦ a2 ◦ . . . ◦ ak )..

(79) Einleitung 5:77. Viele weitere Beispiele. Formales. Unterschriften mit Zero-Knowledge-Proofs. 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 12.12.2015 16:01. Z. Anwendungen WS2015/16.

(80) Einleitung 5:78. Viele weitere Beispiele. Formales. Unterschriften mit Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. 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?. Z. Anwendungen WS2015/16.

(81) Einleitung 5:79. Viele weitere Beispiele. Formales. Unterschriften mit Zero-Knowledge-Proofs. Hinterlegung. Beweise, Aussagen. Walter Unger 12.12.2015 16:01. Legende : Nicht relevant : Grundlagen, die implizit genutzt werden : Idee des Beweises oder des Vorgehens : Struktur des Beweises oder des Vorgehens : Vollständiges Wissen. Z. Anwendungen WS2015/16.

(82)

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?.

Einleitung Definitionen Sehr einfache Quittung Einfache Quittung Schlüsselaustausch Kerberos-Verfahren Diffie-Hellman mit Authentifizierung Station to Station Bestimmen

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