I know that manually calculating the last word on a 12 word seed it's possible, but not sure how it is done..
Could someone share some knowledge about it? Cheers
100 sats \ 5 replies \ @Krv 20 Feb
You must do it with a computing device because it requires a hashing algorith.
A 12 word seed is storing 12 11-bit (0 or 1) sequences. The first 128 bits are randomly generated. The last 4 are the checksum generated by a hash of the 128 bits. Each 11 bit sequence corresponds to a single word in the wordlist.
You can take a hardware wallet and attempt to restore the seed, trying the last word over and over again until it renders a valid seed.
You may also use this tool: https://iancoleman.io/bip39/
Though, it could take many tries.
Note: This could be very insecure if you didn't generate the randomness using a secure method. Humans are very bad àt randomness.
reply
Can i do the opposite? Put the private key and then i get the words?
reply
21 sats \ 1 reply \ @Krv 20 Feb
If you are talking about the random bits, or entropy, you can use the bip39 tool above to get the words.
If you are talking about the xprv, yprv, or zprv that results from the mnemonic phrase, that is not possible. The entropy stored in mnemonic pharse is put through a hashing algorithm to generate the private key. It is one way only. (https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#from-mnemonic-to-seed)
Similarily, for any of the private keys of the addresses generated by the seeds, there's no way to get the seed from any of them.
reply
reply
0 sats \ 1 reply \ @Krv 20 Feb
I believe it will take 16 tries on average. The odds of the 4bits matching the correct 4-bit hash are 1 in 16. (2^4 = 16)
reply
Well, that's not true. It is guaranteed to occur within 16 guesses.
reply