I know there is https://xmr.llcoins.net/addresstests.html and https://moneroaddress.org/ but are these good enough rng for creating seed? I hear you could do roll a 6 sided dice 100 times for good randomness, but how would that translate into a seed? lastly how would you restore that 12 word seed in monero-wallet-cli? thanks a lot
2 Answers
I understand you want to generate a truly random seed and memorize it, which is good as this would avoid the inherent weakness in human brain's capability to produce randomness.
I know there is https://xmr.llcoins.net/addresstests.html and https://moneroaddress.org/ but are these good enough rng for creating seed?
Probably yes. See here for some details on how the RNG used works.
I hear you could do roll a 6 sided dice 100 times for good randomness, but how would that translate into a seed?
If you want to use dice rolls, you could use this generator, which is a modded version of moneroaddress.org and gives you the option to use dice rolls practically directly as the seed. Details on how it works can be found here. It's reversible, so in theory it's possible to calculate which dice rolls would give a certain seed. Essentially it's just converting between base6 and base16 number representations. Considering it's hosted at a simple site with no https, if you're going to use it, better check the signature or get it straight from github.
The original one could be used but you'd enter dice rolls in the custom entropy field. I think the way it works is that it hashes whatever is inputted there with some rounds of Keccak hash function and uses the result as seed. You could enter anything you want in the custom entropy field. As long as the input has enough entropy, it should be ok.
Now, the result of either of above would be a 256-bit seed, resulting in a 25-word mnemonic. In lieu of a better solution, you could take the first (or last, or middle, or randomly picked) 128-bits of your resulting seed and feed them here to generate the mnemonic, keys and address. I'd still use 256-bits of entropy to generate it though, just in case.
lastly how would you restore that 12 word seed in monero-wallet-cli? thanks a lot
To restore, you could always start your wallet like this monero-wallet-cli --generate-from-keys <filename> and you will be prompted for address, keys and password. If you know the block height when it was created, you could speed up the initial sync by starting it with additional --restore-height <height> argument. Need to be sure of the correct because if you had anything sent to the wallet before the it will not show it.
- 20,004
- 3
- 49
- 105
don't use a brain wallet. it's easily guessed.
- 540
- 2
- 10