Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| de:modul:m114:learningunits:lu06:rsa [2026/01/28 21:12] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | de:modul:m114:learningunits:lu06:rsa [2026/01/28 21:12] (aktuell) – ↷ Seite von modul:m114:learningunits:lu06:rsa nach de:modul:m114:learningunits:lu06:rsa verschoben msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== LU06g - RSA-Verfahren im Detail ====== | ||
| + | //Siehe auch [[http:// | ||
| + | ===== Entstehung ===== | ||
| + | Whitfield Diffie und Martin Hellman hatten in den 1970er Jahren eine Theorie zur Public-Key-Krytographie veröffentlicht. | ||
| + | Die drei Mathematiker Rivest, Shamir und Adleman versuchten diese Theorie zu widerlegen. | ||
| + | Dabei stiessen sie auf ein Verfahren, bei dem sie keine Angriffspunkte fanden. | ||
| + | |||
| + | Aus diesem Verfahren entstand 1977 RSA, das erste veröffentlichte Verschlüsselungsverfahren. | ||
| + | |||
| + | ===== Funktionsweise ===== | ||
| + | |||
| + | RSA basiert auf einem privaten Schlüssel (private key) und einem öffentlichen Schlüssel (public key). | ||
| + | Beide Schlüssel bestehen aus jeweils zwei Zahlen, die mit den Variablen '' | ||
| + | * Der public key besteht aus '' | ||
| + | * Der private key besteht aus '' | ||
| + | * **N** ist bei beiden Schlüsseln gleich und wird '' | ||
| + | |||
| + | Um die Schlüssel zu berechnen, geht man wie folgt vor: | ||
| + | - Wähle zwei unabhängige, | ||
| + | * Zum Beispiel: '' | ||
| + | - Berechne das RSA-Modul: '' | ||
| + | * N = 11 * 13 = 143 | ||
| + | - Berechne die Eulersche ϕ-Funktion von '' | ||
| + | * ϕ(N) = 10 * 12 = 120 | ||
| + | - Wähle eine Zahl '' | ||
| + | * e = 23 | ||
| + | - Berechne die Zahl '' | ||
| + | * 23 * 47 + (-9) * 120 = 1 | ||
| + | |||
| + | Somit erhalten wir den private key (47, 143) und den public key (23, 143). | ||
| + | |||
| + | ==== Verschlüsseln ==== | ||
| + | Der Absender möchte die Klartext-Nachricht '' | ||
| + | Er berechnet '' | ||
| + | |||
| + | === Beispiel === | ||
| + | Der Absender möchte die Zahl 7 verschlüsselt senden. | ||
| + | * Der public key ist (e=23, N=143) | ||
| + | |||
| + | * '' | ||
| + | |||
| + | ==== Entschlüsseln ==== | ||
| + | Der Empfänger erhält den Chiffre-Text '' | ||
| + | Er berechnet '' | ||
| + | |||
| + | === Beispiel === | ||
| + | Der Empfänger erhält den Chiffre-Text '' | ||
| + | * Der private key ist (d=47, N=143) | ||
| + | |||
| + | * '' | ||