====== 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:]'' oder ''L1[4:]'' - ''append'', ''insert'' und ''+'' - 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?) {{ :kryptologie.pdf | Skript Kryptologie}} {{ :crypto:moderne_kryptographie.pdf | Zusätzliche Seiten des Skripts}} [[https://www.youtube.com/watch?v=mlzxpkdXP58|Visualisierung Blockchiffre]] Beispiel eines [[https://www.uni-ulm.de/in/mwt/institut/mitarbeiter/maximilian-steiner/|öffentlichen Schlüssels]] (Maximilian Steiner, Universität Ulm) ==== PGP Schlüssel erstellen ==== Erstelle ein Schlüsselpaar unter [[https://pgpkeygen.com/|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-----