RSA Beispiel

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Verschlüsselung

Bei der Verschlüsselung einer Nachricht werden folgende gebraucht, die wir wie folgt wählen:

  • Nachricht N: B -> 2
  • privater Schlüssel pS: 5
  • erster Teil des öffentlichen Schlüssels oS1: 14

Die Verschlüsselung erfolgt durch die folgende Formel:

NpS mod oS1=vN

Was mit den gewählten Zahlen wie folgt aussieht:

25 mod 14=4

Wodurch man die verschlüsselte Nachricht vN=4 bekommt, die zum Buchstaben D übersetzt wird.

Entschlüsselung

Für die Entschlüsselung benötigt man zwei Zahlen, die zusammen einen öffentlichen Schlüssel bilden:

  • erster Teil des öffentlichen Schlüssels oS1: 14
  • zweiter Teil des öffentlichen Schlüssels oS2: 11

Damit kann man die Nachricht folgendermaßen entschlüsseln:

vNoS2 mod oS1=N

Was mit der verschlüsselten Nachricht wie folgt aussieht:

D11 mod 14=411 mod 14=2=B

Schlüsselgeneration

Für die Generierung der Schlüssel wählt man 2 nicht-identische Primzahlen p, q (in der Praxis hunderte von Stellen lang und “liegen nicht nahe beinander”). Dann kann man alle Teile wie folgt berechnen:

oS1=p×q

Wähle eine zu (p−1)×(q−1) teilerfremde Zahl pS, d.h. eine Zahl die beim Teilen einen Rest erzeugt. Diese Zahl wird private Schlüssel.

Wähle eine zufällige positive Zahl x und addiere ein Vielfaches von oS1 zu pS:

oS2=pS+x×oS1