Mittwoch, 5. Dezember 2007

Ein Beispiel für RSA

Was ist RSA

RSA ist ein asymetrisches Verschlüsselungsverfahren. Das heißt, dass man für das Verschlüsseln und für's Entschlüsseln jeweils einen eigenen Schlüssel braucht - den Privaten und den Öffentlichen.

Ein kleine Beispiel

Wenn wir nun diesen Text verschlüsseln wollen:

TEST

Dann müssen wir ihn zuerst in Zahlen umwandeln...

Als Beispiel vl. so:

a = 01
b = 02
c = 03
..

Wir fassen den Text in 2er-Paketen zusammen. Also:

TE ST
2005 1920


Schlüsselerzeugung

Für eine RSA Entschlüsselung und Verschlüsselung brauchen wir einige Vars (=Variablen ^^):

p //Privater
q //Privater
d //Privater
N //Öffentlicher
e //Öffentlicher

N muss größer sein als 2626 (weil der größte Wert den wir verschlüsseln können - ZZ - in Zahlen 2626 ist)

N = p*q
p = 47 //Eine Primzahl - weil es nur ein Beispiel ist klein aber sonst sollte sie ein paar 1000 Stellen haben ^^
q = 59 //gleiche wie bei p. p und q dürfen/sollen aber nicht gleich sein
N = 47*59
N = 2773

phi(N) = (p-1)*(q-1) //Somit finden wir eine Teilerfremde Zahl
phi(N) = 46*58
phi(N) = 2668

e = 17 //zufällig. Muss aber Teilerfremd zu phi(N) sein. Also ggT(phi(N), e) = 1


d = e mod phi(N)
d = 157

Verschlüsselung

K = Klartext
C = chiffrierter Text/Verschlüsselter Text

C= K^e mod N

C(1) = 2005^17 mod 2773 = 0117
C(2) = 1920^17 mod 2773 = 2109

C = 0017 2109
C=_Q UI

Entschlüsselung

K = C^d mod N
K(1) = 0117^157 mod 2773 = 2005
K(2) =
2109^157 mod 2773 = 1920

K = 2005 1920
K = te st
K = test

und es hat funktioniert.

Das nächste Mal erkläre ich vielleicht, wie man das Dokument auch noch Siginiert

Liebe Grüße

Philipp9494