Hat der SeedSigner richtig gerechnet? Würfelziffern rein, BIP39-Wörter raus – offline, in deiner Hand.
Der SeedSigner erzeugt im Dice-Modus aus 50 Würfen 12 Wörter oder aus 99 Würfen 24 Wörter.
Die Rechnung ist offen dokumentiert: SHA-256 über die Ziffernfolge, daraus die Wortliste nach BIP39.
Wer dem Gerät nicht blind glauben will, rechnet einmal selbst nach. Genau das macht diese Seite –
ohne Server, ohne Verbindung, ohne fremden Code. Alles steht in dieser einen Datei.
⚠ Nur mit einem Wegwerf-Seed
Die Ziffernfolge IST der Seed. Wer die 99 Ziffern kennt, kennt die Wallet. Deshalb wird hier nie ein Seed geprüft, der jemals Coins tragen soll.
Geprüft wird die Methode, nicht dein echter Seed. Rechnet das Gerät bei Übungs-Ziffern richtig, rechnet es immer richtig. Der echte Seed verlässt das Gerät nie.
Für ernsthafte Prüfungen offline: Datei speichern, Netz trennen, Datei per Doppelklick öffnen. Die Seite funktioniert genauso. Danach Browser schließen.
Ein Browser ist kein Tresor: Erweiterungen, Zwischenablage und Bildschirmaufnahmen sehen mit. Auch das ist ein Grund für Wegwerf-Seeds.
2. Wörter vom Display (optional, zum automatischen Vergleich)
3. Ergebnis
Entropie (SHA-256 der Ziffern, hex):
Am Gerät Wort für Wort vergleichen. Alle Wörter identisch = das Gerät rechnet korrekt. Eine Abweichung heißt fast immer: ein Tippfehler zwischen Blatt und Gerät – Ziffern prüfen, Durchlauf wiederholen. Danach „Alles löschen" und das Fenster schließen.
Was hier genau passiert
Rechenweg wie im SeedSigner (SeedSigner OS 0.8.7, src/seedsigner/helpers/mnemonic_generation.py): Die Ziffern werden als Text genommen, SHA-256 darüber gebildet. Bei 99 Würfen sind das 32 Byte = 256 Bit = 24 Wörter, bei 50 Würfen werden nur die ersten 16 Byte = 128 Bit = 12 Wörter benutzt.
BIP39: An die Entropie kommt eine Prüfsumme (die ersten 8 bzw. 4 Bit von SHA-256 der Entropie), dann wird alles in 11-Bit-Blöcke geschnitten. Jeder Block ist eine Zahl von 0 bis 2047 und zeigt auf ein Wort der offiziellen englischen Wortliste.
Zwei Rechenwerke: SHA-256 wird einmal mit der eingebauten WebCrypto-Funktion des Browsers und einmal mit einer eigenen, lesbaren JavaScript-Implementierung berechnet. Nur wenn beide übereinstimmen, wird ein Ergebnis angezeigt.
Wortliste geprüft: Die 2048 Wörter stecken in dieser Datei. Beim Laden wird ihre SHA-256 berechnet und mit dem bekannten Wert der offiziellen Liste verglichen (2f5eed53…24dbda, identisch mit bip39_english.txt aus dem Werkstatt-Paket).
Selbsttest: Beim Laden werden die beiden Beispiele aus der SeedSigner-Dokumentation (docs/dice_verification.md) durchgerechnet. Nur wenn beide stimmen, ist der Selbsttest grün.
Nichts verlässt den Browser: Die Seite hat eine Content-Security-Policy, die jede Verbindung verbietet. Nachprüfen: F12 → Netzwerk-Tab → außer dem Laden der Seite selbst erscheint keine Anfrage, auch nicht beim Rechnen.
Zweite Meinung – dem Prüfwerkzeug nicht blind glauben
Auch ein Prüfwerkzeug ist Angriffsfläche. Wer es ernst meint, rechnet mit einer zweiten, unabhängigen Codebasis gegen:
Prüfskript aus dem Werkstatt-Paket: verify_dice_seed.py (nur Python-Standardbibliothek plus bip39_english.txt), Aufruf ohne Argument, die Ziffern werden abgefragt. Läuft auch auf Tails ohne Netz. Der Wrapper dice-check.sh prüft vorher die Hashes beider Dateien gegen SHA256SUMS.
Ian Colemans BIP39-Tool (bip39-standalone.html, offline geöffnet): „Show entropy details" → Entropie-Typ „Base 10" aktiv anklicken, „Mnemonic Length" auf „24 Words" (bzw. „12 Words") stellen, dann die Ziffern eintragen. Bleibt die Voreinstellung „Use Raw Entropy" stehen, wird nicht gehasht und die Wörter weichen ab. Niemals den „Dice"-Modus – der macht aus jeder 6 eine 0 und liefert andere Wörter, obwohl alles richtig aussieht.
Stimmen zwei Werkzeuge und das Gerät überein, ist die Methode belegt. Dann würfelst du den echten Seed – und tippst ihn nirgendwo mehr ein.
Datei prüfen: Ist das noch die Originalfassung?
Diese Datei kann ihren eigenen Hash nicht enthalten. Vergleiche stattdessen die SHA-256 der heruntergeladenen Datei mit dem Wert auf der Download-Seite bzw. im Buch:
Linux/macOS sha256sum wuerfel-check.html, Windows PowerShell Get-FileHash wuerfel-check.html (Ausgabe in Großbuchstaben, Groß-/Kleinschreibung ist egal).
Weicht der Wert ab, Datei verwerfen und neu laden. Wer Code lesen kann: Rechtsklick → Seitenquelltext anzeigen. Der ganze Code steht im <script>-Block am Ende, rund 200 Zeilen – davon rund 70 für den eigentlichen Rechenweg (SHA-256 und Wortableitung), der Rest ist Oberfläche.
Was der Test beweist – und was nicht
Beweist: Das Gerät hat aus deinen Würfen die standardkonformen BIP39-Wörter berechnet, ohne die Entropie zu schwächen oder heimlich etwas anderes zu benutzen.
Beweist nicht: Ob deine Würfel fair sind, ob du beim Übertragen aufs Gerät einen Tippfehler gemacht hast (den findet der Vergleich zwar, aber erst danach), und ob dein Backup lesbar ist. Dafür gibt es das Wort-Quiz am Gerät und den Restore-Drill.