13.07.2015 Aufrufe

Digitale Signaturen - Tibor Jager

Digitale Signaturen - Tibor Jager

Digitale Signaturen - Tibor Jager

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

GHR-<strong>Signaturen</strong> mit spezieller Funktion h. Wenn man diese Funktion h in das GHR-Signaturverfahreneinsetzt, ergibt sich das folgende Signaturverfahren.Gen(1 k ). Der Schlüsselerzeugungsalgorithmus erzeugt einen RSA-Modulus N = P Q, wobei P und Qzwei zufällig gewählte Primzahlen sind. Außerdem wird s $ ← Z N gewählt.Um die Funktion h zu beschreiben, werden zusätzlich κ $ ← {0, 1} k und α $ ← {0, 1} l gewählt.Die Schlüssel sind pk := (N, s, (PRF, κ, α)) und sk := φ(N) = (P − 1)(Q − 1).Sign(sk, m). Um eine Nachricht m ∈ {0, 1} n zu signieren, wird d := 1/h(m) mod φ(N) berechnet.Die Signatur istσ := s d = s 1/h(m) mod N,also eine h(m)-te Wurzel von s.Vfy(pk, m, σ). Der Verifikationsalgorithmus gibt 1 aus, wennσ h(m) ≡ s mod N.gilt, also σ eine h(m)-te Wurzel von s ist. Ansonsten wird 0 ausgegeben.Dieses Verfahren kann unter der RSA-Annahme SUF-naCMA-sicher beweisen werden. Man musssich jedoch auf Instanzen des RSA-Problems (N, e, y) beschränken, bei denen e eine Primzahl ist.Beweisidee. Sei B ein Algorithmus, der einen SUF-naCMA-Angreifer A benutzt, um das RSA-Problem zu lösen. B erhält als Eingabe eine Instanz (N, e, y) des RSA-Problems, wobei wir im Folgendenannehmen dass e eine zufällige l-Bit Primzahl ist.Die Grundidee des Sicherheitsbeweises ist, dass B die Funktion h geschickt so „programmiert“, dassh(m ∗ ) = e gilt. Wenn dies gelingt, dann kann B wir die gleiche Strategie für Simulation- und Extraktionwie im Strong-RSA-basierten Sicherheitsbeweis (Beweis von Theorem 70) anwenden. Da der AngreiferA im SUF-naCMA-Experiment eine Signatur für Nachricht m ∗ fälschen muss, und h(m ∗ ) = e gilt,wird A für B genau die gesuchte e-Wurzel aus y berechnen.B definiert daher die Funktion h, indem er zuerst einen zufälligen Seed κ ← $ {0, 1} k wählt, sowieeinen zufälligen Wert γ ← $ {1, . . . , l}. Der Wert α ∈ {0, 1} l wird definiert alsα := PRF(k, m ∗ ||γ) ⊕ e.Wenn man nun annimmt, dass γ die kleinste natürliche Zahl ist, sodass PRF(k, m ∗ ) ⊕ α prim ist, dannisth(m ∗ ) = PRF(k, m ∗ ||γ) ⊕ α = e.Durch geeignete Wahl von α konnte B also die Funktion h genau so programmieren, dass h(m ∗ ) = egilt.4.4.2 Von SUF-naCMA-Sicherheit zu EUF-naCMA-SicherheitUnser Ziel ist die Konstruktion eines EUF-naCMA-sicheren Signaturverfahrens basierend auf der RSA-Annahme. Bislang haben wir ein RSA-basiertes Signaturverfahren, welches jedoch leider nur SUFnaCMA-sicherist. In diesem Kapitel beschreiben wir eine generische Transformation, mit der manaus einem SUF-naCMA-sicheren Verfahren ein EUF-naCMA-sicheres Verfahren konstruieren kann.Explizit beschrieben wurde diese Transformation in [BK10], die Idee dazu stammt jedoch aus [HW09b].63

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!