RSA - INFO :
Das RSA-Verfahren wurde erst 1978 von den Mathematikern Rivest, Shamir, Adleman vorgelegt (deshalb heisst es RSA-Verfahren).
Das RSA-Verfahren ist eine Profivariante der Codiersysteme
Es wird in der Praxis eingesetzt (Bankentransfers, wichtige Logins, e - mail, ... )
Vorteil : Sehr sicher
Nachteil: Erfordert viel Rechnerkapazität und ist daher langsam
Höhere Mathematik ist Grundlage dieser Codierung.

Zuerst ein Vergleich zu einfachen Codierverfahren :
Bei einfachen (symmetrischen) Codierverfahren brauchen der Sender und der Empfänger dasselbe Codewort
Der Sender muss also irgendwie geheim das Codewort zum Empfänger schaffen.
Das ist ein Sicherheitsrisiko (jemand könnte das Codewort abfangen)

Jetzt das RSA - Verfahren :
Der Empfänger will, dass ihm jeder geheime Botschaften zusenden kann.
Aber nur er kann sie lesen.
Der Empfänger hat hierzu drei Schlüssel (Schlüssel N, E und D sind grosse Zahlen )
Geheimer Schlüssel D : Nur Empfänger kennt ihn.
Zwei öffentlichen Schlüssel N und E : Jeder kennt sie, jeder kann damit Texte verschlüsseln.

Das geniale an diesem Verfahren ist also, dass der Empfänger zwei Schlüssel frei veröffentlichen kann, jeder kann damit verschlüsseln, aber nur der Empfänger selbst kann mit dem dritten geheimen Schlüssel D die Botschaften entschlüsseln.
Somit braucht er niemals seinen geheimen Schlüssel D bekannt zu geben
Kein Sicherheitsrisiko bei der Schlüsselübergabe.

Mathematische Funktionsweise :

Alles basiert auf Primzahlen
Wer die grösste Primzahl kennt, ist im Vorteil

Beschreibung Beispiel
Suche zwei grosse Primzahlen p und q p = 43 q = 71
(p und q sind in der Praxis sehr gosse Primzahlen mit über 200 Stellen)
Die grosse öffentliche Schlüsselzahl N wird gebildet: N = p · q

(Dieses N ist der Modul des Zahlenkörpers in dem später gerechnet wird)
N = 43 · 71 = 3053
Berechnung der (geheimen) Hilfszahl
M = (p-1) ·(q-1)
M = 42 · 70 = 2940
Berechnung von E
Es muss gelten  ggt(E,M) = 1
( E und M müssen teilerfremd sein)
z. B.:   E = 11(oder E = 13, oder 17 etc. ... )
Berechnung von D
Es muss gelten  E · D = 1 (mod M)
Hierzu muss das inverse Element zu E (mod M) berechnet werden (mittels numerischer Verfahren)
D = 1871 ( und D = etc. ...)
Bekantgabe von N und E
Geheim bleibt D  
 
Öffentlich :
N = 3053 und E = 11

Geheim :
D = 1871
 
   

Die Buchstaben des Klartextes werden in zweistellige Zahlen umgewandelt
a = 01, b = 02, etc. Zum Verschlüsseln werden diese Zahlen dann in einem Zahlenkörper Z/mod N potenziert.
Zuerst beim Codieren mit dem Teiler E des zusammengesetzten Moduls M.

Dann beim Decodieren duch erneute Potenzierung mit dem geheimen Schlüssel D.
Nur durch diese zweite Potenzierung löst sich die Codierung auf.
( Man kann das als "Vorwärtsdecodierung" bezeichnen, da die Codierung nicht rückgängiggemacht wird)

Der grundlegende Zusammenhang ist der Satz von Fermat-Euler:
Im Primzahlkörper Z/p gilt :
a(p-1) = 1 (mod p)
Somit gilt im Zahlenkörper Z/M :
E · D = 1 (mod M)

Man erkennt hieran, dass durch Potenzieren mit E · D die Restklasse a (mod N) wieder auf a abgebildet wird. Denn man rechnet im Prinzip a1 = a (mod N)

Copyright ©   www.sternenwind.ch