04.02.2013 Aufrufe

Full paper (pdf) - CDC

Full paper (pdf) - CDC

Full paper (pdf) - CDC

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!