RSA Aufgaben

Aus ProgrammingWiki

    Für das Verschlüsseln der Nachricht M zum chiffrierten Text C gilt: C = M^e(mod N)

    Für das Dechiffrieren von C in die Ausgangsnachricht M gilt: M = C^d(mod N)


Aufgabe 1

Alice wählt zwei verschiedene Primzahlen p = 5 und q = 11.

Gib N an:

(Texteinträge wieder in " " schreiben)


Ermittle (p-1)*(q-1) und eine dazu teilerfremde Zahl e für den öffentlichen Schlüssel:


Hier nun den öffentlichen Schlüssel (e, N) angeben:


Bob will an Alice nun die Nachricht M = 8 schicken. (Wir vernachlässigen die Umwandlung der Buchstaben per Ascii-Code und verwenden gleich Zahlen).

Wir erhalten C:


Diese verschlüsselte Nachricht C schickt Bob an Alice. Alice kann nun mit Ihrem geheimen, privaten Schlüssel (d, N) die Nachricht C entschlüsseln, also die von Bob geschickte Klarnachricht M lesen. Ihr d hat sie bereits ermittelt aus (d*e) mod ((p - 1)*(q - 1)) = 1 : (Die obigen Ergebnisse einsetzen und d ermitteln. Dazu hilft Probieren, eine Tabelle auf einem Zettel und das im Kopf bilden von passenden Vielfachen, bis sich der Rest 1 ergibt. Dieses d wäre das Richtige.)
(Evtl. auch mit Cryptool nachprüfen)

d eingeben:


Überprüfe abschließen, ob sich damit wieder M = 8 ergibt.


Aufgabe 2


Bestimme für die Primzahlen p = 17 und q = 19 den öffentlichen Schlüssel und den privaten Schlüssel.


öffentlicher Schlüssel (e, N):


privater Schlüssel (d, N):

Aufgabe 3

Der öffentliche Schlüssel wird gewählt mit (e, N) = (11, 323), der private Schlüssel (d, N) = (131, 323). Verschlüssele mit diesen Werten die Nachricht „SERVER“.

[Ergebnis für „S“: Das „S“ wird zu einer „83“ umgewandelt, die dann als „315“ verschlüsselt wird]