Hacker News new | past | comments | ask | show | jobs | submit login

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: