[Veranschaulichung des Public-Key-Verfahrens]

KRYPTOLOGIE

in der Sekundarstufe I

[Veranschaulichung des Public-Key-Verfahrens]

Spiralcurriculum

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

Annahmen
für die zweite 'Spiralumdrehung', 2. Teil

Die Schülerinnen und Schüler haben sich in einer Einheit zuvor oder zumindest kürzlich erst mit der Algorithmisierung und Implementierung des Caesar-Verfahrens gemäss des 1. Teils beschäftigt. Dabei haben sie Nachrichten erstellt, mit dem Computer verschlüsselt, diese dann auf Zettel geschrieben und an ihre 'Mitspieler' weitergereicht, die dann den verschlüsselten Satz wieder in den Computer eingegeben haben und diesen schlussendlich entschlüsselt haben.

Dabei haben die Lernenden gemerkt und wahrscheinlich sogar angemerkt, dass das dauernde Abschreiben und dann wieder Eingeben der verschlüsselten Texte in den Computer ziemlich nervig ist. Es stellt sich die Frage, ob auch die Übermittlung der Texte mit dem Computer erfolgen kann. Das soll in dieser Einheit erfolgen. Es entsteht damit ein Netz ähnlich dem SMS-System im Mobilfunknetz.

Progamm SMS

Die behandelten Ver- und Entschlüsselungsroutinen sind in ein Anwendungsprogramm   SMS    eingebaut. In diesem Programm kann menügesteuert ein Satz, genannt SMS, eingelesen, ver- und auch entschlüsselt sowie auf einem (gemeinsamen) Verzeichnis gespeichert bzw. von diesem geladen werden.
Zum Start des Programms geben sich die Teilnehmer einen Namen. Die gespeicherten Dateien können dann vom (korrekten) Empfänger geladen werden. Dieses entspricht vom Ansatz her einem Messengersystem mit einem Pool von Dateien, die prinzipiell auch von jedem Benutzer gelesen werden können.

Die Oberfläche dieses Programm hat folgendes Aussehen:

       --------------------------------------------------

       Programm SMS 1 *** Teilnehmer: erwin
       Die SMS ist derzeit:   Dies ist mein Satz!
       ==================================================
       ==================================================

       Bitte gib Deinen Namen an:   erwin

       ==================================================
       E: Einlesen         **        A: Ausgeben
       S: Senden           **        H: Holen
       V: Verschlüsseln    **        D: Entschlüsseln
       Z: Zeigen alle SMS  **        C: Codewort eingeben
       Q: QUIT

       Bitte wählen:   

       --------------------------------------------------
--------------------------------------------------

Programm SMS 1 *** Teilnehmer: erwin
Die SMS ist derzeit:   Dies ist mein Satz!
==================================================
==================================================

Bitte gib Deinen Namen an:   erwin

==================================================
E: Einlesen         **        A: Ausgeben
S: Senden           **        H: Holen
V: Verschlüsseln    **        D: Entschlüsseln
Z: Zeigen alle SMS  **        C: Codewort eingeben
Q: QUIT

Bitte wählen:   

--------------------------------------------------

Dieses Programm wird nicht von den Lernenden erstellt, sondern mit ihnen 'nur' besprochen. Sie sehen aber, dass die zentralen Funktionen der Ver- und Entschlüsselung der Texte die Funktionen sind, die mit ihnen erarbeitet worden sind. Durch das Besprechen des Programmes erfahren sie auch den prinzipiellen Aufbau eines doch schon für sie recht umfangreicheren Anwendungsprogrammes.

Einsatz des SMS-Programmes

Je nach schulischen Voraussetzungen wird das Programm folgendermassen eingesetzt:

  • Coffeescript:
    Coffeescript ist eigentlich ein Javascript-Ersatz. Daher hat es keine interaktive Eingabemöglichkeiten, sondern bekommt seine Eingaben eingebettet in eine HTML-Seite. (Ausgaben sind mit console.log allerdings möglich.) Daher ist dieses Programm SMS1 für die IDE Pencilcode geschrieben. Dort werden alle Eingaben als HTML-Elemente durchgeführt.
    In Pencilcode ist es möglich, mit einem Account zu arbeiten. Dann können dort auch Dateien abgelegt werden, das in diesem Programm SMS1 möglich sein muss. Es gehen daher alle Lernenden mit einem gemeinsamen Account in das System. Damit kann das Programmm auch durchgeführt werden, wenn im Schulsystem keine Möglichkeit für ein gemeinsames Arbeiten in einem Verzeichnis möglich ist.
    Das Anzeigen aller SMS-e ist (noch) nicht realisiert. In einem weiteren Browser-Tab kann eine Dateiansicht ermöglicht werden, indem dort auch das Programm geladen wird und dann in der URL in die Verzeichnisebene höher gewechselt wird. (Aktualisieren der Ansicht nicht vergessen!) Die SMS-Dateien haben immer den Dateinamen: <empfaenger_absender>.sms
  • Python/Ruby:
    Es muss in einem gemeinsamen Verzeichnis gearbeitet werden. Dazu gibt es folgende Möglichkeiten:
    • Es wird in einem gemeinsamen Verzeichnis auf einem Fileserver gearbeitet. Man starte eine Shell-Sitzung (Kommandozeile), wechsle in das gewünschte Verzeichnis und starte:  python sms1.py   bzw.   ruby sms1.rb
    • Man starte eine Shellsitzung und starte anschliessend dort eine ssh-Sitzung mit einem gemeinsamen Account. In der SSH-Sitzung wechselt man ebenfalls in das Verzeichnis mit dem SMS1-Programm und starte dort wie oben:  python sms1.py   bzw.   ruby sms1.rb
      Als Alternative hat jeder Teilnehmer einen eigenen Account. Dann muss aber jeder Teilnehmer auf das gemeinsame Verzeichnis mit dem SMS1-Programm in der SSH-Sitzung wechseln dürfen.
    • Man nutzt eine Online-Umgebung für Python bzw. Ruby. Dort nutzt die Gruppe einen gemeinsamen Account und kann dort wie oben bei Coffee-Script beschrieben arbeiten (noch nicht getestet!).
    • Hinweis für Python und Ruby:
      Im Verzeichnis des Programmes sms1 muss in Linux das Shell-Programm verzeichnis.sh und in Windows das Batch-Programm verzeichnis.bat enthalten und ausführbar sein. Sonst kann der Inhalt des Verzeichnisses mit den Messages im Programm nicht angezeigt werden.

Aufgabe:
Praktiziert die beschriebenen Alternativen aus und spielt in der Gruppe das Austauschen von Nachrichten.

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. Die Zustellung kann in einem Netz praktisch ohne zusätzlichen Aufwand erfolgen.

Die Messages von beliebigen Personen sind leicht beispielsweise durch einen 'Identitätsklau' erreichbar, wenn der Zugang nicht eingeschränkt wird.

Das Caesar-Verfahren ist mit Hilfe eines Computers leicht 'knackbar' und damit heute nicht mehr ausreichend sicher.

Zusammenfassendes Ergebnis

  • Das Caesar-Verfahren sollte nicht mehr verwendet werden.
  • Wir benötigen besssere Verschlüsselungsverfahren.
  • Der Zugang zu netzbasierten Systemen soll/muss geschützt werden.
  • Die Schlüsselweitergabe ist in einem solchen System ein Problem.