Basierend auf dieser Chamäleon-Hashfunktion lässt sich eine (randomisierte) Hashfunktion h, die aufPrimzahlen abbildet, konstruieren. Um den Hashwert h(m) einer Nachricht m zu berechnen, geht manwie folgt vor:1. Wähle so lange zufällige Werte (m ′ , r ′ $) ← {0, 1} n × Z N ′, bis p = ch(m ′ , r ′ ) ∈ [0, N ′ − 1]eine Primzahl ist (dies geht relativ schnell, nach dem Primzahlsatz sind ungefähr log N ′ Versuchenötig).2. Berechne durch r = TrapColl(τ, m ′ , r ′ , m) eine Randomness r, sodass ch(m, r) = p.Die Randomness r wird dann zusammen mit der Signatur an den Empfänger gesandt. Die Kollisionsresistenzdieser Funktion h folgt aus der Kollisionsresistenz der Chamäleon-Hashfunktion.Eine weiterer Vorteil ist auch, dass man nun die Chamäleon-Eigenschaft von h auch gleich mitbenutzenkann, um EUF-CMA-Sicherheit des resultierenden Signaturverfahrens zu beweisen. Eine zweiteChamäleon-Hashfunktion zur Anwendung der Transformation aus Kapitel 2.4 ist somit nicht nötig.4.4 Hohenberger-Waters <strong>Signaturen</strong>Ein beweisbar EUF-CMA-sicheres Signaturverfahren das auf der Schwierigkeit des RSA-Problems basiertwar sehr lange ein offenes Problem. Im Jahr 2009 haben Hohenberger und Waters [HW09b] daserste solche Verfahren vorgestellt.Die Konstruktion von Hohenberger und Waters kann man auch als eine clevere Erweiterung desGHR-Verfahrens (Kapitel 4.3) ansehen. Diese basiert auf drei Beobachtungen, die wir in den folgendenKapiteln beschreiben:• Man kann zeigen dass GHR-<strong>Signaturen</strong> sicher sind unter der (klassischen) RSA-Annahme, wennman ein schwächeres Sicherheitsziel betrachtet, nämlich „selektive Sicherheit“ (SUF-naCMA).• Es gibt eine generische Transformation, mit der man aus einem SUF-naCMA-sicheren Verfahrenein EUF-naCMA-sicheres Verfahren konstruieren kann.• Diese Transformation lässt sich besonders effizient auf das GHR-Verfahren anwenden.4.4.1 Selektive Sicherheit von GHR-<strong>Signaturen</strong>Ein natürlicher Ansatz, um ein RSA-basiertes Signaturverfahren zu konstruieren, ist sich zuerst malein bekanntes Strong-RSA-basiertes Verfahren, wie das GHR-Verfahren, anzusehen. Warum reicht dieRSA-Annahme im Beweis nicht aus?Wie immer, wenn wir die Sicherheit eines Signaturverfahrens beweisen wollen, mussten wir imSicherheitsbeweis der GHR-<strong>Signaturen</strong> auf zwei Dinge achten:Simulation. Wir (bzw. der Algorithmus B, den wir im Beweis von Theorem 70 konstruiert haben)müssen in der Lage sein, im Beweis einen gültigen pk und gültige <strong>Signaturen</strong> für die Nachrichten„simulieren“.Hier konnten wir ausnutzen, dass der Angreifer im EUF-naCMA-Experiment die Nachrichten,für die er <strong>Signaturen</strong> sehen möchte, zu Beginn des Experiments ausgeben muss – bevor er den pk60
sieht. Daher konnten wir den Wert s ∈ Z N , der im pk steht, so aufsetzen, dass wir „genau dierichtigen“ h(m i )-ten Wurzeln aus s berechnen konnten:s := y ∏ i h(m i) mod NDieser Schritt ist im Beweis des GHR-Verfahrens könnte genauso funktionieren, wenn wir stattder Strong-RSA die RSA-Annahme treffen. Hier scheint also nicht das Problem zu liegen.Extraktion. Wenn uns der Angreifer eine Fälschung (m ∗ , σ ∗ ) mits ≡ (σ ∗ ) h(m∗) mod Nliefert, dann konnten wir (falls A keine Kollision für h gefunden hat) mit Hilfe von Shamir’s Trickeine neue h(m ∗ )-te Wurzel von y berechnen, und so das Strong-RSA-Problem lösen.Leider hatten wir (d.h. der Simulator im Beweis) keinen Einfluß auf den Wert h(m ∗ ), denn m ∗wird im EUF-naCMA-Experiment vom Angreifer gewählt. Um das Strong-RSA-Problem zu lösenist jedoch ausreichend irgendeine nichttriviale Wurzel von y zu berechnen – wir müssen nichtsüber h(m ∗ ) wissen, ausser dass h(m ∗ ) ≠ h(m i ) für alle i ∈ {1, . . . , q} gelten muss. Beim RSA-Problem ist das anders, denn wir müssen eine ganz bestimmte e-te Wurzel ziehen. Nämlich fürgenau den Wert e, den uns die gegebene Instanz (N, e, y) des RSA-Problems vorgibt.Hier liegt also das Problem. Der Angreifer im EUF-naCMA-Experiment gewinnt, wenn er einegültige Fälschung (m ∗ , σ ∗ ) für eine beliebige neue Nachricht m ∗ ausgibt. Daher ist es schwierigfür uns, den Angreifer dazu zu bewegen, dass er uns „genau die richtige“ e-te Wurzel berechnet.Selektive Sicherheit. Können wir einen Sicherheitsbeweis für GHR-<strong>Signaturen</strong> unter der (klassischen)RSA-Annahme angeben, wenn wir den Angreifer im Experiment dazu zwingen eine Fälschungfür eine bestimmte Nachricht m ∗ auszugeben?Wir schwächen das EUF-naCMA-Experiment etwas ab, und betrachten im Folgenden das selectiveunforgeability under non-adaptive chosen-message attack (SUF-naCMA) Sicherheitsexperiment,welches mit einem Angreifer A, Challenger C und Signaturverfahren (Gen, Sign, Vfy) wie folgt abläuft(siehe auch Abbildung 4.2):1. Der Angreifer legt sich zu Beginn auf die Nachricht m ∗ fest, für die er eine Signatur fälschenwird.2. Dann gibt der Angreifer gibt q Nachrichten (m 1 , . . . , m q ) aus, sodass m i ≠ m ∗ für alle i ∈{1, . . . , q}. Dies sind die Nachrichten, für die A eine Signatur erfragt.$3. Der Challenger C generiert ein Schlüsselpaar (pk, sk) ← Gen(1 k ), und berechnet für jedesi ∈ {1, . . . , q} eine Signatur σ i := Sign(sk, m i ). Der Angreifer erhält pk und die <strong>Signaturen</strong>(σ 1 , . . . , σ q ).4. Am Ende gibt A eine Signatur σ ∗ aus. Er „gewinnt“ das Spiel, wennVfy(pk, m ∗ , σ ∗ ) = 1.A gewinnt also, wenn σ ∗ eine gültige Signatur für m ∗ ist.61
- 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 und 60: Eine wichtige Klasse von praktische
- Seite 61: Daher erhält B von A eine Lösung
- 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