fahren [BF01] oder die ersten kurzen <strong>Signaturen</strong> über bilinearen Gruppen [BLS01, BLS04] (die wir ineinem späteren Kapitel betrachten werden) nur Beweise im Random Oracle Modell.Eine erste Konstruktion eines neuen Bausteins anzugeben, auch wenn der Sicherheitsbeweis zunächstnur im Random Oracle Modell ist, kann dabei helfen zu lernen wie man den gesuchten neuenBaustein prinzipiell konstruieren könnte. Eine zweiter Schritt ist dann die Suche nach einer ausgefeilterenKonstruktion, möglicherweise einer Variante der Ersten, die einen Sicherheitsbeweis im Standardmodellhat.Bemerkung 63. Es gibt auch kryptographische Bausteine, von denen man weiss dass sie nur im RandomOracle Modell beweisbar existieren. Ein Beispiel dafür sind Verschlüsselungsverfahren, die sicher gegenso genannte adaptive Korruption von Empfängern ist („non-commiting encryption“) [Nie02].4.2.2 Sicherheitsbeweis von RSA-FDH im Random Oracle ModellTheorem 64. Sei Σ = (Gen, Sign, Vfy) das RSA-FDH Signaturverfahren mit Hashfunktion H. Wenn Hals Random Oracle modelliert wird, dann existiert für jeden Angreifer A, der die EUF-CMA-Sicherheitvon Σ in Zeit t A mit Erfolgswahrscheinlichkeit ɛ A bricht, und dabei q H Anfragen an das Random Oraclestellt, ein Angreifer B der das RSA-Problem löst in Zeit t B ≈ t A mit Erfolgswahrscheinlichkeit mindestensɛ B ≥ ɛ A − 1/Nq H.Beweis. Die Grundlage des Sicherheitsbeweises ist die Beobachtung, dass der Angreifer das RandomOracle fragen muss, um einen Hashwert zu berechnen. Das Random Oracle wird vom Challenger implementiert.Die Beweisidee ist, eine gegebene RSA-Challenge auf geschickte Art und Weise so in dieAntworten des Random Oracles einzubetten, dass man den Signatur-Angreifer benutzen kann um dasRSA-Problem zu lösen.Ein erfolgreicher Angreifer erhält als Eingabe einen public key (N, e), darf Signatur-Anfragen stellen,und gibt am Ende (m ∗ , σ ∗ ) aus, sodass σ ∗ = H(m ∗ ) 1/e . Wir betrachten wieder zwei Ereignisse,die der Angreifer im Verlaufe des Experimentes hervorrufen kann:• Wir sagen dass Ereignis E 0 eintritt, falls der Angreifer A erfolgreich eine gültige Signatur (m ∗ , σ ∗ ) =(m ∗ , H(m ∗ ) 1/e ) ausgibt und A im Verlaufe des Experimentes niemals das Random Oracle nachdem Hashwert H(m ∗ ) gefragt hat.• Wir sagen dass Ereignis E 1 eintritt, falls der Angreifer A (m ∗ , σ ∗ ) = (m ∗ , H(m ∗ ) 1/e ) ausgibtund A im Verlaufe des Experimentes irgendwann einmal das Random Oracle nach dem HashwertH(m ∗ ) gefragt hat.Jeder erfolgreiche Angreifer ruft entweder Ereignis E 0 oder Ereignis E 1 hervor, also giltDiese Ungleichung lässt sich umformen zuɛ A ≤ Pr[E 0 ] + Pr[E 1 ].Pr[E 1 ] ≥ ɛ A − Pr[E 0 ]. (4.1)54
Angreifer, die niemals H(m ∗ ) beim Random Oracle anfragen. Es ist recht leicht zu sehen, dassein solcher Angreifer nur eine sehr kleine Erfolgswahrscheinlichkeit hat. Das Random Oracle wähltjeden Hashwert gleichverteilt zufällig aus Z N . Insbesondere ist also der Hashwert H(m ∗ ) gleichverteiltzufällig über Z N , und der Angreifer erhält keine Information über H(m ∗ ).Da die Abbildung h ↦→ h 1/e mod N eine Bijektion über Z N ist, ist also auch der Wert H(m ∗ ) 1/egleichverteilt über Z N . Der Angreifer kann diesen Wert nur raten, und somit ist seine Erfolgswahrscheinlichkeitin diesem Falle (und damit die Wahrscheinlichkeit von Ereignis E 0 ) höchstensPr[E 0 ] ≤ 1 N . (4.2)Angreifer, die irgendwann einmal H(m ∗ ) beim Random Oracle anfragen. Wir zeigen, dass wir auseinem Angreifer A, der Ereignis E 1 hervorruft, einen Angreifer B konstruieren können, der das RSA-Problem löst. Wir betrachten also einen Algorithmus B, der als Eingabe eine RSA-Challenge (N, e, y)erhält. Algorithmus B lässt A als „Subroutine“ laufen, indem er den Challenger und das Random Oraclefür A implementiert.Den öffentlichen Schlüssel definiert B als pk := (N, e). B rät einen Index ν ← $ {1, . . . , q H } gleichverteiltzufällig, und startet A mit Eingabe pk.Wir nehmen im Folgenden an, dass der Angreifer vor jeder Anfrage einer Signatur für eine Nachrichtm i zuerst den Hashwert H(m i ) vom Random Oracle erfragt. (Alternativ kann man sich vorstellen,dass der Challenger die entsprechende Random Oracle Anfrage „im Namen von A“ stellt, bevor er dieSignaturanfrage beantwortet).Wenn A seine j-te Random Oracle Anfrage mit Nachricht ˜m j stellt, so beantwortet B sie wie folgt:$• Falls j ≠ ν, so wählt B einen Wert x j ← Z N zufällig, berechnet y j := x e j mod N, und gibt y jals Hashwert H( ˜m j ) := y j von ˜m j zurück. Den Wert x j „merkt“ sich B, für den Fall dass Aspäter eine Signatur für Nachricht ˜m j anfragt. Da x j gleichverteilt ist, ist auch y j gleichverteilt.Die Antwort des Random Oracles ist also genauso verteilt wie im echten Experiment.• Falls j = ν, so definiert B H( ˜m ν ) := y, wobei y aus der RSA-Challenge (N, e, y) stammt. Dader Wert y aus der RSA-Challenge ebenfalls gleichverteilt zufällig ist, ist auch in diesem Falle dieAntwort des Random Oracles korrekt verteilt.Man beachte, dass B für jede Nachricht ˜m j , j ∈ {1, . . . , q} \ {ν}, eine Signatur berechnen kann,indem er x j ausgibt, denn es giltx e j ≡ y j ≡ H( ˜m j ) mod N ⇐⇒ x j ≡ H( ˜m j ) 1/e mod N.Nur für die ν-te Nachricht ˜m ν kann B keine Signatur berechnen.Falls Ereignis E 1 eintritt, so wird A irgendwann ein gültiges Nachrichten-Signatur-Paar (m ∗ , σ ∗ )mit σ ∗ ≡ H(m ∗ ) 1/e mod N ausgeben, sodass A zwar zuvor den Hashwert H(m ∗ ) angefragt hat, aberkeine Signatur für m ∗ . B„hofft“ nun, dass m ∗ genau die ν-te Nachricht sein wird, alsom ∗ = ˜m ν .Da der Index ν gleichverteilt zufällig gewählt wurde, tritt dies mit Wahrscheinlichkeit 1/q H ein. Ist diesder Fall, so kann B alle Signatur-Anfragen für A korrekt beantworten, und somit wird A die gesuchtee-te Wurzel von y für B berechnen:H(m ∗ ) 1/e ≡ H( ˜m ν ) 1/e ≡ y 1/e mod N.55
- 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: Random Oracle mit Liste LAngreifer
- Seite 59 und 60: Eine wichtige Klasse von praktische
- Seite 61 und 62: Daher erhält B von A eine Lösung
- 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