[Veranschaulichung des Public-Key-Verfahrens]

KRYPTOLOGIE

in der Sekundarstufe I

[Veranschaulichung des Public-Key-Verfahrens]

Spiralcurriculum

Spiralumdrehung 2:     
7. - 8. Jahrgang, 1. Teil

Annahmen
für die zweite 'Spiralumdrehung'

Voraussetzung für ein Spiralcurriculum ist, dass dafür tatsächlich auch Zeit vorhanden ist. Das bedeutet hier natürlich, dass der Unterricht in Informatik nicht mit den beiden Jahrgängen 5 und 6 wie derzeit in NRW beendet ist. Wir gehen daher davon aus, dass in absehrbarer Zeit Informatik als Pflichtfach in der gesamten Sekundarstufe I mit mindestens einer Wochenstunde realisert ist. Das entspricht der Empfehlung der Ständigen wissenschaftlichen Kommission (SWK) der KMK vom 19.9.2022.

Ausgehend von dieser Annahme gehen wir zusätzlich davon aus, dass - wie zuvor beschrieben - in den Jahrgangsstufen 5 und/oder 6 eine grundlegende Einführung in die Idee der Verschlüsselung gegeben worden ist. In dieser einführenden Einheit ist nicht programmiert worden, nur eine umgangssprachliche Version des Caesar-Verfahrens als auch des Umdrehens des gesamten Textes ist erstellt worden.
Mit diesen Verfahren sind spielerisch Nachrichten in der Lerngruppe ausgetauscht worden.

Wiederholung

Da die Beschäftigung mit Verschlüsselungsverfahren für die Schülerinnen und Schüler einige Zeit (Monate oder sogar Jahre!) zurückliegt, müssen(!!!) sich die Schülerinnen und Schüler zunächst wieder mit der Materie vertraut machen.

Nachdem zunächst das Caesarverfahren wiederholt wird, wird das Spiel mit dem Versand von Mitteilungen erneut durchgeführt. Dabei sollte auch die Netzstruktur eines Ringes, durch den die Mitteilungen geschickt werden, wiederholt werden. Die Mitteilungen müssen daher Absender- und Empfängeradressen enthalten.
Die Lernenden können dabei auch gut festsstellen, dass die Nichtzustellung erkannt werden kann: Kommt eine Mitteilung wieder beim Absender an, wurde die Mitteilung im Ring nicht zugestellt.

Das Spiel ist deshalb nicht unwichtig, weil in der nächsten Phase das Verschlüsseln und Entschlüsseln vom Computer übernommen werden und nur noch der Versand auf dem 'klassischen' Weg erfolgen soll. Damit wird erkennbar, dass das Ver- und Entschlüsseln durch die Automatisierung deutlich schneller und weniger fehleranfälliger wird. Zwangsläufig erfahren die Schülerinnen und Schüler, dass der Einsatz des Computers als Werkzeug (fast immer) zweckgerichtet zur Automatisierung von bestimmten Vorgängen verwendet wird.

Algorithmisierung

Am Ende in der ersten Phase der Spirale war bereits eine umgangssprachliche Darstellung der Verfahren formuliert worden. Eventuell war schon in einer zweiten Fassung eine Formulierung gewählt worden, die das Verschlüsseln auf der 'Buchstabenebene' beschrieben hat.
Nach der Wiederholung dieser Beschreibung wird nun die Formulierung in Pseudocode entwickelt. Diese Formulierung soll so nahe an der Zielsprache sein, dass die Übertragung relativ einfach gelingen kann.

Implementierung

Je nach Wahl des Systems zur Implementierung variiert das folgende Vorgehen.

Implementierung
in Coffeescript/Pencilcode

In vielen Lehrplänen ist die Programmierung in der Sekundarstufe I in einer blockorientierten Sprache vorgeschrieben oder empfohlen.
Für unser Vorgehen eignet sich Pencilcode mit der Programmiersprache Coffeescript hervorragend. Die Schüler und Schülerinnen können entsprechend dem Pseudocode die Blöcke auswählen, die zur Implementierung notwendig sind. Einzelne syntaktische Schwierigkeiten (z.B. wie ein konkreter Buchstabe des zu verschlüsselnden Textes angesprochen wird) müssen natürlich vom Lehrer bzw. von der Lehrerin erläutert werden.

Es wird nur die Funktionsprozedur der Ver- und Entschlüsselung erstellt und eingegeben. In der Eingabezeile kann dann die Funktion mit einem Satz aufgerufen werden und sofort der ver- oder entschlüsselte Satz gelesen werden.

Anschliessend wird das bisher durchgeführte Spiel erneut praktiziert, die Ver- und Entschlüsselung wird allerdings nun mit Hilfe des Computers durchgeführt.

Hinweis:
Pencilcode verwendet Coffeescript. Man kann tatsächlich auch eine Kommandozeile für Coffeescript nutzen. Wahrscheinlich ist aber im Unterricht in den Einheiten bei der Einführung des Programmierens wegen der Möglichkeit des Verwendens von Blöcken mit Pencilcode gearbeitet worden. In einem solchen Fall macht die Verwendung der kommandozeilenbasierten Version wenig Sinn.

Aufgabe:
Erstelle Funktionen für die Ver- und Entschlüsselung in Coffeescript.

Implementierung in Python/Ruby

In Ruby und Python kann entsprechend mit der jeweiligen Kommando­zeilen­inter­pre­ter­um­ge­bung gearbeitet werden.
Es werden auch hier nur die Funktionsprozeduren der Ver- und Entschlüsselung eingegeben bzw. geladen. In der Eingabezeile kann dann die Funktion mit einem Satz aufgerufen werden und sofort der ver- oder entschlüsselte Satz gelesen werden.

Das bisher durchgeführte Spiel wird auch hier erneut praktiziert, die Ver- und Entschlüsselung wird mit Hilfe des Computers durchgeführt.

Aufgabe:
Erstelle Funktionen für die Ver- und Entschlüsselung in Python und Ruby.

Implementierung des Umdrehens

Das Caesar-Verfahren ist das einfachste Zeichen-Ersetzungsverfahren. Ver- und Entschlüsseln kann man aber auch mit einem Transpositionsverfahren. Bei derartigen Verfahren wird die Position der Zeichen verändert. (Natürlich können zusätzlich auch noch die Zeichen ersetzt werden.)
Das einfachste Transpositionsverfahren ist das Umdrehen des Textes. Wir können daher die vorigen Übungen auch mit diesem Verfahren durchführen.

Aufgabe:
Erstelle eine Pseudocode-Funktion des Umdrehens für die Ver- und Entschlüsselung .

Aufgabe:
Erstelle eine Funktion des Umdrehens für die Ver- und Entschlüsselung in Coffeescript, Python und Ruby.

Erkenntnisse und Kompetenzen

Die Ver- und Entschlüsselung kann mit Hilfe eines Computers und einem (kleinen) Programm durchgeführt werden. Die automatische Verarbeitung erfolgt damit wesentlich schneller und fehlerfreier.

Da das Programm alleine bzw. mit der Gruppe/Klasse erarbeitet worden ist, wird die Sinnhaftigkeit einer algorithmischen Bearbeitung und Ausführung handlungsorientiert seitens der Schülerinnen und Schüler direkt erfahren. Sie können also selbst eine Automatisierung vornehmen.

Zusammenfassendes Ergebnis

  • Das Ver- und Entschlüsseln lässt sich mit dem Computer automatisieren.
  • Dazu müssen die Verfahren maschinenverarbeitbar programmiert werden.
  • Beim Ver- und Entschlüsseln ist der Computer deutlich schneller als der Mensch.
Bisher ist der Versand und Empfang der Nachrichten nicht automatisiert worden. Das wollen wir in einer weiteren Einheit nachholen.