it-themen:allgemein:diffie-hellman-schluesselaustausch
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| it-themen:allgemein:diffie-hellman-schluesselaustausch [07.08.2025 09:16] – angelegt lars | it-themen:allgemein:diffie-hellman-schluesselaustausch [07.08.2025 12:35] (aktuell) – lars | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | [[netzwerk:letsencrypt_acme_traefik|zurück]] | + | [[netzwerk:tls_ssl_zertifikate|zurück]] |
| ====== Diffie-Hellman-Schlüsselaustausch ====== | ====== Diffie-Hellman-Schlüsselaustausch ====== | ||
| Zeile 11: | Zeile 11: | ||
| ===== Mathematische Grundlage ===== | ===== Mathematische Grundlage ===== | ||
| - | * Es wird eine große Primzahl | + | * Es wird eine große Primzahl |
| - | * Die Berechnungen basieren auf **modularer Exponentiation**: | + | * Die Berechnungen basieren auf **modularer Exponentiation**: |
| * Sicherheit basiert auf dem **diskreten Logarithmusproblem** (schwer zu lösen). | * Sicherheit basiert auf dem **diskreten Logarithmusproblem** (schwer zu lösen). | ||
| Zeile 18: | Zeile 18: | ||
| **Öffentliche Parameter: | **Öffentliche Parameter: | ||
| - | * Primzahl | + | * Primzahl |
| - | * Basis \\( g = 5 \\) | + | * Basis $( g = 5 )$ |
| **Private Schlüssel: | **Private Schlüssel: | ||
| - | * Alice wählt | + | * Alice wählt |
| - | * Bob wählt | + | * Bob wählt |
| **Öffentliche Schlüssel: | **Öffentliche Schlüssel: | ||
| - | * Alice berechnet: | + | * Alice berechnet: |
| - | * Bob berechnet: | + | * Bob berechnet: |
| **Austausch: | **Austausch: | ||
| - | * Alice sendet | + | * Alice sendet |
| - | * Bob sendet | + | * Bob sendet |
| **Gemeinsamer geheimer Schlüssel: | **Gemeinsamer geheimer Schlüssel: | ||
| - | * Alice berechnet: | + | * Alice berechnet: |
| - | * Bob berechnet: | + | * Bob berechnet: |
| **Ergebnis: | **Ergebnis: | ||
| - | Beide Seiten besitzen nun denselben geheimen Schlüssel: **\\( s = 18 \\)** | + | * Beide Seiten besitzen nun denselben geheimen Schlüssel: **$( s = 2 )$** |
| ===== Sicherheit ===== | ===== Sicherheit ===== | ||
| Ein Angreifer kennt: | Ein Angreifer kennt: | ||
| - | * \\( p, g, A, B \\) | + | * $( p, g, A, B )$ |
| Aber nicht: | Aber nicht: | ||
| - | * \\( a \\) oder \\( b \\) | + | * $( a )$ oder $( b )$ |
| + | |||
| + | Das Berechnen von $( a )$ aus $( A = g^a \mod p )$ ist **mathematisch extrem aufwendig** (diskreter Logarithmus). Deshalb kann der gemeinsame Schlüssel nicht einfach abgeleitet werden. | ||
| + | |||
| + | |||
| + | |||
| + | < a2s > | ||
| + | |||
| + | .--------------------------------------------------------------------. | ||
| + | |[lc] Diffie-Hellman: | ||
| + | | | | ||
| + | | Alice Bob Eve (Angreifer) | | ||
| + | | | | ||
| + | | | | | | | ||
| + | | +--- öffentl. p=23, g=5 --> | ||
| + | | | |. | ||
| + | | | a = 6 (geheim) | ||
| + | | | A = g^a mod p = 8 | | | | ||
| + | | +--- A = 8 ---------------> | ||
| + | | | | b = 15 (geheim) | ||
| + | | | | B = g^b mod p = 19 | ||
| + | | |< | ||
| + | | | | | | | ||
| + | | | s = B^a mod p = 2 | | | | ||
| + | | | | s = A^b mod p = 2 | | | ||
| + | | | | | | | ||
| + | | +----> Gemeinsamer geheimer Schlüssel s = 2 < | ||
| + | | | | | | | ||
| + | | | | | | | ||
| + | | | Eve kennt nur p, g, A, B —> kein Zugriff auf s) | ||
| + | | | | ||
| + | ' | ||
| + | [lc]: {" | ||
| + | </ | ||
| + | |||
| + | <WRAP center round info 80%> | ||
| + | **Hinweis: | ||
| + | Obwohl alle übertragenen Werte ($p$, $g$, $A$, $B$) öffentlich sind, ist der geheime Schlüssel $s$ sicher, | ||
| + | | ||
| + | Die Sicherheit beruht auf der Schwierigkeit des diskreten Logarithmusproblems. | ||
| + | </ | ||
| - | Das Berechnen von \\( a \\) aus \\( A = g^a \mod p \\) ist **mathematisch extrem aufwendig** (diskreter Logarithmus). Deshalb kann der gemeinsame Schlüssel nicht einfach abgeleitet werden. | ||
| ===== Anwendungsbeispiele ===== | ===== Anwendungsbeispiele ===== | ||
| Zeile 65: | Zeile 104: | ||
| ===== Zusammenfassung ===== | ===== Zusammenfassung ===== | ||
| ^ Schritt ^ Beschreibung ^ | ^ Schritt ^ Beschreibung ^ | ||
| - | | 1 | Öffentliche Werte wählen (`p`, `g`) | | + | | 1 | Öffentliche Werte wählen |
| - | | 2 | Jeder wählt geheimen Exponenten | + | | 2 | Jeder wählt geheimen Exponenten |
| - | | 3 | Öffentliche Schlüssel berechnen: | + | | 3 | Öffentliche Schlüssel berechnen: |
| | 4 | Schlüssel austauschen | | | 4 | Schlüssel austauschen | | ||
| - | | 5 | Gemeinsamen Schlüssel berechnen: | + | | 5 | Gemeinsamen Schlüssel berechnen: |
| | ✅ | Beide Seiten besitzen denselben geheimen Schlüssel | | | ✅ | Beide Seiten besitzen denselben geheimen Schlüssel | | ||
| + | |||
| + | |||
| + | ---- | ||
| + | |||
| + | | ||
| + | |||
| + | ---- | ||
| + | |||
it-themen/allgemein/diffie-hellman-schluesselaustausch.1754551005.txt.gz · Zuletzt geändert: von lars