RSA ist ein assymmetrisches Kryptografieverfahren. Es kann zur Verschlüsselung und auch für die Signatur von Dokumenten verwendet werden.
Das Verfahren basiert darauf, dass die Primfaktorzerlegung einer großen Zahl sehr aufwändig ist und dementsprechend eine Rückrechnung vom öffentlichen Schlüssel zum privaten Schlüssel einen hohen Rechenaufwand benötigt.
Generiere zufällig zwei Primzahlen p und q
RSA Modul berechnen:
N = p•q
Phi(N) = (p-1)•(q-1)
Phi(N): Eulersche Phi-Funktion zur Berechnung der Anzahl der zu N Teilerfremden Zahlen.
Wähle eine zu Phi(N) teilerfremde Zahl e für die gilt 1 < e < Phi(N)
Durch folgende Gleichung kann man das multiplikativ Inverse berechnen:
e•d ist kongruent zu 1 (mod Phi(N))
Der öffentliche Schlüssel besteht aus N und e,
der private Schlüssel aus d.
C = Me•mod N
M = Cd•mod N
Der Schlüssel von RSA sollte mindestens 1024 Bit lang und somit wesentlich länger als bei symmetrischen verfahren sein, da es möglich ist, den Schlüssel schneller als mit Brute Force zu knacken.