21.02.2013 Aufrufe

Vorlesungen „Kryptographie I und II” Bei Prof. Dr ... - Schnorr, C.P.

Vorlesungen „Kryptographie I und II” Bei Prof. Dr ... - Schnorr, C.P.

Vorlesungen „Kryptographie I und II” Bei Prof. Dr ... - Schnorr, C.P.

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.

1.6. ELGAMAL SIGNATUREN 17<br />

Der Absender sucht sich eine kollisionsresistente Hashfunktion<br />

H : {0,1} ∗ → {1,2,...,q − 1}<br />

<strong>und</strong> errechnet den Hashwert H (m) der Nachricht m ∈ {0,1} ∗ <strong>und</strong> den öffentlichen Schlüssel<br />

h ≡ g x mod q.<br />

Jetzt wählt er eine Zufallszahl k ∈ R � ∗ q <strong>und</strong> berechnet<br />

r :≡ g k mod q, s :≡ k −1 (H (m) − xH (r)) mod (q − 1).<br />

Die digitale Unterschrift besteht nun aus dem Paar (r,s) ∈ G ×�q.<br />

Das Prüfen der Unterschrift geschieht durch ein Vergleichen von g H(m) mit h H(r) ·r s mod q.<br />

<strong>Bei</strong> Gleichheit ist die Nachricht korrekt, da nach Fermat gilt:<br />

h H(r) · r s ≡ (g x ) H(r) · g ks ≡ g xH(r)+ks ≡ g H(m) mod q,<br />

da ks ≡ H (m) − xH (r) mod (q − 1) ist.<br />

Sicherheit. Um Unterschriften fälschen zu können muss die Gleichung g H(m) = h H(r) r s<br />

oder der log g h gelöst werden.<br />

Es muss allerdings darauf geachtet werden, dass keine zwei Nachrichten mit der gleichen<br />

Zufallszahl k signiert werden. In diesem Fall kann ein Angreifer den geheimen Schlüssel<br />

finden:<br />

r := g k mod q<br />

h H(r) · r s 1 ≡ g H(m 1 ) mod q<br />

h H(r) · r s 2 ≡ g H(m 2 ) mod q<br />

⇒ g H(m 1 )−H(m 2 ) ≡ r s 1 −s 2 mod q<br />

⇔ g H(m 1 )−H(m 2 ) ≡ g k(s 1 −s 2 ) mod q<br />

⇒ H(m 1 ) − H(m 2 ) ≡ k(s 1 − s 2 ) mod (q − 1)<br />

Sei d := ggT(s 1 − s 2 ,q − 1)<br />

⇒ H(m ′ ) = H(m 1 ) − H(m 2 )<br />

d<br />

s ′<br />

q ′<br />

:= s1 − s2 d<br />

:=<br />

q − 1<br />

d<br />

⇒ H(m ′ ) = k · s1 − s2 d<br />

mod q ′<br />

ggT(s ′ ,q ′ )=1<br />

⇒ ε ≡ (s ′ ) −1 mod q ′<br />

Für eines der i gilt dann h ≡ g x i mod q.<br />

x ≡ H(m ′ )ε mod q ′<br />

⇒ x i ≡ H(m ′ )ε + iq ′ mod q i = 0,...,d − 1<br />

Nachteil. Fälschen ist nicht äquivalent zum DL-Problem. Siehe dazu auch [PointchevalStern1996].

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!