• entweder die Kollisionsresistenz von h bricht mit Erfolgswahrscheinlichkeitɛ coll ≥ ɛ A /2,• oder das Strong-RSA-Problem löst mit Erfolgswahrscheinlichkeitɛ sRSA ≥ ɛ A /2.Beweis. Sei m 1 , . . . , m q die Liste der Nachrichten, für die A im EUF-naCMA-Experiment <strong>Signaturen</strong>angefragt hat. Wir betrachten wieder zwei Ereignisse.• Ereignis E 0 tritt ein, wenn A eine gültige Fälschung (m ∗ , σ ∗ ) ausgibt, und es existiert ein Index imit h(m ∗ ) = h(m i ).• Ereignis E 1 tritt ein, wenn A eine gültige Fälschung (m ∗ , σ ∗ ) ausgibt, und es gilt h(m ∗ ) ≠ h(m i )für alle i ∈ {1, . . . , q}.Jeder erfolgreiche Angreifer ruft entweder Ereignis E 0 oder Ereignis E 1 hervor, also gilt wiederɛ A ≤ Pr[E 0 ] + Pr[E 1 ],und somit muss auch entweder Pr[E 0 ] ≥ ɛ A /2 oder Pr[E 1 ] ≥ ɛ A /2 oder beides gelten.Ereignis E 0 . Falls Ereignis E 0 eintritt, können wir die Kollisionsresistenz der Funktion h brechen.Dieser Teil des Beweises ist recht simpel, und sehr ähnlich zu zuvor bereits vorgestellten Beweisen,welche mit der Kollisionsresistenz einer Funktion argumentieren. Daher lassen wir ihn aus.Ereignis E 1 . Falls Ereignis E 1 eintritt, so kann B das Strong-RSA-Problem wie folgt lösen. B erhältals Eingabe eine Instanz (N, y) des Strong-RSA-Problems, und muss (x, e) ausgeben sodass e > 1 undx e ≡ y mod N.Zu Beginn des Experiments erhält B vom Angreifer A eine Liste von Nachrichten m 1 , . . . , m q .Dann berechnet B den Wert s ∈ Z N als∏s := yi∈{1,...,q} h(mi) mod N.Der öffentliche Schlüssel ist pk = (N, s), und hat die korrekte Verteilung.Die j-te Signatur für Nachricht m j bestimmt B durch Berechnung von∏σ j := yi∈{1,...,q}\{j} h(mi) mod N.Der Wert σ j ist eine gültige Signatur für Nachricht m j , denn die Verifikationsgleichung ist erfüllt:σ h(m j)j≡(y∏i∈{1,...,q}\{j} ) h(m h(m j ) ∏i) ≡ yi∈{1,...,q} h(mi) ≡ s mod N.Mit Wahrscheinlichkeit Pr[E 1 ] gibt A eine Fälschung (m ∗ , σ ∗ ) aus, sodass gilt• h(m ∗ ) ≠ h(m i ) für alle i ∈ {1, . . . , q}, und• (σ ∗ ) h(m∗) ≡ s mod N.58
Daher erhält B von A eine Lösung σ ∗ der Gleichung∏(σ ∗ ) h(m∗) ≡ s ≡ yi∈{1,...,q} h(mi) mod N, (4.4)bei der ggT(h(m ∗ ), ∏ i∈{1,...,q} h(m i)) = 1 gilt, weil die Funktion h auf Primzahlen abbildet undh(m ∗ ) ≠ h(m i ) für alle i ∈ {1, . . . , q} gilt.Um daraus eine Lösung für das Strong-RSA-Problem zu extrahieren, berechnet B mit Hilfe von„Shamir’s Trick“ (Lemma 31) aus Gleichung 4.4 den Wert x sodass x h(m∗) ≡ y mod N, und gibt(x, h(m ∗ )) als Lösung aus.EUF-CMA-sichere <strong>Signaturen</strong> basierend auf der Strong-RSA-Annahme. Wir haben bewiesen,dass das GHR-Verfahren EUF-naCMA-sicher ist. Unser eigentliches Ziel ist jedoch EUF-CMA-Sicherheit.Hier können wir die Transformation aus Kapitel 2.4 auf das GHR-Verfahren und die RSA-basiertenEinmalsignaturen aus Kapitel 2.3.2 (oder alternativ die RSA-basierte Chamäleon-Hashfunktion aus Kapitel3.3.2) anwenden. Da die RSA-Annahme von der Strong-RSA-Annahme impliziert wird, erhaltenwir somit ein EUF-CMA-sicheres Signaturverfahren basierend auf der Strong-RSA-Annahme.4.3.3 Hashfunktionen die auf Primzahlen abbildenHeuristische Konstruktion. Sei H : {0, 1} ∗ → {0, 1} l eine kollisionsresistente Hashfunktion. Einmöglicher Ansatz, um aus dieser Hashfunktion H die oben benötigte Funktion h zu konstruieren, ist dieFunktion h zu definieren alsh(m) := H(m||γ),wobei γ ∈ N die kleinste natürliche Zahl ist, sodass der Wert H(m||γ), aufgefasst als natürliche Zahl imIntervall [0, 2 l − 1], eine Primzahl ist. Bei der Auswertung von h wird γ einfach so lange inkrementiert,bis H(m||γ) prim ist.Wenn die Hashwerte H(m||γ) einigermaßen gleichmäßig über dem Intervall [0, 2 l −1] verteilt sind,dann erwartet man (nach dem Primzahlsatz) ungefähr log 2 l = l Versuche, um ein γ zu finden sodassH(m||γ) prim ist. Die Auswertung von h ist also einigermaßen effizient (im asymptotischen Sinne),falls die Auswertung von H effizient ist. Diese Konstruktion ist natürlich heuristisch, und hängt starkvon den Eigenschaften der Funktion H ab.Übungsaufgabe 71. Geben Sie eine Hashfunktion H : {0, 1} ∗ → [0, 2 l − 1] an, die kollisionsresistentist, aber für die der Wert H(m||γ) ∈ [0, 2 l − 1] niemals eine Primzahl ist. Sie können als Baustein einekollisionsresistente Hashfunktion H ′ : {0, 1} ∗ → B mit geeigneter Bildmenge B verwenden.Konstruktion basierend auf einer Chamäleon-Hashfunktion.Sei N ′ ∈ N eine natürliche Zahl, undch : {0, 1} n × Z N ′ → [0, N ′ − 1]die RSA-basierte Chamäleon-Hashfunktion aus Kapitel 3.3.2. Diese Chamäleon-Hashfunktion hat diehilfreichen Eigenschaften, dass sie• auf die natürlichen Zahlen im Intervall [0, N − 1] abbildet, und• für eine beliebige Nachricht m und einen gleichverteilt zufälligen Wert rWert ch(m, r) gleichverteilt über [0, N − 1].$ ← Z N ′ ist der Hash-59
- Seite 1 und 2:
Digitale SignaturenTibor Jagertibor
- Seite 3 und 4:
Inhaltsverzeichnis1 Einführung 31.
- Seite 5 und 6:
Kapitel 1EinführungEin Sender möc
- Seite 7 und 8:
Das stimmt nicht. Es trifft auf nah
- Seite 11 und 12: Challenger CAngreifer A(pk, sk) $
- Seite 13 und 14: Alle „≤“-Beziehungen einzeln
- Seite 15 und 16: Wir müssen also stets die Laufzeit
- Seite 17 und 18: Bemerkung 19. Die obige Transformat
- Seite 19 und 20: Challenger CAngreifer A(pk, sk) $
- Seite 21 und 22: f : {0, 1} ∗ → {0, 1} ∗Challe
- Seite 23 und 24: Die Correctness dieses Verfahrens i
- Seite 27 und 28: Definition 29. Sei N := P Q das Pro
- Seite 29 und 30: Fall 2: m ∗ − m ∈ [1, 2 n −
- Seite 31 und 32: Jeder erfolgreiche Angreifer ruft e
- Seite 33 und 34: 2.5.1 q-mal SignaturenAus einem Ein
- Seite 35 und 36: h 0,1h 1,1h 1,2h 2,1 h 2,2 h 2,3 h
- Seite 37 und 38: eine Funktion, die als Eingabe eine
- Seite 39 und 40: Kapitel 3Chamäleon-HashfunktionenA
- Seite 41 und 42: Man beachte, dass A nicht die Trapd
- Seite 43 und 44: Sign(sk, m, ch): Der Signaturalgori
- Seite 45 und 46: Jeder erfolgreiche Angreifer ruft e
- Seite 47 und 48: Sign(sk, m). Um eine Nachricht m
- Seite 49 und 50: für eine vernachlässigbare Funkti
- Seite 51 und 52: Kapitel 4RSA-basierte Signaturverfa
- Seite 53 und 54: UUF-NMA-Sicherheit. Man kann durch
- Seite 55 und 56: Random Oracle mit Liste LAngreifer
- Seite 57 und 58: Angreifer, die niemals H(m ∗ ) be
- Seite 59: Eine wichtige Klasse von praktische
- Seite 63 und 64: sieht. Daher konnten wir den Wert s
- Seite 65 und 66: GHR-Signaturen mit spezieller Funkt
- Seite 67 und 68: Beweis von Theorem 77. B startet A,
- Seite 69 und 70: 4.5 Offene ProblemeDas Hohenberger-
- Seite 71 und 72: 2. Nicht-Degeneriertheit. Für Gene
- Seite 73 und 74: Vfy(pk, m, σ). Der Verifikationsal
- Seite 75 und 76: Das Problem. Sei U 1 , . . . , U n
- Seite 77 und 78: 5.3.1 Programmierbare Hashfunktione
- Seite 79 und 80: Bemerkung 96. In anderen Kontexten
- Seite 81 und 82: Die so simulierten Signaturen sind
- Seite 83 und 84: Unmöglichkeitsbeweis, dass es kein
- Seite 85 und 86: der Fiat-Shamir Heuristik [FS87] au
- Seite 87 und 88: 6.2.1 Das SignaturverfahrenSei im F
- Seite 89 und 90: hoher Wahrscheinlichkeit) den gehei
- Seite 91 und 92: 4. Zum Schluss prüft Vfy, ob die a
- Seite 93 und 94: Literaturverzeichnis[BB04][BF01]Dan
- Seite 95 und 96: [Deb08][DHT12][DN10][DOP05][DSS09][
- Seite 97 und 98: [KL07]Jonathan Katz and Yehuda Lind