PMG2022/RSA Aufgaben
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
<font color="green"><ul>Für das Verschlüsseln der Nachricht $M$ zum chiffrierten Text $C$ gilt: $C = M^e(mod N)$ </ul>
<ul>Für das Dechiffrieren von $C$ in die Ausgangsnachricht $M$ gilt: $M = C^d(mod N)$ </ul></font>
<br><br>
== Aufgabe 1 ==
Alice wählt zwei verschiedene Primzahlen $p$ = 5 und $q$ = 11.
Gib $N$ an:
<run id="600d58b962ab8">
</run>
''(Texteinträge wieder in " " schreiben)''
Ermittle $(p-1)*(q-1)$ und eine dazu teilerfremde Zahl $e$ des öffentlichen Schlüssels:
<run id="600d59a22e2b2">
</run>
Hier nun den öffentlichen Schlüssel $(e, N)$ angeben:
<run id="600d59a22e30f"></run>
Bob will an Alice nun die Nachricht $M$ = 8 schicken. ''(Wir vernachläsigen die Umwandlung der Buchstaben per Ascii-Code und verwenden gleich Zahlen).''
Wir erhalten $C$:
<run id="600d5c5357221"></run>
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 ermittel aus $d*e = 1 mod ((p - 1)*(q - 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.)''
Alice hat einen öffentlichen Schlüssel wie folgt gewählt:
Die Primzahlen seien $p$=17 und $q$=11.
Damit ist $N$=187, für $e$ wird 7 gewählt. Dieser Schlüssel wird ''veröffentlicht''.
<br>
Es soll die Nachricht ''XMAS'' gesendet werden. Dazu müssen die Buchstaben in ASCII-Code umgewandelt werden.<br>
<br>Betrachten wir zunächst das ''X'', so wird diese in ASCII durch $1011000$ dargestellt. Dies entspricht der Dezimalzahl 88, damit sei die (Teil-)Nachricht $M=88$.
<br>
''<font size="1">Ascii-Listen finden sich z.B. unter [http://www.torsten-horn.de/techdocs/ascii.htm] oder [http://www.asciitable.com/] </font>''
<br>
<br>
Für die Verschlüsselung ergibt sich nun $C = 88^7(mod 187)$
Dies ist 11 (nachprüfen!), damit schickt Bob die geheime Nachricht $C=11$ an Alice.
<br><br>
Nur wer die passenden Primzahlen kennt, mit denen der öffentliche Schlüssel erzeugt wurde, kann die Botschaft entschlüsseln. Das ist allein Alice. <br>Ihr privater Schlüssel folgt aus<br>
$d*e = 1 mod ((p - 1)*(q - 1))$<br>
$d*7 = 1 mod (16*10)$<br>
$d*7 = 1 mod (160))$<br>
$d = 23$, weil $23*7 = 161$(!?)
<br><br>
Nun braucht nur noch die Nachricht entschlüsselt werden:
$M = C^d(mod N)$<br>
$M = 11^{23}(mod 187)$<br>
$M = 88 =$ ''X''.