Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| gf2:schluesseltausch [2023/04/21 07:47] – marroc | gf2:schluesseltausch [2025/05/19 13:59] (aktuell) – marroc | ||
|---|---|---|---|
| Zeile 25: | Zeile 25: | ||
| Wie können Alice und Bob einen gemeinsamen Schlüssel generieren (z.B. eine Zahl), sodass es einer Angreiferin (Eve) unmöglich ist, den Schlüssel zu finden, auch wenn sie jede Kommunikation mithört? | Wie können Alice und Bob einen gemeinsamen Schlüssel generieren (z.B. eine Zahl), sodass es einer Angreiferin (Eve) unmöglich ist, den Schlüssel zu finden, auch wenn sie jede Kommunikation mithört? | ||
| </ | </ | ||
| - | Lange dachte man, dass für dieses Problem keine Lösung existiert: Wenn Eve alles mithört, was Alice und Bob vereinbaren, | + | Lange dachte man, dass für dieses Problem keine Lösung existiert: |
| ==== Ein Gedankenexperiment zur Lösung des Schlüsseltauschproblems ==== | ==== Ein Gedankenexperiment zur Lösung des Schlüsseltauschproblems ==== | ||
| Zeile 101: | Zeile 101: | ||
| ** Aufgaben zu Modulo** \\ \\ | ** Aufgaben zu Modulo** \\ \\ | ||
| - Berechne jeweils die Lösung modulo 7: \\ \\ a)$ \quad 5+8 = \hspace{1cm} b)\quad 8*5 = \hspace{1cm} c)\quad 32*11 = \hspace{1cm} d)\quad 1234533 = \hspace{1cm} e)\quad 2^{13} = \hspace{1cm} f)\quad 5^{-1} = $ \\ \\ | - Berechne jeweils die Lösung modulo 7: \\ \\ a)$ \quad 5+8 = \hspace{1cm} b)\quad 8*5 = \hspace{1cm} c)\quad 32*11 = \hspace{1cm} d)\quad 1234533 = \hspace{1cm} e)\quad 2^{13} = \hspace{1cm} f)\quad 5^{-1} = $ \\ \\ | ||
| - | - Python rechnet mit dem %-Zeichen modulo. \\ Die Rechnung 17 modulo 5 wäre in Python also '' | + | - Python rechnet mit dem %-Zeichen modulo. \\ Die Rechnung 17 modulo 5 wäre in Python also '' |
| - Nun betrachten wir die Funktion $f(x) = 3^x \mod 19$. Berechne wieder alle y-Werte, setzten Sie dazu die x-Werte in die Funktion ein. Was fällt dir auf? Halten Sie die wichtigsten Erkenntnisse in eigenen Worten fest. \\ \\ | - Nun betrachten wir die Funktion $f(x) = 3^x \mod 19$. Berechne wieder alle y-Werte, setzten Sie dazu die x-Werte in die Funktion ein. Was fällt dir auf? Halten Sie die wichtigsten Erkenntnisse in eigenen Worten fest. \\ \\ | ||
| - Man weiss, dass die Funktion $f(x) = 7^x \mod 97$ ist und dass der y-Wert 23 ist. Finden Sie den x-Wert? Welche Strategien zum Finden von x gibt es? Halten Sie die wichtigsten Erkenntnisse in eigenen Worten fest. | - Man weiss, dass die Funktion $f(x) = 7^x \mod 97$ ist und dass der y-Wert 23 ist. Finden Sie den x-Wert? Welche Strategien zum Finden von x gibt es? Halten Sie die wichtigsten Erkenntnisse in eigenen Worten fest. | ||
| </ | </ | ||
| < | < | ||
| - | <panel title " | + | <panel title=" |
| - | Aufgabe 1 auf Papier | + | Aufgabe 1 auf Papier |
| - | Aufgabe 2 | + | Aufgabe 2 \\ |
| + | Hier kann das kurze Pythonprogramm helfen: \\ | ||
| <code python> | <code python> | ||
| def funktion(base, | def funktion(base, | ||
| Zeile 114: | Zeile 116: | ||
| print (base**i%mod) | print (base**i%mod) | ||
| </ | </ | ||
| - | Aufgabe 3 | + | |
| + | Für Basis 11 und mod 19 fällt auf, dass es nur die drei Werte 1, 11 und 7 ergibt. (Es gibt somit nur drei sog. Restklassen) \\ | ||
| + | Aufgabe 3 \\ | ||
| + | Für die Basis 3 und mod 19 fällt auf, dass es alle Werte zwischen 1 und 19 einmal ergibt (somit wäre diese Wahl der Basis besser, da es mehr Restklassen gibt).\\ | ||
| Aufgabe 4 | Aufgabe 4 | ||
| + | Gemeinsam diskutieren ;) | ||
| </ | </ | ||
| </ | </ | ||
| - | Loesungen | + | |
| Link zum Video: https:// | Link zum Video: https:// | ||
| {{ youtube> | {{ youtube> | ||
| Zeile 128: | Zeile 134: | ||
| ==== Der Schlüsseltausch nach Diffie/ | ==== Der Schlüsseltausch nach Diffie/ | ||
| - | {{ : | + | {{ verschluesselung_farben.png? |
| Nun wollen wir uns an einem Beispiel den Schlüsseltausch nach Diffie und Hellman anschauen. Genau wie im Gedankenexperiment mit den Farben gibt es eine öffentliche Information, | Nun wollen wir uns an einem Beispiel den Schlüsseltausch nach Diffie und Hellman anschauen. Genau wie im Gedankenexperiment mit den Farben gibt es eine öffentliche Information, | ||
| - Alice und Bob vereinbaren eine Zahl **<color # | - Alice und Bob vereinbaren eine Zahl **<color # | ||
| Zeile 137: | Zeile 143: | ||
| - Bob erhält die Zahl **<color # | - Bob erhält die Zahl **<color # | ||
| - | {{:planung:kryptologie: | + | {{ :gf2:diffiehellman1.png?800 |}} |
| <WRAP nicebox green> | <WRAP nicebox green> | ||
| Zeile 144: | Zeile 150: | ||
| - Führen Sie mit Hilfe von Python den Schlüsseltausch nach Diffie-Hellman durch mit **<color # | - Führen Sie mit Hilfe von Python den Schlüsseltausch nach Diffie-Hellman durch mit **<color # | ||
| - Führen Sie jeweils in Zweiergruppen den Schlüsseltausch mit einem eigenen Beispiel durch. D.h. wählen Sie ein gemeinsame Zahlen <color # | - Führen Sie jeweils in Zweiergruppen den Schlüsseltausch mit einem eigenen Beispiel durch. D.h. wählen Sie ein gemeinsame Zahlen <color # | ||
| - | - Schlüpfen Sie in die Rolle von Eve: lassen Sie sich von einer Gruppe die Zahlen <color # | + | - Schlüpfen Sie in die Rolle von Eve: lassen Sie sich von einer Gruppe die Zahlen <color # |
| - Kann <color # | - Kann <color # | ||
| - Mit dem folgenden [[https:// | - Mit dem folgenden [[https:// | ||
| + | - Alice und Bob tauschen die Zahlen $g=29$ und $p=127$ aus. Danach sendet Alice $\alpha= 101$ an Bob und Bob $\beta = 83$ an Alice. Du als Eve hast dies alles mitbekommen. Knacke den Schlüssel von Alice und Bob mithilfe von Python. | ||
| </ | </ | ||
| <WRAP nicebox blue> | <WRAP nicebox blue> | ||