Security im Überblick (Teil 2)

Kryptologische Verfahren

RSA

Der RSA-Algorithmus basiert auf folgenden vier Schritten:

  • Wähle zwei große Primzahlen p und q, die geheim bleiben.

  • Berechne das Produkt n = p*q. n wird als Modulus bezeichnet.

  • Um einen öffentlichen Schlüssel zu erzeugen, wähle eine Zahl e kleiner n, die teilerfremd zur Eulerschen Funktion E(n) = (p-1)*(q-1) ist. Das bedeutet, dass e und E(n) keinen gemeinsamen Teiler außer 1 besitzen. [e,n] ist der öffentliche Schlüssel.

  • Um den privaten Schlüssel zu erzeugen, bestimme eine Zahl d = e^-1 mod E(n). Dann gilt: e*d = 1 mod E(n). [d,n] ist der private Schlüssel.

Bei der Verschlüsselung kommt der RSA-Algorithmus folgendermaßen zum Einsatz:

  • Alice verschlüsselt ihren Klartext m gemäß c = m^e mod n und sendet ihn an Bob. In diesem Fall ist [e,n] der öffentliche Schlüssel von Bob.

  • Bob entschlüsselt den Geheimtext c mit seinem privaten Schlüssel [d,n] gemäß m = c^d mod n und erhält auf Grund des Zusammenhangs von d und e den Klartext m.

Wie man sieht, führt der Empfänger bei der Entschlüsselung die gleiche Operation durch wie der Sender bei der Verschlüsselung. In ähnlicher Weise lässt sich der RSA-Algorithmus zur Erzeugung und Überprüfung von Signaturen einsetzen:

  • Alice sendet eine signierte Nachricht, indem sie s = m^d mod n erzeugt und überträgt. [d,n] ist in diesem Fall der private Schlüssel von Alice.

  • Bob entschlüsselt die Signatur gemäß m = s^e mod n und erhält auf Grund des Zusammenhangs von d und e den Klartext m. [e,n] ist in diesem Fall der öffentliche Schlüssel von Alice. So kann jeder überprüfen, dass nur Alice die Signatur erzeugt hat.