Diffie–Hellman-Austausch
Verfolge den öffentlichen Austausch und berechne das gemeinsame Geheimnis getrennt für Alice und Bob mit kleinen ganzen Zahlen.
Über dieses Tool
Dieses Lehrwerkzeug zeigt Diffie–Hellman mit kleinen ganzen Zahlen. Wähle eine Primzahl p und eine primitive Wurzel g modulo p als öffentliche Gruppenparameter. Alice wählt einen privaten Exponenten a, Bob einen privaten Exponenten b. Berechnen zeigt den Austausch. Die Beispiele setzen alle vier Eingaben; jede Eingabeänderung entfernt das alte Ergebnis. Ergebnis leeren behält die Eingaben. Die Generatorordnung steht im aufklappbaren Rechenweg.
Alice veröffentlicht A = gᵃ mod p, Bob veröffentlicht B = gᵇ mod p. Nach dem Austausch berechnet Alice S_A = Bᵃ mod p und Bob S_B = Aᵇ mod p. Beide Werte sind gleich gᵃᵇ mod p. Alle vier modularen Potenzen werden unabhängig berechnet; beide Endwerte bleiben sichtbar. Der öffentliche Austausch enthält nur p, g, A und B. Private Exponenten und Ergebnisse stehen zum Lernen getrennt bei ihrer Rolle; die Seite versteckt sie nicht vor dem Betrachter. Rollenfarben sind Kennzeichnungen, kein Farbmischmodell.
Erlaubt sind ganze Zahlen: 11 ≤ p ≤ 997, 2 ≤ g ≤ p−1 und 2 ≤ a,b ≤ p−2. Das Werkzeug prüft, ob p prim ist und g die Ordnung p−1 besitzt: Seine Potenzen erzeugen alle von null verschiedenen Reste modulo p. Es verwendet bewusst die volle multiplikative Gruppe. Diffie–Hellman in einer geeigneten kleineren Untergruppe mit Primzahlordnung ist ebenfalls eine gültige und verbreitete Konstruktion; diese Variante liegt außerhalb des gewählten Lehrmodells. Gleiche private Exponenten und ein gemeinsamer Wert von 1 sind in diesen Beispielen möglich.
Öffne den Rechenweg für A, B, S_A oder S_B. Die Exponentenbits werden von links nach rechts gelesen, beginnend mit Rest 1 und Exponentenpräfix 0. Jede Zeile verdoppelt den Präfix und addiert das aktuelle Bit. Sie quadriert den vorigen Rest modulo p und multipliziert bei Bit 1 zusätzlich mit der Basis modulo p. Der neue Rest entspricht der Basis hoch dem bisherigen Präfix, modulo p. Für die erlaubten Exponenten hat die Tabelle höchstens zehn Zeilen; bei Platzmangel scrollt sie innerhalb ihres Bereichs.
Diese kleinen Gruppen und gewählten Exponenten sind für echte Schlüssel ungeeignet. Einfaches Diffie–Hellman authentifiziert die Gegenstelle nicht und ist für einen Man-in-the-Middle-Angriff anfällig. Das Werkzeug bietet keine sichere Zufallserzeugung, Authentifizierung, Schlüsselableitung oder produktive Protokollumsetzung. Eingaben samt diesen sichtbaren Beispiel-Exponenten und dem gewählten Rechenweg werden im lokalen Browserspeicher gespeichert. Berechnete Beispiele stellen nach Neuladen auch ihr Ergebnis wieder her; geänderte oder ungültige Entwürfe behalten exakt den eingegebenen Text und warten auf Berechnen. Ergebnis leeren behält die Eingaben. Jedes Feld erlaubt bis zu 64 Zeichen.
Quellen: RFC 2631, §2.1.1, zu öffentlichen Potenzen, getrennten Geheimnisberechnungen und Untergruppen mit Primzahlordnung; MathWorld: Primitive Root, zur Generatorordnung der vollen Gruppe. Historische Parametergrößen und Hash-Verfahren aus RFC 2631 sind keine Empfehlungen dieses Werkzeugs.