Coinflip Seed Generator

Ich wurde gefragt, wie man mit einer Münze einen Seed generieren kann.
Es folgt eine Kurzanleitung.

Vorab: Ich bin dagegen sich eigene Fancy-Sicherheitsmodelle auszudenken. Es ist i.d.R. besser die erprobten, sicheren Pfade zu gehen. Wer es aber unbedingt machen möchte: So würde es funktionieren.

Schritt 1: Ihr holt euch die Wordlist vom BIP 39

Diese Wordlist beinhaltet alle Wörter, die für einen Seed verwendet werden können. Die ersten 4 Buchstaben identifizieren ein Wort eineindeutig

Schritt 2: Ihr numeriert die Wörter durch (bei o.g. link bereits erfolgt)

Schritt 3: Ihr konvertiert die Dezimalzahlen in Binär
https://www.rapidtables.com/convert/number/binary-to-decimal.html
Jetzt könnt ihr die Zahlen durch wiederholte Münzwürfe generieren.
Bei 1 bis 2048 (bzw. 0 bis 2047) kann jede Zahl eineindeutig durch 11 Münzwürfe identifiziert werden. Es ist wichtig, dass ihr jedesmal 11 mal die Münze werft und nicht nach dem n-ten Wurf aufhört, weil dann die zuordnung nicht mehr eineindeutig ist.
z.B. 00000000000 = 0, 00000000001 = 1, 00000000010 = 2, 00000000011 = 3, u.s.w.

edit (nach Anmerkung von sutterseba):
Schritt 4: Ihr werft Euch 23 Wörter zurecht

Schritt 5: Ihr gebt die 23 Wörter in ein Hardware Wallet ein (z.B. Bitbox). Es ergeben sich 8 mögliche Wörter, die eine gültige checksum beinhalten. Wählt eins aus, (z.B. 3 Mal die Münze werfen)

Fertig ist die seed phrase.

2 „Gefällt mir“

Checksumme?! :grimacing:

Man müsste 23 Wörter Coinflippen, und dann z.B. auf der BitBox02 ein 24. Wort manuell auswählen, damit die Checksumme passt.

Hier ein Ansatz mit Würfeln, den ich nochmal ein Stück besser finde, weil weniger Fehleranfällig:

4 „Gefällt mir“

Daran habe ich nicht gedacht.
Bei 24 Wörtern beinhaltet das letzte die Checksum. Dies lässt sich zwar formalisiert auch berechnen, ist aber kompliziert und stellt den Zweck des „Coinflip Wallets“ infrage.
Die Lösung mit der Bitbox (oder ähnlichen hardware wallets) gefällt mir.

3 „Gefällt mir“