…
…
…
32 CSPRNG-Bytes, geclampt gemäß Curve25519 · öffentlicher Schlüssel = privater Skalar × Basispunkt 9 · lokal generiert, nie gesendet · Schlüssel werden bewusst nicht in die Share-URL codiert.
Was es tut
Der WireGuard-Schlüsselgenerator erzeugt die kryptografischen Schlüssel, die ein WireGuard-Tunnel braucht, vollständig in deinem Browser. Er zieht 32 Bytes aus dem CSPRNG deines Geräts, wendet das Clamping nach den Curve25519-Regeln an (key[0] &= 248; key[31] &= 127; key[31] |= 64) und leitet den passenden öffentlichen Schlüssel durch Multiplikation des Basispunkts der Kurve ab - eine reine BigInt-Implementierung der Montgomery-Leiter nach RFC 7748 über GF(2²⁵⁵ − 19). Du kannst zusätzlich einen optionalen Pre-Shared-Key (PSK) erzeugen und eine editierfertige wg-quick-Config-Vorlage kopieren.
Beide Schlüssel werden als Standard-
Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
mit Padding ausgegeben - 44 Zeichen -, exakt das Format, daswg setconf, wg-quick und jeder WireGuard-Manager erwartet. Nichts wird hochgeladen: Erzeugung, Ableitung und Kopieren sind komplett lokal, und Schlüssel werden bewusst nie in die Seiten-URL kodiert.
So verwendest du es
- Drücke Generieren (oder Neu generieren), um ein frisches Schlüsselpaar zu erzeugen.
- Kopiere den Privaten Schlüssel in die
[Interface]-Sektion der Config deines Geräts - teile ihn niemals. - Kopiere den Öffentlichen Schlüssel und gib ihn dem Peer oder Server-Administrator - er ist sicher zu teilen.
- Kippe den Pre-Shared-Key-Schalter für einen optionalen 32-Byte-PSK; lege denselben Wert in die Configs beider Seiten für zusätzlichen Schutz durch Symmetrie.
- Kopiere die Config-Vorlage und ersetze dann
<PEER_PUBLIC_KEY>,AddressundEndpointdurch die Werte deines Servers.
Beispiele
Ein bekanntes Schlüsselpaar (“Alice”-Testvektor aus RFC 7748 §6.1)
Private key: dwdtCnMYpX08FsFyUbJmRd9ML4frwJkqsXf7pR25LCo=
Public key: hSDwCYkwp1R0i33ctD73Wg2/Og0mOBr066SpjqqbTmo=
Speise den privaten Schlüssel in irgendeine X25519-Implementierung ein und du erhältst genau diesen öffentlichen Schlüssel - die Ableitung, die dieses Tool durchführt, ist in ihren Unit-Tests gegen Vektoren wie diesen verifiziert. Ein frisch generiertes Paar ist zufällige Ausgabe im selben 44-Zeichen-Format.
Config-Vorlage mit Pre-Shared-Key
[Interface]
PrivateKey = dwdtCnMYpX08FsFyUbJmRd9ML4frwJkqsXf7pR25LCo=
PublicKey = hSDwCYkwp1R0i33ctD73Wg2/Og0mOBr066SpjqqbTmo=
Address = 10.0.0.2/32
[Peer]
PublicKey = <PEER_PUBLIC_KEY>
PresharedKey = 7Xk2Pq9wLmY4vRtNz8sB1cHf6Gj3Kd0eA5uOi2WxSbE=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = vpn.example.com:51820
PersistentKeepalive = 25
Einen Schlüssel rotieren
Regenerate → replace only the PrivateKey line in your config →
send the new Public key to the peer admin → restart the tunnel.
Gut zu wissen
- Warum Clamping? Die unteren 3 Bits und das oberste Bit werden gelöscht und Bit 254 wird erzwungen, sodass jeder private Schlüssel ein gültiger Skalar ist, der mit jeder Curve25519-Implementierung funktioniert und vor Small-Subgroup-Angriffen schützt.
- Pre-Shared-Keys fügen zusätzlich zum Diffie-Hellman-Austausch ein symmetrisches 256-Bit-Geheimnis hinzu - nützlich gegen künftige Quantenangriffe auf aufgezeichneten Traffic. Derselbe PSK muss in den Configs beider Peers stehen, und er wird nie geclampt (er wird als rohes Schlüsselmaterial verwendet).
- Privat: läuft zu 100 % clientseitig; der CSPRNG und die Kurven-Mathematik berühren nie das Netzwerk, und Schlüssel werden weder in die URL noch in einen Speicher geschrieben.
- Verwandte Tools: Password Generator, Secure Token Generator,
HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
Generator.