Lernziele Kryptologie und Python Skript (ohne 5.1, 5.2, 5.4, 5.5)
Lernziele Python
Die folgenden Konzepte in Python musst du verstehen:
- Variablen verwenden
- Lokale und globale Variablen verstehen (Sichtbarkeit).
- Wie kann man globale Variablen in einer Funktion verändern?
- Unterschied zwischen = und == verstehen.
- Verzweigungen mit
if… elif.. else - Schleifen verstehen
- While-Schleife verstehen
- For-Schleife verstehen
- Funktionen verstehen (
def …)- Wozu verwendet man eigentlich Funktionen? (Redundanz/Wiederverwendbarkeit, Strukturierung)
- Mit/ohne Argumente
- mit/ohne Rückgabewert
- Listen verstehen
- Listen erstellen
- Auf Elemente zugreifen
- range-Befehl verstehen
- Liste durchgehen mit
for… in - Unterlisten bilden (z.B.
L1[3:]oderL1[4:] append,insertund+
- Ereignissteuerung bei Turtle verstehen
Beispiel 1:
import turtle def draw_it(w,l,t): for i in range(t): turtle.forward(l) turtle.right(w) draw_it(90,100,4) draw_it(130,200,50)
Beispiel 2:
import turtle for i in range(0,300,30): for j in range(0,300,30): turtle.setx(i) turtle.sety(j) turtle.dot(10,"blue")
Beispiel 2:
a = 4 b = 1 def change(c): global a global b a = a + c print(a) b = b + 1 return b a = change(3) a = change(8) print(a)
Lernziele Kryptologie
- Unterschied zwischen Kryptographie,Steganographie und Kryptoanalyse kennen.
- Beispiele für die Steganographie angeben können
- Transposition: Skytale und Gartenzaunmethode verstehen.
- Substitution
- Monoalphabetische Substitution (Cesar-Verschlüsselung, allgemeine monoalphabetische Substitution)
- Knacken der Monalphabetischen Verschlüsselung (Häufigkeitsanalyse)
- Was ist eine Nomenklatur?
- Polyalphabetische Substitution: Vigenère-Verfahren verstehen.
- Wie kann man das Vigenere-Verfahren knacken?
- Schlüssellänge bestimmen Parallelstellensuche und Friedman)
- Wie geht man vor, wenn man die Schlüssellänge gefunden hat
- Was ist das Schlüsselaustauschproblem? (Erklären können)
- Was versteht man unter symmetrischen bzw. asymmetrischen Verschlüsselung?
- Wie kann ich mich mit einem asymmetrischen Verfahren authentifizieren (Digitale Signatur)?
- Was ist ein Hybrides Verschlüsselungssystem und warum verwendet man im Internet fast immer ein solches Verschlüsselungssystem?
- (Wie funktioniert der Schlüsseltausch nach Diffie-Hellman?)
Zusätzliche Seiten des Skripts
Beispiel eines öffentlichen Schlüssels (Maximilian Steiner, Universität Ulm)
PGP Schlüssel erstellen
Erstelle ein Schlüsselpaar unter https://pgpkeygen.com/
Stelle den öffentlichen Schlüssel auf Teams ein in den Ordner Keys unter deinem Namen.
Verschlüssle eine Nachricht an den Nächsten in der Liste mit diesem Tool: https://smartninja-pgp.appspot.com/ und lege sie in Teams unter ihrem/seinem Namen.
Wenn du die Meldung bekommen hast, versuche sie wieder mit dem Link von oben zu entschlüsseln https://smartninja-pgp.appspot.com/
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: Keybase OpenPGP v2.0.9 Comment: https://keybase.io/crypto xo0EX9HhmQEEAL5kXlMNnSfA6dYfSS1j5uYyKQ7jH29Zh3JqEf7MYl4J2rTioiNo 0LyqJbRVoXlwxyqNHLcywLfsSA9zzNMWyyxyvHllO6GMembejojacfThfD2YfcnN 2ETeHkYpD8A8nthiAfFT+pvBezxcMlAUkdOLuUeaMCFScborIvLa7txRABEBAAHN H1JlbmUgTGVobWFubiA8bGVobWFubkBlZHVmci5jaD7CsAQTAQoAGgUCX9HhmQIb LwMLCQcDFQoIAh4BAheAAhkBAAoJEHSpcqMVG3Zc39YD/28kpChSBex05NCapDpv FAHuXD42MtR7Fzl2G5jRT0qDXkIiKcamQVpK4iZH7ptzMcBWHBG/+KGjAPC9eEQM xlLEV5f1QF75/EDcvsAy+q7av/3mSE1McYEstNoVeU3bnHsfNQ+WXcFHHZ76UKOa Rtz9pmuQ8iueJN0c7dSu9uw2zo0EX9HhmQEEAJ+k7JGiWw+eKnE+GaiFEOEe1FD+ 73Ua4Epe2Q8NkwW5v2sqsLgRD1BvpY1dHVeBr74TpxneMSaSanpbreZrPe/N0Sxx prR6qW27QmT4fLAOTTtJxoJ0CrbzSOLkUQcDEh1ZxpYJrn4Ti6yQE/lv4a/16Dyr 7PQeFwfGuzj3mCv7ABEBAAHCwIMEGAEKAA8FAl/R4ZkFCQ8JnAACGy4AqAkQdKly oxUbdlydIAQZAQoABgUCX9HhmQAKCRAze3wRUuyZ/MKLA/sHnrFcN69pYE7Mktbp kM6e1a+cDIBLSgaNlyiz5fF1+fU0OLugbCRoMdjb7LRWfC+y/6fdyl3yqfvZkS5+ xmkpH+zbYG8UnnY6fz6K7VHS+XDR6yGjOdq5BplEHEEqWmy9C1LCeIwYZiCSl4mE gHfz4MTkDcJUN10xpq9OGZFo4MkfA/92vT2TlZw2UJWjNVuKrlZndRcVdsJgW/oG qhLODMCt0Ot+tpWGSv9LFyKM4FZBFoBwY/WLgm0Yrr3m3GPbT6J0DuLOd14LiHRJ 9RjQ2+NYSzyjZq9dYhplkPcNta31yTIvCfg4MJbXas1E3hJ0WL30rtpSxt5xVOr/ k3LDtJQ0hc6NBF/R4ZkBBADDp1KAdLITs9ytpeTe/tptihCqQrbm0jBc20FXRm3e t+csuOxldvDCyY6K8IelT1eMWfEBb1lrwT1FplzQjYRCHH28GtFx9+D2HQUKide/ vU74ulWhGHweCuNQiN/s71/OQVAWaU7yx0TYcLO0ecRkpY+cl8vNowdN0muPBHPu NwARAQABwsCDBBgBCgAPBQJf0eGZBQkPCZwAAhsuAKgJEHSpcqMVG3ZcnSAEGQEK AAYFAl/R4ZkACgkQcpCRQ75q/KBWvQP/Z2t49CqzkdXAG1gUgsA3FeX8e0+IG4M1 XdsB+UqtDJVSnDZuNlVpbae6Crr74MYdOoI6Q/EobU6i0Afqz8mlh0iDenUpQF4i UBgbwui0Gx5UToXuqWYk4SLPHHjPKoqLDxWg6kqWx7NT0VzUexGcfUGMbSuDkRLB ThMOfyQZmISVIQQAjlTkXHzcdmD0eHQ5DQ4vjFpLr9nE8Q/rE+hRBkLB4O339U2m GEJWpic+1eoIepod87GC2XkXH6L9eEGqtM1IBqxQCAJqVMcr7QyI9ZBH0PWfc0rE Eh6RBfr7rRdMk/wbjFhl5oxu6CxgzcWQlVqyev+A+m6Elf5rIZD8ytJPYKA= =6vaO -----END PGP PUBLIC KEY BLOCK-----
Meine Signatur:
-----BEGIN PGP MESSAGE----- Version: Keybase OpenPGP v2.0.9 Comment: https://keybase.io/crypto wYwDM3t8EVLsmfwBA/9m5LT0FR37l/HJd/Fu8cAiWBif371/MhfzNdwmBohrtUgL ZYeUX6lndFjniRPa+Bi3/h43lkSwONiv7xDoNOmaYLGMoA6+zBBfifJxYhzN0KGH MhMbztp97Vm45+75uTuyZ5T580z/TTpr66DTruLljbsgYIUivsQq/7ouwBhfvdJt ASfuNlvISIL0BcKiWAa+aihO1BVmXTNQF2pOmS60Q4y6RKmQ14egIoF8CKFAV5WH C55aV032c66TdebZ55wiRAkWCL/nxkw+dKVpQR1Ze9ap4cH1RGgn9HauRjZLiQPn OLOIHtTdSVjSZCNU5w== =cym+ -----END PGP MESSAGE-----