Geheime Nachrichten mit Funktionen und Zahlen sichern. Ein Kapitel von Samuel Weber
Mathematik als Schlüssel zur Geheimhaltung
Verschlüsselung ist eine Technik zur Geheimhaltung von Informationen. Sie wird seit Jahrhunderten genutzt. Im Zeitalter des Internets ist Verschlüsselung allgegenwärtig.
Aber wie funktioniert Verschlüsselung? Was sind die Grundlagen der Kryptographie, der Wissenschaft der Verschlüsselung? Und gibt es Grenzen der Verschlüsselung?
1 | Aufgabe 1a: Was sind Verschlüsselungen? - Die Welt der Wortmaschinen
Eine ähnliche Aufgabe kennst du bereits aus dem Kapitel Wortmaschinen.
Untersuche die verschiedenen Maschinen. Was passiert mit deiner Nachricht wenn sie durch die verschiedenen Karten läuft?
Zum Nachdenken: Ziel ist auch, neben dem Verschlüsseln, dass die verschlüsselte Nachricht wieder zweifelsfrei entschlüsselt werden kann. Ist das hier bei allen Karten zweifelsfrei möglich? Warum (nicht)?
2 | Aufgabe 1b: Die Cäsar-Verschlüsselung
Verschlüsselungen verändern Nachrichten. Eine der berühmtesten Verschlüsselungen wurde bereits vor über 2000 Jahren benutzt - die Cäsar-Verschlüsselung. Dabei wird jeder Buchstabe im Alphabet um eine feste Anzahl von Stellen verschoben.
Baue die Cäsar-Maschine mit der Karte Alphabetischer Sprung nach. Was passiert mit dem Wort MATHE, wenn jeder Buchstabe um 2 Stellen verschoben wird?
Kann man diese Verschlüsselung zweifelsfrei wieder entschlüsseln? In Math-Nodes gibt es dafür die Karte Alphabet-Countdown. Warum ist das bei der Kryptographie so wichtig? Und wie viele der Karten musst du miteinander verketten, um dein ursprüngliches Wort wieder zu erhalten?
Gut zu wissen: Die Cäsar-Verschlüsselung ist eine sogenannte monoalphabetische Substitution. Das bedeutet, es wird nur ein Schlüsselalphabet zur Verschlüsselung verwendet, welches hier um 2 Stellen zum Original verschoben ist.
3 | Aufgabe 2a: Die Cäsar-Verschlüsselung mit variabler Verschiebung
Bisher war die Verschiebung in der Maschine fest eingestellt. Jetzt nutzen wir dafür einen Regler, den Parameter a. Damit die Maschine aber mit den Buchstaben rechnen kann, müssen diese zuerst in Zahlen umgewandelt werden. Verbinde dazu die Karte Text zu Zahl mit einer Operation (Addition) und schließe dort auch den Parameter an.
Der Röntgenblick: Die Karte Zahlen Ausgabe kannst du auch am Ausgang der Operation anschließen. Sie erlaubt es dir, direkt in die Maschine hineinzuschauen.
Was passiert mit dem Wort MATHE, wenn du den Wert am Regler veränderst? Beobachte sowohl die Zahlen- als auch die Text-Ausgabe.
4 | Aufgabe 2b: Die Modulo-Uhr - Das Rechnen mit Rest
Die Addition allein, wie in Aufgabe 2a reicht nicht aus: Wenn das Ergebnis größer als 28 wird, fällt der Buchstabe aus unserem Alphabet. Hier hilft die Modulo-Operation.
Untersuche das Modulo-Prinzip genau. Die Karte Operation hat zwei Eingänge: A und B. Um die Uhr-Arithmetik zu verstehen, musst du herausfinden, wie die beiden zusammenspielen.
Experimentiere mit den beiden Parametern.
1. Lass den Regler B auf 29 stehen und verändere A. Was passiert bei der Zahl 29?
2. Stelle nun A auf eine feste Zahl und verändere B. Was beobachtest du?
5 | Aufgabe 2c: Die vollständige Cäsar-Maschine - Das Alphabet erkunden
Jetzt ist dein handwerkliches Geschick gefragt: Setze alle Bausteine zu einer vollständigen Verschlüsselungs-Maschine zusammen.
Verbinde die Karten so, dass dein Text zuerst in Zahlen umgewandelt, dann mit dem Parameter a addiert, durch die Modulo-Operation abgesichert und am Ende wieder in Text zurückverwandelt wird.
Geheimnis-Suche: In Math-Nodes gibt es 29 Zeichen. Findest du heraus, welche Zeichen sich hinter den Zahlen 26, 27 und 28 verbergen? Nutze den Regler a, um es herauszufinden. Achte darauf, dass der Modulo-Wert (Eingang B) fest auf der richtigen Uhr-Größe steht.
Die polyalphabetische Substitution
Bisher war der Schlüssel für das ganze Wort gleich. Aber was passiert, wenn sich der Schlüssel bei jedem Buchstaben ändert?
Das ist bei einer „polyalphabetischen Substitution“ so. Dabei liegen gleich mehrere Alphabete zugrunde und jeder Buchstabe wird so unterschiedlich verschoben.
Im Bild Vigenère-Verschlüsselung im Arbeitsheft kannst du sehen, was passiert, wenn ein Buchstabe mithilfe eines anderen verschlüsselt wird.
6 | Aufgabe 3: Dynamische Schlüssel - Die Vigenère-Verschlüsselung
Die Cäsar-Verschlüsselung hat eine große Schwachstelle: Da jeder Buchstabe immer gleich verschoben wird, können Angreifer sie leicht knacken. Die Lösung: Ein wechselndes Schlüsselwort!
Hier siehst du ein System, bei dem zwei Nachrichten aufeinandertreffen: dein Text und ein Schlüssel. Verkable die Maschinen so, dass die Zahlwerte beider Wörter addiert werden.
Der Trick mit der Länge: Was passiert, wenn dein Schlüssel kürzer ist als dein Text? Nutze die Karte Text Wiederholen, um den Schlüssel so oft aneinanderzureihen, bis er für jedes Zeichen deiner Nachricht reicht.
Zum Testen: Was entsteht aus dem Wort MATHE, wenn es mit dem Schlüssel ABCDE verschlüsselt wird?
Referenz im Heft: Damit du die Verschlüsselung besser nachvollziehen oder dein Ergebnis manuell prüfen kannst, findest du im Arbeitsheft das Vigenère-Quadrat als Übersicht. Aber aufgepasst, dieses besteht nur aus den 26 Buchstaben.
7 | Aufgabe 4: Den Weg zurückfinden - Die Vigenère-Entschlüsselung
Verschlüsseln ist das Eine, aber wie bekommt der rechtmäßige Empfänger die ursprüngliche Nachricht zurück? Dazu musst du den Prozess der Verschlüsselung logisch umkehren.
Hier liegen alle Bausteine bereit, sind aber noch unverkabelt und auf ihre Grundeinstellungen zurückgesetzt. Baue die Entschlüsselungs-Maschine nach dem Vorbild aus Aufgabe 3 auf.
Logik-Check: Welche mathematische Operation musst du in der Operation-Karte wählen, um eine Addition wieder rückgängig zu machen?
Zum Testen: Kannst du deine Nachricht aus der vorherigen Aufgabe wieder entschlüsseln? Nutze deinen Geheimtext und den passenden Schlüssel. Erhältst du MATHE zurück?
Moderne Verschlüsselungsverfahren
Bisher hast du Nachrichten durch das Verschieben von Buchstaben versteckt. Aber moderne Computer nutzen eine andere Methode: Sie verwandeln jeden Text zuerst in Zahlen und schicken diese dann durch mathematische Einwegfunktionen.
Das RSA-Verfahren ist das Herzstück der heutigen Internet-Sicherheit. Es funktioniert wie ein Schloss, das jeder zuschließen kann, aber nur der Besitzer des richtigen Schlüssels wieder öffnen kann. Dieses Schloss wollen wir nun selbst bauen.
Im Prinzip könnte man hier auch wie bei den vorherigen Aufgaben beginnen und ein Wort eingeben. Der Einfachheit halber steigen wir aber direkt bei den Zahl ein. Du könntest dir aber vorstellen, dass in deiner Nachricht z.B. ein D steht, welches zu einer 4 umgewandelt wird und dann am Ende aus der Zahl wieder ein Buchstabe wird.
8 | Aufgabe 5: Moderne Verschlüsselung - Die RSA-Einbahnstraße
Das RSA-Verfahren nutzt einen öffentlichen Schlüssel zum Verschlüsseln, den jeder kennen darf.
Schritt 1: Das Fundament. Wähle zwei kleine Primzahlen p und q (z.B. 3 und 11) und gib sie in die Parameter-Karten ein. Verbinde sie so mit den Karten für die Freie Rechenvorschrift, dass die Maschine den Modul \(n = p \cdot q\) und die Phi-Funktion \(\phi = (p-1) \cdot (q-1)\) berechnet.
Schritt 2: Der Schlüssel. Wähle für e eine Zahl, die teilerfremd zu \(\phi\) ist (\(ggT(e,\phi) = 1\)). Nur dann ist dein Schloss sicher!
Schritt 3: Die Nachricht. Gib deine Nachricht x als Zahl ein (sie muss kleiner als n sein). Verkable die Potenzierung (x hoch e) und danach die Modulo-Operation (mod n).
Deine Aufgabe: Notiere deine gewählten Werte und den resultierenden Geheimwert c, den die Maschine ausgibt.
Tipp: Nutze die Zahlen-Ausgaben als Fenster, um die Zwischenschritte von n und \(\phi\) zu kontrollieren!
9 | Aufgabe 6: Die Falltür nutzen - RSA entschlüsseln
Du hast eine Nachricht in die Zahl c verwandelt. Aber wie bekommt der Empfänger daraus wieder den ursprünglichen Text? Einfach rückwärts rechnen geht hier nicht, da die Modulo-Maschine nur Reste anzeigt. Du brauchst die Falltür: den privaten Schlüssel d.
Schritt 1: Den Code finden. Nutze den im Arbeitsheft beschriebenen Online-Rechner, um das multiplikative Inverse zu e zu finden. Gib dort dein e und dein \(\phi\) aus Aufgabe 5 ein.
Schritt 2: Die Gegenmaschine. Verkable die Entschlüsselungs-Maschine nach der Formel \(m = c^d \pmod n\). Speise deinen Geheimwert c als Nachricht ein und nutze als Parameter dein neu berechnetes d sowie den Modul n.
Erfolgskontrolle: Welche Zahl gibt die Maschine aus? Erhältst du deine ursprüngliche Nachricht x zurück?