Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m183:learningunits:lu05:aufgaben:06 [2025/08/13 09:59] – angelegt vdemir | modul:m183:learningunits:lu05:aufgaben:06 [2025/08/13 11:04] (aktuell) – vdemir | ||
|---|---|---|---|
| Zeile 2: | Zeile 2: | ||
| ==== Lernziele ==== | ==== Lernziele ==== | ||
| - | * ??? | + | * Ich kann den Cäsar-Algorithmus mittels einer Programmiersprache umsetzten. |
| ==== Rahmenbedingungen ==== | ==== Rahmenbedingungen ==== | ||
| - | * **Zeitbudget: | + | * **Zeitbudget: |
| * **Sozialform: | * **Sozialform: | ||
| - | * **Hilfsmittel: | + | * **Hilfsmittel: |
| - | * **Erwartetes Ergebnis: | + | * Lernvideo [[https:// |
| + | * Programmierumgebung | ||
| + | * Codeeditor Ihrer Wahl | ||
| + | * Programmiersprachen: | ||
| + | * <color # | ||
| + | * **Erwartetes Ergebnis: | ||
| ==== Ausgangslage ==== | ==== Ausgangslage ==== | ||
| - | Das RSA-Verschlüsselungsverfahren | + | Die Cäsar-Verschlüsselung |
| ==== Arbeitsauftrag ==== | ==== Arbeitsauftrag ==== | ||
| - | * **Schlüsselgenerierung: | + | Schreiben |
| - | - Wählen | + | |
| - | - Berechnen Sie das Produkt '' | + | |
| - | - Ermitteln Sie die totient Funktion '' | + | |
| - | - Wählen Sie eine ganze Zahl '' | + | |
| - | - Berechnen Sie den privaten Exponenten '' | + | |
| - | + | ||
| - | * **Öffentlicher Schlüssel (Public Key):** Der öffentliche Schlüssel besteht aus dem Paar '' | + | |
| - | * **Privater Schlüssel (Private Key):** Der private Schlüssel besteht aus dem Paar '' | + | |
| - | + | ||
| - | * **Verschlüsselung: | + | |
| - | - Verschlüsseln Sie die Nachricht | + | |
| - | + | ||
| - | * **Entschlüsselung: | + | |
| - | - Entschlüsseln Sie den Chiffretext '' | + | |
| - | + | ||
| - | * **Verifikation: | + | |
| - | - Überprüfen Sie, dass der entschlüsselte Text mit der ursprünglichen Nachricht '' | + | |
| - | ==== Verwenden eines Simulators ==== | + | |
| - | Verwenden Sie CrypTools um die Schritte zu veranschaulichen: | + | |
| - | ==== Theorie: Berechnung von Kongruenzen ==== | + | |
| - | Um die Kongruenz '' | + | |
| - | + | ||
| - | * **Modulo-Operation durchführen: | + | |
| - | - Berechnen Sie den Rest der Division von '' | + | |
| - | - Berechnen Sie den Rest der Division von '' | + | |
| - | + | ||
| - | * **Vergleich der Reste:** | + | |
| - | - Wenn die Reste gleich sind, d.h., '' | + | |
| - | + | ||
| - | **Beispiel: | + | |
| - | - Um '' | + | |
| - | + | ||
| - | + | ||
| - | ==== Theorie: Sicherheit des RSA-Algorithmus ==== | + | |
| - | Die Sicherheit des RSA-Algorithmus basiert nicht auf der Schwierigkeit der Kongruenzberechnung, | + | |
| - | + | ||
| - | * **Faktorisierungsproblem: | + | |
| - | - Im RSA-Algorithmus wird das Produkt zweier großer Primzahlen '' | + | |
| - | - Der private Schlüssel '' | + | |
| - | - Das Problem der RSA-Sicherheit basiert auf der Schwierigkeit, | + | |
| - | + | ||
| - | * **Kongruenzberechnung im RSA:** | + | |
| - | - Die Kongruenzberechnung kommt ins Spiel, wenn Nachrichten verschlüsselt oder entschlüsselt | + | |
| - | Zusammenfassend beruht die Sicherheit des RSA-Algorithmus auf der Schwierigkeit, große Zahlen | + | **Anforderungen: |
| + | | ||
| + | * vom Benutzer eine Nachricht (Text) einlesen. | ||
| + | * vom Benutzer einen ganzzahligen Schlüssel (Shift) zwischen 1 und 25 einlesen. | ||
| + | * Gross- und Kleinbuchstaben getrennt verarbeiten (A–Z, a–z), alle anderen Zeichen unverändert lassen. | ||
| + | - Implementieren Sie zwei Funktionen: | ||
| + | * verschluesseln(text, | ||
| + | * entschluesseln(text, | ||
| + | - Das Programm soll den verschlüsselten Text ausgeben, dann den entschlüsselten Text, um zu zeigen, dass die ursprüngliche Nachricht wiederhergestellt wird | ||
| + | |||
| + | ** Beispiel: | ||
| + | Eingabe: | ||
| + | Shift: | ||
| + | Verschlüsselt: | ||
| + | Entschlüsselt: | ||
| + | |||
| + | **Hinweis** | ||
| + | * Den Shift bekommen Sie hin, wenn Sie mit den Ordinalzahlen (Codewerte | ||
| + | * Codiert wird einfach, indem der Ordinalzahl ein Shift addiert wird. | ||
| + | * Bei Dekodieren wird einfach | ||
| ===== Solution ===== | ===== Solution ===== | ||
| - | [[modul: | + | [[modul: |