🎯 Challenge des Prüfers laden
Füge den [PUBXCH:…]-Block des Prüfers ein. Der enthaltene Public Key und der zu
signierende Challenge-Text werden automatisch angezeigt.
📝 Challenge-Text sichten
Der Original-Challenge-Text erscheint in einem mehrzeiligen Textfeld – inklusive möglicher verschlüsselter Textblöcke. Du kannst Passagen markieren und kopieren, um sie separat zu sichten.
🔑 Public Key sichtbar
Der Public Key aus dem PUBXCH-Block wird in einem eigenen readonly-Feld angezeigt – so siehst du sofort, welcher Schlüssel zur Signatur gehört.
📦 K2-Block entschlüsseln
Dein verschlüsselter Schlüsselblock [K2:…] wird mit deinem Masterpasswort
ausschließlich lokal entschlüsselt. Der Private Key verlässt niemals den Browser.
✍️ Ed25519-Signatur erzeugen
Mit einem Klick wird die Challenge mit deinem Private Key signiert. Das Ergebnis ist ein
portabler [PUBXBK:…]-Antwortblock, den du zurück an den Prüfer sendest.
🔒 100% lokal
Keine HTTP-Requests, kein Tracking, keine Server. Die komplette Entschlüsselung und Signatur
läuft ausschließlich in deinem Browser – du kannst die Seite als .html speichern
und offline nutzen.
📌 Beispiel eines PUBXBK-Blocks
[PUBXBK:eyJ2ZXJzaW9uIjoxLCJhbGdvcml0aG0iOiJFZDI1NTE5IiwicHVieGNoX2I2NCI6Ii4uLiIsInNpZ25hdHVyZV9iNjQiOiIuLi4ifQ==]
Der PUBXBK-Block enthält die Referenz auf die ursprüngliche Challenge (pubxch_b64), die
Ed25519-Signatur und einen Zeitstempel – alles in einer einzigen Base64-Zeichenkette. Der Prüfer
verifiziert diesen Block gegen den Public Key aus der Challenge.
✨ So arbeitest du mit Respond:
1. Öffne die Respond-Seite und füge den [PUBXCH:…]-Block des Prüfers
ein.
2. Prüfe den angezeigten Public Key und den Challenge-Text.
3. Füge deinen [K2:…]-Block ein und gib dein Masterpasswort ein.
4. Klicke auf „🔓 K2 entschlüsseln“, dann auf „✍️ Signieren“.
5. Kopiere den [PUBXBK:…]-Antwortblock und sende ihn zurück an den Prüfer.
💡 Tipp: Der Prüfer nutzt die Challenge-Seite, um den Block zu erzeugen
und
zu verifizieren – das Paket ist so aufeinander abgestimmt, dass keine URL-Parameter oder QR-Codes
nötig sind.
💡 Anwendungsbeispiele
- Proof of Possession – bestätige, dass du den Private Key kontrollierst
- Zustimmung zu Bedingungen – signiere den Text des Prüfers als Nachweis
- Geräte-Bindung – signiere eine an deinen Public Key gebundene Challenge
- Offline-Signatur – Blöcke per Messenger austauschen, lokal signieren
- Mehrsprachige Challenge-Texte – Unicode-fähig, auch mehrzeilig
- Verschlüsselte Textblöcke – Challenge-Text kann weitere TX-Blöcke enthalten
🔒 Technische Details
Signatur: Ed25519 – schnell, kompakt, deterministisch.
Kanonische Basis:
HVY-PUBXCH-V1\n<challenge_b64>\n<nonce_b64>\n<public_key_b64>.
K2-Entschlüsselung: AES-GCM, PBKDF2-SHA256, 200.000 Iterationen, 16-Byte Salt,
12-Byte IV, 256-bit Key.
Format: [PUBXBK:<Base64>] – enthält JSON mit Version,
Algorithmus, Referenz auf die Challenge, Signatur und Zeitstempel.
Lokalität: Keine HTTP-Requests, kein Tracking – die Seite kann als
.html gespeichert und offline genutzt werden.
🤝 Paket-Anwendung – Challenge & Respond
Die beiden Seiten sind aufeinander abgestimmt: Der Prüfer erzeugt eine Challenge, der Besitzer signiert sie. Beide Seiten arbeiten ohne URL-Parameter und ohne QR-Codes – der Austausch erfolgt ausschließlich über die Blöcke selbst.