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 auf welche Probleme stößt man bei der Anwendung der verschiedenen Verschlüsselungsverfahren?

1 Was sind Verschlüsselungen? - Die Welt der Wortmaschinen

Eine ähnliche Aufgabe kennst du bereits aus dem Kapitel Wortmaschinen.

Untersuche die verschiedenen Maschinen, indem du einige Wörter eingibst. Wähle drei Maschinen aus, beschreibe kurz ihre Wirkung im Arbeitsheft und notiere dein eingegebenes Wort und das Ergebnis.

Zum Nachdenken: Um verschlüsselt kommunizieren zu können, muss eine verschlüsselte Nachricht auch wieder entschlüsselt werden können. Untersuche deine Ergebnisse: Ist eine eindeutige Entschlüsselung bei allen Karten möglich? Begründe deine Entscheidung im Heft und notiere mindestens ein Gegenbeispiel.

2 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. Gib an, was mit dem Wort MATHE passiert, wenn jeder Buchstabe um 2 Stellen verschoben wird und notiere das resultierende Wort im Arbeitsheft. Entscheide und begründe schriftlich, ob sich dieses Verfahren immer eindeutig wieder entschlüsseln lässt.

Bestimme, wie viele Karten vom Typ Alphabet-Countdown du hintereinander verketten musst, um das ursprüngliche Wort wiederzuerhalten, und notiere diese Anzahl.

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 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. Auf deinem Bildschirm ist das Wort MATHE bereits eingestellt. Die Maschine Text zu Zahlen übersetzt deine Buchstaben automatisch in eine Zahlenreihe. Nun wollen wir die Verschiebung flexibel steuern.

Verbinde den Ausgang der Karte Text zu Zahlen mit dem Eingang A der Karte Operation (Addition) und schließe die Parameter-Karte an den Eingang B an.

Der Röntgenblick: Verbinde den Ausgang der Operation mit der Karte Zahlen Ausgabe. Bewege den Regler des Parameters systematisch und beobachte die Zahlen-Ausgabe. Notiere die Zahlen-Ausgabe für \(a=3\). Verbinde die Operation über die Karte Zahlen zu Text auch mit der Text-Ausgabe.

Untersuche beide Ausgaben. Bei welchen Werten für a verwandeln sich deine Buchstaben des Wortes MATHE in Sonderzeichen? Notiere deine Entdeckungen im Heft.

4 Die Modulo-Uhr - Das Rechnen mit Rest

Die Addition allein, wie in Aufgabe 3 reicht nicht aus: Wenn wir Zahlen im Bereich von 0 bis 28 verschieben, wachsen sie schnell über unseren Zeichenraum hinaus. Dabei hilft die Modulo-Operation (mod). Sie holt diese Zahlen wieder zurück in den Kreis der 29 Zeichen.

Untersuche das Modulo-Prinzip zuerst analog. Zeichne dazu eine Uhr unter die Erklärung zur Modulo-Rechnung im Heft und trage dort die Zahlen von 0 bis 28 ringsherum ein. Berechne dann mithilfe der Uhr, auf welchen Zahlen der Zeiger bei den Werten 50 und 110 landet. Zeichne den Weg des Zeigers für den Wert 50 in die Modulo-Uhr ein. Notiere die dazugehörige mathematische Rechnung als Division mit Rest (Beispiel: \(35 : 29 = 1\) Rest 6, also \(35 \pmod {29} = 6\)). Prüfe dann beide Ergebnisse mithilfe der Maschine.

5 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. Teste die fertige Maschine mit dem Wort MATHE bei \(a=23\) und notiere, welche Zahlen sich vor und nach der Modulo-Operation unterscheiden.

Für Code-Spezialisten: Du hast in Aufgabe 3 bereits herausgefunden, dass es hier nicht nur Buchstaben gibt, sondern auch Sonderzeichen, wenn du für a bestimmte Werte einstellst. Finde heraus, welche konkreten Zahlen sich hinter dem Alphabet und welche hinter den Sonderzeichen verstecken.

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.

Damit du die Verschlüsselung besser nachvollziehen kannst, findest du im Arbeitsheft unter der Aufgabe Vigenère-Verschlüsselung das Vigenère-Quadrat als Übersicht. Aber aufgepasst, dieses besteht nur aus den 26 Buchstaben.

6 Dynamische Schlüssel - Die Vigenère-Verschlüsselung

Die Cäsar-Verschlüsselung hat eine große Schwachstelle: Da jeder Buchstabe immer um denselben Wert verschoben wird, kann die Verschiebung leicht erraten werden. Die Lösung: Ein wechselndes Schlüsselwort!

Hier siehst du ein System, bei dem zwei Nachrichten aufeinandertreffen: dein Text und ein Schlüssel. Die Teilübersetzungen sind bereits verkabelt. Du musst nur noch den Schlüssel ins System integrieren. Verbinde dazu die zweite Text Eingabe (dein Schlüsselwort) mit der Karte Text Wiederholen und diese wiederum mit Text zu Zahlen. Führe nun die Zahlenreihen deines Klartextes und des wiederholten Schlüssels in der Operation (Addition) zusammen.

Warum Text Wiederholen? Wenn dein Schlüssel kürzer ist als dein Text, werden nicht alle Buchstaben der Nachricht verschlüsselt. Deshalb musst du den Schlüssel so oft aneinanderreihen, bis er für jedes Zeichen deiner Nachricht reicht.

Teste das System: Was entsteht aus dem Wort MATHEMATIK, wenn es mit dem Schlüssel ABCDE verschlüsselt wird? Notiere den Geheimtext und die zugehörige Zahlenreihe.

7 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. Auf deinem Bildschirm ist bereits ein geheimer Text eingetragen. Baue die Entschlüsselungs-Maschine nach dem Vorbild aus Aufgabe 6 auf.

Entscheide: Welche mathematische Operation musst du in der Operation-Karte wählen, um den Schlüssel wieder vom Geheimtext abzuziehen? Trage das Symbol dazu in das Heft ein.

Wenn deine Verkabelung stimmt, dann wird der geheime Text blitzschnell entschlüsselt. Gib an, wie oft der Schlüssel wiederholt werden muss, damit das ganze Wort entschlüsselt werden kann. Notiere die Anzahl und das gefundene Lösungswort im Heft.

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. Aber was ist das überhaupt?

Einwegfunktionen sind mathematische Operationen, die in eine Richtung super leicht zu berechnen sind, in die Gegenrichtung jedoch ohne geheimes Zusatzwissen (eine sogenannte Falltür) selbst für Supercomputer unlösbar schwer sind. Finde diesen Unterschied händisch heraus.

Berechne im Heft das Produkt der beiden Primzahlen 11 und 13. Schreibe dazu, wie viele Sekunden du dafür benötigt hast.

Finde durch systematisches Probieren heraus, welche beiden Primzahlen multipliziert die Zahl 253 ergeben. Schreibe auf, wie viel länger du für diese Gegenrichtung gebraucht hast.

Erkläre nun mit eigenen Worten im Heft, warum dieses Prinzip (Multiplikation vs. Primfaktorzerlegung) als Einwegfunktion bezeichnet wird.

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 Moderne Verschlüsselung - Die RSA-Einbahnstraße

Das RSA-Verfahren nutzt einen öffentlichen Schlüssel \((e,n)\) 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 stelle sie auf den Parameter-Karten ein. Verbinde die Karte Primzahl p mit dem Eingang a und Primzahl q mit b der Karten Freie Rechenvorschrift. Berechne damit den Modul \(n = p \cdot q\) und die Phi-Funktion \(\phi = (p-1) \cdot (q-1)\). Da die Rechenkarte nur ihre eigenen Anschlüsse a bis d versteht, müssen die Formeln auch die lokale Sprache der Karte sprechen. Deshalb steht darauf \(a \cdot b\) statt \(p \cdot q\).

Schritt 2: Der Schlüssel. Wähle als Schlüssel \(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). Verbinde jetzt deine Nachricht \(x\) mit dem Eingang a und den Schlüsselwert \(e\) mit Eingang b der Potenzierung (\(x^e\), in lokaler Sprache \(a^b\)). Führe das Ergebnis der Potenzierung und deinen berechneten Modul \(n\) in der Modulo-Operation (\(mod n\)) zusammen, um die Verschlüsselung abzusichern.

Notiere deine gewählten Parameter, die Zwischenschritte von \(n\) und \(\phi(n)\) sowie deinen resultierenden Geheimwert \(c\) im Arbeitsheft.

9 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. Berechne deinen privaten Schlüssel \(d\), indem du das euklidische Inverse deines Verschlüsselungswertes \(e\) modulo \(\phi\) über den im Heft verlinkten Online-Rechner bestimmst. Notiere deinen Wert \(d\) im Heft.

Schritt 2: Die Gegenmaschine. Verkable die Entschlüsselungs-Maschine auf dem Bildschirm nach der Formel \(m = c^d \pmod n\). Nutze dafür die Freie Rechenvorschrift für die Potenzierung und die Operation für das anschließende Modulo. Speise deinen Geheimwert \(c\) als Nachricht ein und nutze als Parameter dein neu berechnetes \(d\). Das Ergebnis der Potenz (Anschluss A) speist du mit dem Modul \(n\) (Anschluss B) dann in die Modulo-Operation ein.

Erfolgskontrolle: Wenn am Ende bei der Zahlen Ausgabe wieder deine ursprüngliche Nachricht erscheint, hast du RSA erfolgreich geknackt. Notiere dein Ergebnis.