Krypto - Martins Homepage

Direkt zum Seiteninhalt

Hauptmenü:

Krypto

Programmierkurs > Unterrichtsprojekte

Funktion
Ver- und Entschlüsselung von Texten nach Polybius. Alphabet der Eingabe: Nur die Buchstaben von A bis Z, wobei J=I. Aus dem Schlüssel wird eine Tabelle erstellt erweitert um die restlichen Buchstaben des Alphabets. Siehe Bild oben. Der Geheimtext ergibt sich aus den Koordinaten Zeile/Spalte für die Buchstaben des Klartexts. (Siehe z.B. Rudolf Kippenhahn: “Verschlüsselte Botschaften”, Rowohlt 1999)

Design
Alle Texte d.h. Alphabet, Schlüssel, Schlüsseltabelle, Klartext, Geheimtext werden als String gespeichert und dort manipuliert. Die Tabelle (weißer Teil!) ist als ein Feld von Labels realisiert.

Einführung der Begriffe

  • Klartext, Geheimtext, Schlüssel, Algorithmus

  • Alphabet: Hier nur A-Z, keine Leerzeichen, keine Groß-kleinschreibung, keine Zahlen, Umlaute oder Sonderzeichen. Diese Beschränkung wird hier nur der Einfachheit halber gemacht!

  • Verschlüsseln, Entschlüsseln.


Aufbau im Unterricht

  • Programmiere UIF: Textboxen für Klartext, Schlüssel, Geheimtext, sowie Buttons für Verschlüsseln und Entschlüsseln.

  • Verfahren: Monalphabetischer Code. Jedem Zeichen des Klartext wird genau ein Zeichen im Geheimtext zugeordnet und umgekehrt!

  • Caesar als einfachster monalphabetischer Code, Schlüssel dient als Start.

  • Für alle Texte globale Strings definieren: Alphabet, Code

  • In Form Load Alphabet vorbelegen A-Z, 0-9, Leerzeichen. Code = Alphabet

  • Verschlüsseln und Entschlüsseln mit Codestring.

  • Achtung: Leicht zu entschlüsseln, da es nur 25 Möglichkeiten zur Verschlüsselung gibt!

    
Beispiel

Besser wäre es, zwar jedem Buchstaben im Klartext einen anderen zuzuweisen, aber ohne die Regelmäßigkeit des Caesars. So ergeben sich

26! = 403291461126605635584000000

mögliche Verschlüsselungen, die aber nach wie vor monalphabetisch sind, z.B.

ABCDEFGHIJKLMNOPQRSTUVWXYZ

QAYXSWEDCVFRTGBNHZUJMKILOP


Diese Codes sind nur schwer im Kopf zu behalten, man sucht also ein Verfahren, welches ihre Übermittlung bzw. Memorieren leichter macht. Hier kommen die Schlüsselwörter ins Spiel: Man schreibt das Schlüsselwort in eine Zeile, lässt aber die Wiederholungen von Zeichen aus. So wird etwa aus HALLENBAD  ->  HALENBD. Den Rest der Zeile füllt man mit dem einfachen Alphabet aus, wiederum ohne Buchstabenwiederholung. Man erhält so als Code:

HALENBDCFGIKMOPQRSTUVWXYZ


Diese Methode wird als nächstes programmiert

Man erkennt leicht die Anfälligkeit des Verfahrens: Die unterstrichenen Buchstaben liegen an ihrem Originalplatz! Buchstaben im Klartext hinter N werden also nicht verschlüsselt!

Das Schlüsselwort sollte also auch Buchstaben aus dem hinteren Teil des Alphabets haben, z.B. „Zuckerdose“:

ZUCKERDOSABFGHILMNPQTVWXY


Jetzt liegt kein Buchstabe mehr an seinem Originalplatz.

Achtung: Auch diese Codes sind verhältnismäßig leicht zu knacken, man hilft sich mit den Häufigkeitsverteilungen der Buchstaben in der deutschen (englischen, ...) Sprache: Z.B. wir der im Geheimtext am häufigsten auftretende Buchstabe dem ‚e’ entsprechen etc.

Es bleibt noch, die Tafel den Polybius einzubauen, die Logik der Ver- und Entschlüsselung haben wir ja schon.

Hier ist das Programm

Beachte
Die vorgestellten Methoden haben heute keine praktische Bedeutung mehr!  Man verwendet heute häufig diese Methode.

 
Zurück zum Seiteninhalt | Zurück zum Hauptmenü