ein freies Lehrmittel auf der Basis von eduskript

Prüfungsvorbereitung

Prüfungsstoff

Die Prüfung umfasst die ersten zwei Seiten dieses Skripts:

  • Klassische Kryptografie
  • Caesar in Python

Sie werden nicht aktiv programmieren müssen, aber Fragen zu Programmen beantworten. Diese Fragearten hier zeigt die ungefähre Aufgabenarten, die Sie erwarten sollten. Die Antworten sind hier immer Singlechoice, das wird in der Prüfung nicht unbedingt so sein (damit man nicht einfach raten kann).

Theorie

Kerckhoffs'sches Prinzip

Was besagt das Prinzip von Kerckhoffs, das auch heute noch als Grundlage für sichere Verschlüsselungssysteme gilt?

Fachbegriffe zuordnen

Sie verschlüsseln die streng geheime Nachricht TREFFEN UM ACHT und daraus wird %23Fi@f3#iqöA. Wie nennt man in der Kryptologie den Text TREFFEN UM ACHT?

Klassische Verschlüsselungsverfahren

Caesar-Verschlüsselung in der Praxis

Sie möchten das Wort VELO mit der Caesar-Methode verschlüsseln. Der Schlüssel (die Verschiebung) lautet 3. Wie lautet der daraus resultierende Geheimtext?

Die Skytale von Sparta

Zu welcher Art von Verschlüsselungsverfahren gehört das Konzept der antiken Skytale, bei der ein Lederstreifen um einen Holzstab gewickelt wird?

Vigenère manuell anwenden

Wenden Sie die Vigenère-Verschlüsselung an und verschlüsseln Sie die Nachricht ACHTUHRBAHNHOF mit dem Schlüssel GEHEIM. Nutzen Sie hierzu diese Tabula recta:

Was erhalten Sie?

Caesar vs. Vigenère

Was ist der entscheidende Unterschied, der die Vigenère-Verschlüsselung deutlich schwerer zu knacken macht als die Caesar-Verschlüsselung?

Python-Konzepte: Zeichen, ASCII und Modulo

Auch wenn Sie nichts programmieren müssen, sollten Sie Code-Ausschnitte lesen und nachvollziehen können, die Texte verarbeiten oder verschlüsseln.

Strings und for-Schleifen

Was gibt das folgende kleine Python-Programm auf dem Bildschirm aus?

text = "HUT"
ausgabe = ""

for zeichen in text:
    ausgabe = ausgabe + zeichen + "."

print(ausgabe)

Die Funktionen ord() und chr() in Aktion

In unseren Skripten haben wir ASCII-Werte genutzt, um mit Buchstaben zu rechnen. Was wird durch diesen Code-Ausschnitt auf dem Bildschirm (print) ausgegeben?

wort = "AB"
geheim = ""

for buchstabe in wort:
    neuer_wert = ord(buchstabe) + 2
    geheim = geheim + chr(neuer_wert)

print(geheim)

Modulo – Restwertdivision

Der Modulo-Operator % ist das Herzstück der klassischen Verschlüsselungsprogrammierung. Er verhindert, dass wir beim Verschieben über das Alphabet (0 bis 25) hinauslaufen. Welches Ergebnis liefert dieses kurze Script?

# 'X' ist der 23. Buchstabe (wenn A=0)
position_x = 23  
verschiebung = 5

neue_position = (position_x + verschiebung) % 26
print(neue_position)

Verschachtelte Anweisungen verstehen

Was ist das Ergebnis des folgenden Python-Ausdrucks, bei dem chr() und ord() ineinander verschachtelt (kombiniert) werden?

ergebnis = chr(ord("A") + 4)
print(ergebnis)