Nachrichten (z.B. e-mails) sollen so ausgetauscht werden, dass sie von dritten nicht verstanden werden.
Die Nachricht wird dabei durch eine Rechenvorschrift so verändert, dass sie nicht verstanden werden kann.
Der Empfänger wendet, dann die Umkehrung der Vorschrift an.
Wie kann die Verschlüsselungsvorschrift ausgetauscht werden?
Wie kann sichergestellt werden, dass die Vorschrift nicht abgehört wird?
Antwort: Die Vorschrift nicht austauschen!
Wie soll das funktionieren?
Asymetrische Verschlüselungsverfahren lösen das folgendermaßen:
Es wird ein Verfahren zur Verschüsselung gewählt und öffentlich zugänglich gemacht.
Das Verfahren zur Entschlüsselung bleibt geheim.
Somit kann jeder mir eine verschlüsselte Nachricht senden und nur ich kann sie entschlüsseln.
Wie kann ein solches Verfahren konstruiert werden?
Zeichenketten werden in Zahlenfolgen umgewandelt.
Die Zahlen der verschlüsselten Nachricht werden nach:
y = xe mod n gebildet.
Dabei sind e und n zwei natürliche Zahlen.
Es wird also in der Menge Zn gerechnet.
Entschlüsselt wird die Nachricht durch
x = yd mod n
Dabei muss d so sein, dass e . d = 1 mod m wobei m = (p-1).(q-1), p und q die beiden Primfaktoren von n.
n ist also so zu wählen, dass es das Produkt zweier Primzahlen ist.
Die beiden Zahlen e und n bestimmen das Verschlüsselungsverfahren, und werden öffentlicher Schlüssel (public Key) genannt.
Die beiden Zahlen n und d sind der geheime Schlüssel zur Entschlüsselung (private key).
Die Zahlen m, p, q werden nur zur Konstruktion gebraucht.
Wieso kann der geheime Schlüssel nicht aus dem öffentlichen berechnet werden?
Um die Berechnung des geheimen Schlüssel nicht möglich zu machen werden die beiden Primzahlen p und q so groß gewählt, dass eine Zerlegung von n in diese Primfaktoren nicht in akzeptabler Rechenzeit möglich ist.
Mehr zur Faktorisierung von Zahlen unter:
www.crypto-world.com/FactorWorld.html
Man kann derzeit Zahlen mit 200 Stellen faktorisieren. - Rechenzeit von mehreren Jahren
|