Kryptografie/Key-Exchange: Unterschied zwischen den Versionen
Erscheinungsbild
	
	
K Textersetzung - „z. B.“ durch „z. B. “  | 
				K Textersetzung - „z. B. “ durch „beispielsweise “  | 
				||
| (7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
*Sicherheitsrelevant für alle bisher kennen gelernten Verfahren ist der Schlüsselaustausch  | *Sicherheitsrelevant für alle bisher kennen gelernten Verfahren ist der Schlüsselaustausch  | ||
*muss zuvor über einen geheimen Kanal stattfinden  | *muss zuvor über einen geheimen Kanal stattfinden  | ||
*Nicht immer hat man aber die Möglichkeit sich   | *Nicht immer hat man aber die Möglichkeit sich beispielsweise persönlich zu treffen  | ||
*Public-Key  | *Public-Key  | ||
*Es gibt jedoch ein Möglichkeiten, auch über einen unsicheren Kanal den Schlüsselaustausch durchzuführen  | *Es gibt jedoch ein Möglichkeiten, auch über einen unsicheren Kanal den Schlüsselaustausch durchzuführen  | ||
*Diese Verfahren tragen den Namen   | *Diese Verfahren tragen den Namen "Public-Key"  | ||
*Schlüsselaustausch ist ein Problem …  | *Schlüsselaustausch ist ein Problem …  | ||
*Verschiedene Schlüssel für verschiedene Kommunikationspartner notwendig  | *Verschiedene Schlüssel für verschiedene Kommunikationspartner notwendig  | ||
*Diffie-Hellman Schlüsselaustausch-Verfahren  | *Diffie-Hellman Schlüsselaustausch-Verfahren  | ||
*Basiert auf Schwierigkeit, den   | *Basiert auf Schwierigkeit, den "diskreten Logarithmus" zu berechnen  | ||
*Gegeben sein ein Primzahl-Modulus p und eine Zahl x  | *Gegeben sein ein Primzahl-Modulus p und eine Zahl x  | ||
*1) Alice wählt eine zufällige, geheime Zahl a und berechnet y1=x^a mod p  | *1) Alice wählt eine zufällige, geheime Zahl a und berechnet y1=x^a mod p  | ||
*2) Bob wählt eine zufällige, geheime Zahl b und berechnet y2=x^b mod p  | *2) Bob wählt eine zufällige, geheime Zahl b und berechnet y2=x^b mod p  | ||
*Beide senden sich ihr y1 bzw. y2 zu  | *Beide senden sich ihr y1 bzw. y2 zu  | ||
*Alice berechnet s = y2^a = x^(ba) mod p  | *Alice berechnet s = y2^a = x^(ba) mod p  | ||
*Bob berechnet s‘ = y1^b = x^(ab) mod p = s  | *Bob berechnet s‘ = y1^b = x^(ab) mod p = s  | ||
| Zeile 19: | Zeile 19: | ||
===Diffie-Hellman-Key-Exchange===  | ===Diffie-Hellman-Key-Exchange===  | ||
*Über das Diffie-Hellman-Key-Exchange-Verfahren (DH) lassen sich kryptographische Schlüssel sicher über unsichere Kanäle aushandeln  | *Über das Diffie-Hellman-Key-Exchange-Verfahren (DH) lassen sich kryptographische Schlüssel sicher über unsichere Kanäle aushandeln  | ||
*Es ist selbst kein   | *Es ist selbst kein Kryptografieverfahren und tauscht auch keine Schlüssel im eigentlichen Sinne aus  | ||
*Das von Martin Hellman und Whitfield Diffie entwickelte Verfahren beruht auf den Eigenschaften diskreter Logarithmen:  | *Das von Martin Hellman und Whitfield Diffie entwickelte Verfahren beruht auf den Eigenschaften diskreter Logarithmen:  | ||
*zwar ist es einfach, eine Zahl zu potenzieren  | *zwar ist es einfach, eine Zahl zu potenzieren  | ||
| Zeile 49: | Zeile 49: | ||
*Es gilt K = K[2] = K[2] = g^a*b mod p  | *Es gilt K = K[2] = K[2] = g^a*b mod p  | ||
*K wird als geheimer symmetrischer Schlüssel verwendet  | *K wird als geheimer symmetrischer Schlüssel verwendet  | ||
[[Kategorie:Kryptografie]]  | |||
[[Kategorie:Kryptografie/Algorithmus]]  | |||
Aktuelle Version vom 28. April 2025, 09:33 Uhr
Schlüsselaustausch
- Sicherheitsrelevant für alle bisher kennen gelernten Verfahren ist der Schlüsselaustausch
 - muss zuvor über einen geheimen Kanal stattfinden
 - Nicht immer hat man aber die Möglichkeit sich beispielsweise persönlich zu treffen
 - Public-Key
 - Es gibt jedoch ein Möglichkeiten, auch über einen unsicheren Kanal den Schlüsselaustausch durchzuführen
 - Diese Verfahren tragen den Namen "Public-Key"
 - Schlüsselaustausch ist ein Problem …
 - Verschiedene Schlüssel für verschiedene Kommunikationspartner notwendig
 - Diffie-Hellman Schlüsselaustausch-Verfahren
 - Basiert auf Schwierigkeit, den "diskreten Logarithmus" zu berechnen
 - Gegeben sein ein Primzahl-Modulus p und eine Zahl x
 - 1) Alice wählt eine zufällige, geheime Zahl a und berechnet y1=x^a mod p
 - 2) Bob wählt eine zufällige, geheime Zahl b und berechnet y2=x^b mod p
 - Beide senden sich ihr y1 bzw. y2 zu
 - Alice berechnet s = y2^a = x^(ba) mod p
 - Bob berechnet s‘ = y1^b = x^(ab) mod p = s
 
Diffie-Hellman-Key-Exchange
- Über das Diffie-Hellman-Key-Exchange-Verfahren (DH) lassen sich kryptographische Schlüssel sicher über unsichere Kanäle aushandeln
 - Es ist selbst kein Kryptografieverfahren und tauscht auch keine Schlüssel im eigentlichen Sinne aus
 - Das von Martin Hellman und Whitfield Diffie entwickelte Verfahren beruht auf den Eigenschaften diskreter Logarithmen:
 - zwar ist es einfach, eine Zahl zu potenzieren
 - Es ist aber nur mit sehr großem Aufwand möglich, den diskreten Logarithmus einer Zahl zu berechnen
 - Bei der Aushandlung einigen sich die VPN-Peers auf eine Primzahl p und eine Primitivwurzel g mod p
 - Beide Faktoren dürfen unverschlüsselt übertragen werden
 - Anschließend erzeugt jede Seite eine geheime Zufallszahl a/b und berechnet daraus den Wert Za= ga mod p beziehungsweise Zb = gb mod p
 - Za und Zb werden an den Partner übertragen
 - Daraus kann nun jede Seite den gemeinsamen symmetrischen Schlüssel K berechnen:
 - Zba mod p = Zab mod p = K
 
Diffie-Hellman-Key-Exchange
- Sind die eingesetzten Zahlen hinreichend groß, ist es für einen Angreifer so gut wie unmöglich, den Key zu knacken
 - Große Zahlen erfordern allerdings mehr Rechenaufwand
 - Die Größe der Zahlen bestimmt die gewählte DH-Gruppe
 - Die kleinste DH Gruppe 1 hat 768 Bit und die größte definierte Gruppe 18 besitzt 8192 Bit
 - Empfohlen wird derzeit der Gebrauch der Gruppe 5 mit 1536 Bit
 
Diffie-Hellman
- Vereinbarung eines gemeinsamen symmetrischen Schlüssels über einen unsicheren Kanal.
 - Basiert auf 2 Schlüsseln
 - Alice und Bob sind einer große Primzahl p und ein ganzahliger Wert g (Generator) frei zugänglich
 - Alice generiert eine große Zufallszahl a, berechnet eine Zahl A = g^a mod p
 - Bob generiert ebenfalls eine große Zufallszahl b, berechnet eine Zahl B = g^b mod p
 - und sendet B an Alice
 - Alice berechnet eine Zahl K[1] = B^a mod p.
 - Bob berechnet eine Zahl K[2] = A^b mod p.
 - K[1] und K[2] sidn gleich.
 - Es gilt K = K[2] = K[2] = g^a*b mod p
 - K wird als geheimer symmetrischer Schlüssel verwendet