|
Bei diesen Verfahren wird im Gegensatz zum symmetrischen Verfahren mit einem Schlüsselpaar gearbeitet. Der eine bleibt völlig geheim (private key) der andere wird allgemein bekannt gemacht (public key) und steht jedermann zur Verfügung. Will ein Absender dem Empfänger eine vertrauliche Nachricht senden, so verschlüsselt er diese mit dem public key des Empfängers. Anschließend ist nur dieser in der Lage mit Hilfe seines private key diese Nachricht wieder zu dechiffrieren.[1] |
|||
|
|
Beachte die elektronische Signatur wird dagegen mit dem privaten Schlüssel des Absenders chiffriert und diese kann nur mit dem öffentlichen Schlüssel des Absenders authentifiziert werden. |
||
|
Das RSA-Verfahren Diese Methode soll im Folgenden anhand des RSA-Verfahrens[2], das im Internet eine
allgemeine Bedeutung erlangt hat, dargestellt werden. Die Sicherheit
dieses Verfahrens beruht letztlich darauf, dass die Mathematik - trotz
jahrhundertelanger Bemühungen - keine Formel gefunden hat, mit der
Primzahlen einfach und schnell berechnet werden können. Nach wie vor
stehen hier nur Probiermethoden zur Verfügung. Angesichts der riesigen
Anzahl der durchzuprobierenden Zahlenwerte führen diese Probiermethoden
bei entsprechend langen Schlüsselwerten nicht in vernünftiger Zeit zum
gewünschten Ergebnis. |
|
Zutaten: |
p, q
als zwei große Primzahlen |
Der Wert der
jeweils zu chiffrierenden Zeichen
z (z.B. Buchstaben) der
Nachricht kann nun wie folgt chiffriert und dechiffriert werden:
Zum besseren Verständnis ein einfaches Beispiel mit praxisfremden "kleinen" Primzahlen: |
|
| 1. | Man wählt zwei Primzahlen p und q |
Wir nehmen 11 und 17 |
| 2. | p
und q werden miteinander multipliziert, um n zu erhalten |
n = 11 x 17 = 187 |
| 3. |
Berechne die eulersche Phi-Funktion phi(n) = (p – 1)(q – 1) |
phi(n) = (11 – 1)(17 – 1) = 160 |
| 4. |
Berechne phi(n) + 1 |
phi(n) + 1 = 160 + 1 = 161 |
| 5. | Der Wert e wird ausgewählt, wobei d ein Teiler aus phi(z)+1 sein muss. Der zweite Teiler aus phi(n)+1 ist d. Es muss gelten: d*e=phi(z)+1 . Unzulässige Werte von d und e (z.B. d=e) werden als unsicher abgelehnt. |
da 161 = 7 x 23 (Faktorisierung) sind 7 und 23 geeignete Kandidaten für e und d
Wir wählen e = 7 für den public key |
| 6. | Der Wert e wird zusammen mit n als öffentlicher Schlüssel definiert, der Wert d als privater Schlüssel. Der öffentliche Schlüssel, mit dem verschlüsselt wird, kann nun allgemein bekannt gemacht werden. Der private Schlüssel, muss geheim gehalten werden |
der
ganze public key besteht also aus zwei Zahlen, nämlich |
|
|
| Chiffrieren: z‘ = zd mod n | Dechiffrieren: z = z’e mod n | z sei der Dezimalwert des jeweiligen Zeichens; so hat z.B. dem Buchstabe „H“ im ISO-Zeichensatz der Wert 72 zugeordnet |
|
|
|
|
|
|
||
|
H (72) 727 mod 187 = 30 A (65) 657 mod 187 = 142 L (76) 767 mod 187 = 32 L (76) 767 mod 187 = 32 O (79) 797 mod 187 = 139 |
3023 mod 187 = 72 ( H ) 14223 mod 187 = 65 ( A ) 3223 mod 187 = 76 ( L ) 3223 mod 187 = 76 ( L ) 13923 mod 187 = 79 ( O ) |
|
|
Sind p und q genügend groß, benötigt nach dem gegenwärtigen Stand der Technik mehr als 1012 Jahre, in denen diese Nachricht wahrscheinlich wertlos geworden ist. Genau auf dieses Verfahren greift auch die digitale Signatur zurück, mit der zukünftig die Authentizität eines Dokumentes gerichtsverwertbar bewiesen werden kann.
[1]
Quelle:
http://www.oszhdl.be.schule.de/ |
|
Letzte Änderung:
09. Januar 2006 |
|