Full paper (pdf) - CDC
Full paper (pdf) - CDC
Full paper (pdf) - CDC
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
3.8 ElGamal-Key-Sharing<br />
Wie wir gesehen haben, sind ElGamal-Verschlüsselungen und -Signaturen randomisierte<br />
Berechnungen, in die jeweils eine Zufallszahl eingeht. Die Verschlüsselung<br />
ist eine Public-Key-Operation, so daß ein Key-Sharing auf sie keinen Einfluß<br />
hat. Zur Signatur allerdings wird der private Schlüssel (beziehungsweise<br />
die privaten Schlüsselteile) benötigt, so daß die Erzeuger der Teilsignaturen<br />
untereinander kommunizieren müssen, um sich auf die Zufallszahl zu einigen.<br />
Da wir uns in dieser Arbeit nur mit Protokollen beschäftigen wollen,<br />
die keine Interaktion der Teilnehmer erforderlich machen, werden wir verteilte<br />
ElGamal-Signaturen (und andere, davon abgeleitete Signaturen, beispielsweise<br />
DSA) nicht besprechen und verweisen auf die Literatur [GJKR96].<br />
Genau wie beim nicht-redundanten RSA-Key-Sharing ist es sehr einfach<br />
möglich, den geheimen Exponenten a in beliebig viele Summanden ai mit �<br />
i ai =<br />
a (mod p − 1) zu zerlegen, die dann unabhängig voneinander zur Berechnung<br />
von Teilentschlüsselungen verwendet werden können:<br />
Bi = B −ai (mod p) und c �<br />
Bi = Bc = m (mod p).<br />
Beim Versuch, das Shamir-Verfahren direkt auf ElGamal-Exponenten zu<br />
übertragen, stößt man wie beim RSA-Verfahren erneut auf das Problem, daß<br />
sich die Exponenten in einer nicht-primen Restgruppe bewegen, in diesem Fall<br />
(Z/(p − 1)Z) (die Ordnung dieser Gruppe muß zwar im Gegensatz zum RSA-<br />
Verfahren nicht geheim gehalten werden, aber das ändert nichts daran, daß sich<br />
gewisse Elemente nicht invertieren lassen). Es gibt verschiedene Vorschläge, wie<br />
dieses Problem umgangen werden kann. Man kann das ElGamal-Verfahren in<br />
anderen Zahlkörpern durchführen, etwa (Z/pZ)mit p = 2 l und p − 1 prim,<br />
ein anderes Secret-Sharing-Verfahren anwenden [DF90] oder ähnlich wie im<br />
Pedersen-Verfahren aus Abschnitt 2.3.1 in einer primen Untergruppe Gq von<br />
(Z/pZ) ∗ rechnen [Ped91]. Wir verwenden hier letztere Vorgehensweise.<br />
Wenn die Primzahl p sich als p = mq + 1 darstellen läßt, wobei q ebenfalls<br />
eine Primzahl ist, dann läßt sich das ElGamal-Verfahren wie folgt abwandeln:<br />
Das Element g wird nicht mehr so gewählt, daß es die gesamte Gruppe<br />
(Z/pZ) ∗ erzeugt, sondern lediglich eine Untergruppe Gq mit q Elementen. Infolge<br />
dessen bewegen sich die auftretenden Exponenten nur noch in der (kleineren,<br />
aber ebenfalls primen) Gruppe (Z/qZ), so daß man im Exponenten nicht mehr<br />
modulo p − 1 rechnen muß, sondern modulo q rechen kann (in der Basis muß<br />
weiterhin modulo p gerechnet werden). Auf diese Weise kommt man mit kleineren<br />
Exponenten aus (das wird beim DSA-Verfahren ausgenutzt) und kann auch<br />
das Shamir-Verfahren direkt verwenden.<br />
Schlüsselerzeugung Der Schlüsselgenerator wählt zwei Primzahlen p und q<br />
mit p = mq+1 und bestimmt eine Element g aus (Z/pZ) ∗ mit Ordnung q (dieses<br />
Element erzeugt eine Untergruppe Gq von (Z/pZ) ∗ ). Dann wählt er zufällig und<br />
gleichverteilt den geheimen Exponenten a aus {1 . . . q − 1} und berechnet den<br />
öffentlichen Schlüssel (p, q, g, A) mit<br />
A = g a<br />
31<br />
i<br />
(mod p).