Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The file the feds found had 2,000 addresses - so there's a non-trivial amount of 12 word phrases to remember.


You only need to remember a big random number (can be a long phrase from a book you like), and a rule that generates keys, e.g. (keyid, seed) -> hash(keyid + seed). Needless to say, you never write the seed phrase down. At most you keep a vague pointer to the author of that book.


you would only need to memorize one seed to spawn infinite key pairs


can you elaborate? I find this very interesting. We can't choose which private key we get.

So is it possible for 1 seed to generate all of them? Doesn't that break information theory (Shannon's compression limit)?


You use a 2048 word dictionary (a random choice in that wordlist represents [log 2048 =] 11 bits of entropy) then you generate a random string of 132 bits to be your cryptographic seed which is a sequence of 12 words from the wordlist which you memorize.

From that seed you can generate for all practical purposes an infinite number of private keys for any and all purposes in existence. Using cryptographic one way functions such as a hash or PRNG.

Example: truncate_as_needed ( sha512 (seed | 2022 | wallet_title | priv #123) ) = private key #123


Have a google for BIP-32, about Hierchical Deterministic Wallets. A secret key is nothing but a number, so it's not too hard to generate more numbers from that seed. If you have the seed and the parameters for the child numbers, you have all the private keys you want.


First you create the seed, then you create the keys. Not the other way around.


Just to clarify: the statement is not that you could encode those existing 2000 private keys with one short seed (you cannot, indeed), but rather that you could easily and safely generate 2000 distinct private keys from one relatively short seed.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: