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.
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].