Lern-Fabrik Bigdata Lernfabrik
Hinweise zur Implementierung (JavaScript)

Diese Hinweise helfen dir, den Diffie-Hellman-Schlüsselaustausch selbst in JavaScript umzusetzen, ohne BigInt, nur mit var und mit kleinen Zahlen.

  • Erstelle Eingabefelder für p, g, a, b – alle als <input type="number">.
  • Erstelle eine Funktion, die beim Klick auf einen Button ausgeführt wird, z. B. diffie().
  • Lies die Werte so ein:
    var p = document.getElementById("p").value;
  • Nutze Math.pow() für Potenzen.
  • Beispiel zur Funktion Math.pow():
    Math.pow(3, 4) bedeutet: 3 hoch 4 → also 3 × 3 × 3 × 3
    Ergebnis: 81
    So kannst du testen, ob die Potenzierung funktioniert.
  • Hinweis zu % (Modulo):
    Das %-Zeichen gibt den Rest einer Division zurück.
    Beispiel: 17 % 5 ergibt 2, weil 17 durch 5 = 15 Rest 2 ist.
    In Diffie-Hellman ist Modulo wichtig, damit die Zahlen klein bleiben.
  • Für Diffie-Hellman berechnest du:
    A = Math.pow(g, a) % p
    B = Math.pow(g, b) % p
  • Zeige A und B mit innerHTML auf dem Bildschirm an.
  • Berechne den gemeinsamen Schlüssel:
    KA = Math.pow(B, a) % p
    KB = Math.pow(A, b) % p
  • Vergleiche die Schlüssel:
    if (KA == KB) { ... }
  • Gib eine Rückmeldung aus:
    • ✔ Grün, wenn die Schlüssel gleich sind
    • ✖ Rot, wenn sie sich unterscheiden

Tipp: Verwende für Tests kleine Zahlen, damit Math.pow nicht zu große Werte erzeugt.

Download Vorlage

Klicke auf den Button, um die Diffie-Hellman-Vorlage herunterzuladen und mit der Umsetzung zu beginnen.

Vorlage herunterladen