Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:verschluesselung:asymmetrisch [2022-03-10 16:25] – angelegt hofgf_informatik:verschluesselung:asymmetrisch [2025-03-30 08:23] (aktuell) – [Exponentielle Schwierigkeit] hof
Zeile 1: Zeile 1:
 ## Asymmetrische Verschlüsselung ## Asymmetrische Verschlüsselung
 +
 +
 +Symmetrische Verschlüsselung ist wunderbar, wenn Alice & Bob einen gemeinsamen Schlüssel haben. Aber wie sollen die beiden einen Schlüssel vereinbaren, wenn sie nur einen unsicheren Übertragungskanal haben? Wie können sie verhindern, dass Eve ihre Nachricht abhört?
 +
 +Mögliche Lösungen:
 +  * einen sicheren Kanal etablieren, z.B. einen vertrauenswürdigen Kurier 
 +  * andere?
 +
 +### Alice & Bob
 +
 +[[https://xkcd.com/2691/|{{https://imgs.xkcd.com/comics/encryption.png?nolink&200}}]]
 +
 +#### Aufgabe: Wie können Alice & Bob sicher kommunizieren?
 +
 +  * Du darfst beliebig viele Vorhängeschlösser und Truhen verwenden.
 +
 +{{ :gf_informatik:verschluesselung:key-exchange.png?nolink&400 |}}
 +
 +++++Lösung:|
 +  * Bob sendet Alice ein offenes Schloss, zu dem nur er den Schlüssel besitzt. Alice verschliesst damit die Truhe.
 +    * Problem: wie weiss Alice, dass das Schloss wirklich von Bob ist?
 +  * Bob hinterlegt offene Schlösser bei Trent (=vertrauenswürdige Person), Alice erhält bei Trent ein Schloss und verschliesst die Truhe damit.
 +    * Problem: wie erhält man eine vertrauenswürdige Person?
 +++++
 +
 +### Ein mathematisches Schloss
 +
 +Im Internet senden wir nur ungern Schlösser um die Welt. Stattdessen nutzen wir ein mathematisches Verfahren, das ähnliche Eigenschaften hat:
 +  * die Durchführung der Funktion in eine Richtung (= Verschliessen des Schlosses) ist schnell.
 +  * die Umkehrung der Funktion (= Entschlüsseln) ist sehr schwierig, ausser man kennt den geheimen Schlüssel
 +
 +Die meistgenutzte Funktion ist die Primzahl-Faktorisierung: 
 +  * die Multiplikation von zwei Zahlen ist einfach
 +  * die Faktorisierung einer grossen Zahl in ihre Primfaktoren ist sehr schwierig
 +
 +**Probiere es aus:**
 +
 +Wie lange hast du, um `41 * 83` zu berechnen?
 +Wie lange hast du, um die Zahl `2881` in seine Primfaktoren zu zerlegen?
 +
 +Wie lange für
 +
 +''145906768007583323230186939349070635292401872375357164399581
 +871019873438799005358938369571402670149802121818086292467422
 +828157022922076746906543401224889672472407926969987100581290
 +103199317858753663710862357656510507883714297115637342788911
 +463535102712032765166518411726859837988672111837205085526346
 +618740053''?
 +#### Exponentielle Schwierigkeit
 +
 +Entscheidend für die Sicherheit: Das Problem der Primzahl-Faktorisierung ist [[wpde>NP-Vollst%C3%A4ndigkeit|NP-Vollständig]]. Wird die Schlüssellänge verdoppelt, so wird die Faktorisierung nicht nur doppelt so schwierig, auch nicht viermal so schwierig, sondern *exponentiell* schwieriger. Das heisst, dass sich die Schwierigkeit jedesmal verdoppelt, wenn auch die Zahl nur um eine einzige Stelle anwächst. Wenn du dich an das exponentielle Wachstum der Covid-Infektionen erinnerst, weisst du, dass damit sehr schnell riesengrosse Werte erreicht werden.
 +
 +#### Verschlüsseln mit Primzahlen?
 +Die Mathematik hinter der asymmetrischen Verschlüsselung lassen wir zur Seite. Wir merken uns nur, dass es zum Verschlüsseln reicht, die grosse Zahl zu kennen, aber für die Entschlüsselung deren Primfaktoren bekannt sein müssen.
 +
 +### Öffentlicher vs. Geheimer Schlüssel
 +
 +Die asymmetrische Verschlüsselung beruht darauf, dass jeder Teilnehmer ein Schlüsselpaar (_key pair_) erzeugt: den geheimen Schlüssel (_private key_) und den öffentlichen Schlüssel (_public key_). Weil für die Entschlüsselung ein anderer Schlüssel notwendig ist, heisst das Verfahren **asymmetrisch**.
 +
 +{{ :gf_informatik:verschluesselung:pki.png?nolink&1000 |}}
 +
 +Alice verwendet nun Bobs öffentlichen Schlüssel (= ein offenes Vorhängeschloss), um ihre Nachricht zu verschlüsseln. Sie sendet die verschlüsselte Nachricht an Bob, der als einziger den geheimen Schlüssel hat und die Nachricht entziffert.
 +
 +**Fragen**
 +++++Wie weiss Alice, dass sie wirklich Bobs öffentlichen Schlüssel hat?|
 +    * Bob könnte ihn beispielsweise bei Trent hinterlegen.
 +++++
 +++++Was passiert, wenn Bob seinen geheimen Schlüssel verliert?|
 +    * Niemand kann die Nachricht dann noch lesen, nicht einmal Alice.
 +++++
 +++++Wie kann Alice eine Nachricht an Bob und Charlie senden?|
 +    * Alice muss die Nachricht für jeden Empfänger separat verschlüsseln.
 +++++
 +### Kombination von asymmetrischer und symmetrischer Verschlüsselung
 +
 +Asymmetrische Verschlüsselung ist grossartig, aber im vergleich zu symmetrischer viel langsamer. Dies gilt vor allem, wenn wir grosse Datenmengen verschlüsseln müssen. Gibt es einen Weg, die Geschwindigkeit der symmetrischen mit der asymmetrischen zu kombinieren?
 +
 +Alice und Bob verwenden das asymmetrische Verfahren nur, um einen symmetrischen Schlüssel auszuhandeln. Dieser **Session Key** ist nur ein paar Dutzend Zeichen lang. Anschliessend wird der Rest der Verbindung mit dem Session Key symmetrisch verschlüsselt.
 +
 +{{:gf_informatik:verschluesselung:pasted:20220317-230859.png?nolink&600}}
 +
 +Zur Verschlüsselung geht Alice wie folgt vor:
 +  * Sie wählt einen symmetrischen Schlüssel (_session key_) und verschlüsselt den Klartext damit.
 +  * Sie verschlüsselt den symmetrischen Schlüssel mit Bobs _public key_
 +  * Beides sendet sie an Bob
 +
 +{{:gf_informatik:verschluesselung:pasted:20220317-231204.png?nolink&600}}
 +
 +Wie geht nun Bob vor, um den Klartext herauszufinden?
 +
 +++++Lösung|
 +{{:gf_informatik:verschluesselung:pasted:20220317-231300.png?nolink&600}}
 +++++
 +
 +Dieses Verfahren wird vom Browser mit HTTPS angewandt: der Browser handelt mit dem Server mittels asymmetrischer Verschlüsselung einen temporären _session key_ aus, der dann für die Übertragung der Webseite verwendet wird.
 +
 +<nodisp 2>
 +++++ Themen (nur LP)|
 +  * Crypto-Familie:
 +    * Alice will sicher mit Bob kommunizieren
 +    * Eve will sie abhören (von en. _Eavesdropping_: abhören, lauschen)
 +    * Verschlüsselung bietet abhörsichere Kommunikation
 +
 +
 +  * Problem: wie weiss Bob, ob der Schlüssel wirklich von Alice ist?
 +    * Man-in-the-middle-Attacke
 +    * Vertrauen in der Kommunikation
 +    * Lösungen:
 +      * Zertifikate (im Browser / SSL)
 +      * Vertrauens-Netzwerke (PGP)
 +      * Fingerprints / Hashes
 +
 +++++
 +
 +</nodisp>
 +
  • gf_informatik/verschluesselung/asymmetrisch.1646929530.txt.gz
  • Zuletzt geändert: 2022-03-10 16:25
  • von hof