ElGamal Verschlüsselung

ElGamal Verschlüsselung
Der ElGamal-Algorithmus ist eine Variation des Diffie-Hellman-Algorithmus. Taher ElGamal
veröffentlichte sein Verfahren 1985. Es gehört, wie zum Beispiel auch das weitausbekannterer
RSA-Verfahren, zu den sogenannten asymmetrischen Verfahren
Was ist asymmetrische Verschlüsselung:
Es beruht auf der Grundlage, dass Sender und Empfänger jeweils zwei Schlüssel haben.
Der sogenannte öffentliche Schlüssel ist jedem zugänglich, und somit auch jedem bekannt,der
private Schlüssel ist nur dem Empfänger bekannt.
Die einzelnen Schlüssel haben einen mathematischen Bezug zueinander, sind aber nicht ableitbar.
Schlüsselgenerierung
• Zunächst benötigen wir eine große Primzahl Z.
• Wir benötigen zwei weitere beliebige Zahlen y und g, die größer als Eins, aber kleiner als die
Zahl Z sein müssen.
• p=yg mod Z
p, y und Z sind öffentlich und werden auch im öffentlichen Schlüssel verwendet. g dagegen ist
geheim und darf nie veröffentlicht werden.
Verschlüsselung
• Die zu verschlüsselnde Nachricht muss einen Wert aufweisen, der kleiner als Z ist, sonst muss er
in Teile zerlegt werden.
• Der Absender benötigt noch eine zufällige Zahl x, die größer Eins, aber kleiner Z-1 sein muss
• Der Absender erzeugt zunächst mal die Hilfsgrösse c1, dieser Wert muss ebenfalls dem
Empfänger gegeben werden
c1= yx mod Z
•
und ausserdem für jeden zu verschlüsselnden Klartextteil
c2=(k px) mod Z mit k= Klartextteil (z.b. Ascii-Code).
Entschlüsselung
•
Für die Entschlüsselung gilt
k= (c2 c1(Z-1-g)) mod Z