Präfixe. Bevor wir die Konstruktion der Transformation angeben, müssen wir noch „Präfixe“ von Bit-Strings definieren und ein technisches Lemma angeben, das wir im Beweis benutzen werden.Definition 73. Sei m ∈ {0, 1} n ein Bit-String. Wir schreiben m |w , und sagen dass m |w das w-te Präfixvon m ist, wenn• |m |w | = w gilt, also die Länge von m |w genau w ist, und• m |w identisch ist zu den ersten w Bits von m.Beispiel 74. Sei n = 4 und m = 1011 ∈ {0, 1} 4 . Dann ist m |1 = 1, m |2 = 10, m |3 = 101 undm |4 = 1011.Im Beweis von Theorem 77 benutzen wir das folgende Lemma.Lemma 75. Sei m 1 , . . . , m q eine Liste von q beliebigen Nachrichten, wobei m ii ∈ {1, . . . , q}. Sei m ∗ ∈ {0, 1} n sodass m ∗ ≠ m i für alle i ∈ {1, . . . , q}.∈ {0, 1} n für alle1. Es existiert ein kürzestes Präfix m ∗ |w von m∗ , das kein Präfix von irgendeiner Nachricht m i ausder Liste m 1 , . . . , m q ist.2. Selbst wenn wir nur (m 1 , . . . , m q ) gegeben haben, aber nicht m ∗ , können wir dieses Präfix korrektbestimmen, mit einer Erfolgswahrscheinlichkeit von mindestens 1/(qn).Übungsaufgabe 76. Beweisen Sie Lemma 75.Die Transformation. Sei ˜Σ = (˜Gen, ˜Sign, Ṽfy) ein (SUF-naCMA-sicheres) Signaturverfahren. Wirkonstruieren daraus ein neues, (EUF-naCMA-sicheres) Signaturverfahren Σ = (Gen, Sign, Vfy).Gen(1 k ). Der Schlüsselerzeugungsalgorithmus erzeugt ein Schlüsselpaar durch (pk, sk) $ ← ˜Gen(1 k ).Sign(sk, m). Um eine Nachricht m ∈ {0, 1} n zu signieren, werden alle Präfixe von m mit ˜Sign signiert:˜σ (w) := ˜Sign(sk, m |w )∀w ∈ {1, . . . , n}.Die Signatur für m besteht aus σ := (˜σ (1) , . . . , ˜σ (n) ).Vfy(pk, m, σ). Der Verifikationsalgorithmus erhält σ := (˜σ (1) , . . . , ˜σ (n) ), und prüft ob der Wert ˜σ (w)eine gültige Signatur für m |w ist, für alle w ∈ {1, . . . , n}:Ṽfy(pk, m |w , ˜σ (w) ) ? = 1∀w ∈ {1, . . . , n}.Die Grundidee der Transformation ist also sehr einfach: Nicht nur die Nachricht m = m |n wird signiert,sondern auch alle Präfixe von m.Wir können zeigen, dass dieses Verfahren Σ tatsächlich EUF-naCMA-sicher ist, falls das zugrundeliegendeVerfahren Σ ′ SUF-naCMA-sicher ist. Dies wird wieder durch Widerspruch beweisen.Theorem 77. Für jeden Angreifer A, der die EUF-naCMA-Sicherheit von Σ bricht in Zeit t A mitErfolgswahrscheinlichkeit ɛ A , existiert ein Angreifer B, der die SUF-naCMA-Sicherheit von ˜Σ brichtin Zeit t B mit Erfolgswahrscheinlichkeitɛ B ≥ ɛ Aqn ,wobei n die Nachrichtenlänge und q die Anzahl der Chosen-Message Signatur-Anfragen von A ist.64
Beweis von Theorem 77. B startet A, und erhält eine Liste von Nachrichten (m 1 , . . . , m q ). Basierendauf dieser Liste rät B das kürzestes Präfix m ∗ |w von m∗ , sodass m ∗ |wkein Präfix von irgendeiner Nachrichtm i ist, i ∈ {1, . . . , q}, und legt sich gegenüber dem Challenger darauf fest eine Signatur für dieNachricht ˜m ∗ := m ∗ |wzu fälschen.Nun erfragt B noch <strong>Signaturen</strong> für alle Präfixe der Nachrichten in (m 1 , . . . , m q ). Dazu definiert Beine neue Liste von Nachrichten ( ˜m 1 , . . . , ˜m qn ) als( ˜m 1 , . . . , ˜m n ) := (m 1|1 , . . . , m 1|n )( ˜m n+1 , . . . , ˜m 2n ) := (m 2|1 , . . . , m 2|n )( ˜m (q−1)n+1 , . . . , ˜m qn ) := (m q|1 , . . . , m q|n )..Die Liste ( ˜m 1 , . . . , ˜m qn ) besteht also aus allen möglichen Präfixen aller Nachrichten in der Liste (m 1 , . . . , m q ).Dann erfragt B <strong>Signaturen</strong> für alle Nachrichten in ( ˜m 1 , . . . , ˜m qn ) beim Challenger.Vom Challenger erhält B den öffentlichen Schlüssel pk sowie eine Liste von <strong>Signaturen</strong> (˜σ 1 , . . . , ˜σ qn ).Nun definiert Bσ 1 := (˜σ 1 , . . . , ˜σ n )σ 2 := (˜σ n+1 , . . . , ˜σ 2n ).σ q := (˜σ (q−1)n+1 , . . . , ˜σ qn ).Somit besteht eine Signatur σ i aus einer Liste von <strong>Signaturen</strong> über alle Präfixe der Nachricht m i , und istdamit eine gültige Signatur für Nachricht m i bezüglich des Signaturverfahrens Σ. Den pk und die Liste(σ 1 , . . . , σ q ) leitet B an A weiter.Mit Wahrscheinlichkeit ɛ A wird der Angreifer A daher eine Signaturfälschung (m ∗ , σ ∗ ) ausgeben,wobei σ ∗ = (˜σ ∗ 1 , . . . , ˜σ∗ n) <strong>Signaturen</strong> über jedes Präfix von m ∗ enthält. Insbesondere enthält σ ∗ eineSignatur über das kürzeste Präfix, welches kein Präfix irgendeiner Nachricht m i ist.Falls B nun richtig geraten hat, so ist m ∗ |w das kürzeste Präfix von m∗ , welches kein Präfix von irgendeinerNachricht m i ist, i ∈ {1, . . . , q}. In diesem Fall kann B die Signatur ˜σ ∗ w als gültige Fälschungausgeben. Laut Lemma 75 rät B mit einer Wahrscheinlichkeit von mindestens 1/(qn) korrekt. Somit istdie Erfolgswahrscheinlichkeit von B mindestensɛ B ≥ ɛ Aqn .Die in diesem Kapitel vorgestellte Transformation ist sehr attraktiv, denn sie ist generisch. Dasbedeutet, sie funktioniert mit beliebigen SUF-naCMA-sicheren Signaturverfahren. Sie eröffnet damiteinen neuen Weg zur Konstruktion von EUF-CMA-sicheren Signaturverfahren:SUF-naCMADieses KapitelKapitel 2.4=⇒ EUF-naCMA =⇒ EUF-CMA.Einen Nachteil gibt es jedoch noch: Wenn man die generische Transformation in diesem Kapitelanwendet, dann werden die <strong>Signaturen</strong> sehr groß. Um eine n-Bit Nachricht m ∈ {0, 1} n zu signieren,65
- 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 und 62: Daher erhält B von A eine Lösung
- Seite 63 und 64: sieht. Daher konnten wir den Wert s
- Seite 65: GHR-Signaturen mit spezieller Funkt
- 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