Prüfungsvorbereitung
PrüfungsstoffDie 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)