ElGamal | Digitale Signaturen |
Im vorangegangenen Abschnitt haben wir ein Kryptosystem betrachtet, dessen Sicherheit darauf beruht, dass das Diskrete Logarithmusproblem (DLP) schwierig ist, also auf der Annahme, dass es keine polynomiellen Lösungsverfahren gibt. Wir wollen nun versuchen, das DLP algorithmisch zu lösen.
Diskretes Logarithmusproblem (DLP)
Gegeben: Ein Tripel , wobei
Primzahl ist,
und
primitiv in
.
Gesucht: Das mit
.
Trivialer Algorithmus
Für berechne
bis
gilt, die Lösung ist dann
.
Die Anzahl der Multiplikationen bei diesem trivialen Algorithmus ist im worst case , also nicht polynomiell in der Eingabelänge
.
Der Pohlig-Hellman Algorithmus berechnet zu gegebenem Tripel (
prim,
und
primitiv in
) ein
mit
, wobei
gilt und
eine Primzahl ist mit
,
, aber
.
Kennt man alle paarweise verschiedenen Primteiler von
, also
, so liefert das Pohlig-Hellman Verfahren Werte
,
. Damit kann der Wert
mit
,
, mit dem Chinesischen Restsatz leicht berechnet werden, sodass gilt
.
Bevor wir das Verfahren anwenden, machen wir zunächst einige Vorbemerkungen. Sei und
für eine Primzahl
. Der gesuchte Wert
mit
hat eine Darstellung der Form
mit für
. Man berechnet nun sukzessive die Werte
.
Beweis Aus und
folgt die Existenz von
mit
. Mit
reicht es daher zu zeigen, dass gilt
Beim Pohlig-Hellman Verfahren wird für
berechnet bis
erfüllt ist, man setzt dann
.
Für ist man fertig, sonst wird
wie folgt berechnet: Sei
und setze
und
. Dann gilt
und somit folgt wie in Lemma 8
Also wird berechnet,
, bis
erfüllt ist, dann setzt man
.
Das Verfahren wird fortgesetzt. Allgemein wird wie folgt vorgegangen:
Pohlig-Hellman Verfahren:
Gegeben: Ein Tripel mit
prim,
und
primitiv in
sowie eine Primzahl
mit
aber
.
Gesucht: Ein mit
und
, wobei gilt
.
Man muss maximal Schritte durchführen, von denen jeder einzelne in Zeit
durchführbar ist. Mit
und
folgt
. Gilt für jeden einzelnen Primfaktor
mit
nun
, so löst das Pohlig-Hellman Verfahren das Diskrete Logarithmus Problem in Polynomialzeit, wenn die Primfaktorzerlegung von
gegeben ist. Letzteres ist natürlich nicht unproblematisch.
Zusammenfassend können wir sagen: Ist die Primzahlzerlegung von "leicht" zu finden, so ist das Diskrete Logarithmus Problem mit dem Pohlig-Hellman Verfahren "effizient" zu lösen.