[Veranschaulichung des Public-Key-Verfahrens]

KRYPTOLOGIE

Einstiegsaufgabe in Skriptsprachen

[Veranschaulichung des Public-Key-Verfahrens]

Einstiegsaufgabe in den Skriptsprachen Python und Ruby

  • Python ist derzeit eine schon recht häufig genutzte Sprache in der Sek I, aber auch in der Sek II. Führe daher die vier Aufgabenteile in der Einstiegsaufgabe in der Sprache Python aus:
    1. Erstelle eine Funktion in einer beliebigen Programmiersprache, die einen Satz mit dem Caesar-Verfahren mit einem Versatz als Codewort verschlüsselt.
    2. Erstelle zu dieser Funktion ein kleines Programm, in dem ein Satz eingelesen werden kann, dieser dann verschlüsselt wird und anschliessend wieder ausgegeben wird.
    3. Ergänze das Programm um eine Ent­schlüs­se­lungs­funktion.
    4. Wahrscheinlich ist das erstellte Programm ein imperativ-prozedurales Programm.
      Überführe dieses Programm in ein objektorientiertes Programm.
      Füge dieser Klasse Operationen zum Ein- und Auslesen eines Satzes (in der Konsole) hinzu. Ergänze ein kleines Programm, dass einen Satz einliest, diesen verschlüsselt, dann ausgibt, entschlüsselt und dann wieder ausgibt.
  • Eine Alternative zu Python stellt Ruby dar. Übertrage die Programme entsprechend nach Ruby.

Einstiegsaufgabe in der Skriptsprache Coffeescript

  1. Eine weitere Sprachenvariante ist Coffeescript.
    Diese kann in der webbasierten Programmierumgebung Pencilcode angewendet werden. Dort ist es möglich, das Programm blockbasiert oder textuell darzustellen. Ebenso ist ein Wechsel zwischen diesen beiden Darstellungsarten jederzeit möglich.
    Erstelle eine Version der Funktion verschluesseln, die sich in Pencilcode ausführen lässt.
  2. In der Programmierumgebung Pencilcode ist es möglich, auch Eingaben in Coffeescript zu verwenden. (Das ist im 'reinen' Coffeescript nicht möglich, da Coffeescript ursprünglich als Javascript-Ersatz definiert wurde.)
    Erstelle ein Programm mit Eingabe eines Satzes mit anschliessender Verschlüsselung und Ausgabe des Satzes in Coffeescript für Pencilcode.
  3. Ergänze dieses Programm um eine Funktion des Entschlüsseln.
  4. Schreibe dieses Programm in eine objektorientierte Variante um.