RSA | Pohlig-Hellman Algorithmus |
Die Sicherheit des RSA-Systems basiert darauf, dass Faktorisieren von natürlichen Zahlen wahrscheinlich algorithmisch schwierig ist, das bedeutet, es sind derzeit keine Polynomialzeitalgorithmen zur Lösung dieses Problems bekannt. Ein vermutlich ähnlich schweres Problem ist das des diskreten Logarithmus in , auf dem das ElGamal Kryptosystem basiert. Hintergrund ist folgender:
Gegeben: | Ein Tripel ![]() ![]() ![]() ![]() |
das heißt ![]() ![]() |
|
Gesucht: | Ein ![]() ![]() ![]() |
Für kryptographische Anwendungen sollte die Primzahl mindestens
Bits haben, damit ein Angreifer nicht mit Brute Force Verfahren ein geeignetes
mit
in vertretbarer Zeit finden kann.
Alice möchte an Bob eine Nachricht senden. Beim ElGamal Kryptosystem ist das Tripel öffentlich, während
mit
geheim ist. Zum Verschlüsseln einer Nachricht
wählt Alice eine zufällige Zahl
und berechnet
Zum Dechiffrieren wird von Bob
berechnet.
Man wählt nicht , da dann
als Klartext übertragen wird.
Das Chiffrat ist doppelt so lang wie der Klartext.
Wird zweimal der gleiche Exponent verwendet, so kann ein Angreifer, wenn er zwei Chiffrate
und
hat und die zu
zugehörige Nachricht
, auch die zu
gehörige Nachricht
mit
berechnen, denn wegen
und
gilt
.