1
Since the private key is basically a random large number, would I be able to pick a password and have that converted into an address?
For example: pick "mysecretpwd". Have it sha256ed, obtain a large integer that is the private key from which I can easily derive the public key and the bitcoin address.
Then for spending any funds received at that address I only need to remember "mysecretpwd", no private key storage on paper, mnemonics or anything, basically the funds are stored in my brain.
What are the security/privacy implications?
So you're saying that it is feasible for a computer to brute-force a strong 20 characters alphanumerical/symbol password that I sha256 a million rounds? – Tedy S. – 2018-09-28T10:00:50.607
1
@TedyS. yes. see here
– Abdussamad – 2018-09-28T10:49:18.227I think what the folks at bitcointalk were advising against is using a simple dictionary word that is susceptible to rainbow table-like attacks. I would imagine an attacker's chances drop substantially if the hashing is done multiple times, like I said earlier maybe a million. – Tedy S. – 2018-09-28T12:55:20.010
https://en.bitcoin.it/wiki/Brainwallet – JBaczuk – 2018-09-28T14:34:29.250
@TedyS. to be fair to Raghav, your original question did not mention a million rounds of hashing (so implicitly one only) and your example passphrase is composed only of simple dictionary words and commonplace abbreviations in all lower-case ASCII letters. Answerers can only answer the question you actually post, they can't anticipate how you might subsequently move the goalposts. – RedGrittyBrick – 2018-09-28T14:59:09.920
@RedGrittyBrick that is indeed correct. And I assume one cannot simply standardise an algorithm for generating the private key from the "password" because then it would be well known for attackers as well, right? But that still does not mean I cannot generate an extremely secure one (against bruteforcing) with a custom algorithm involving multiple hashing, right? – Tedy S. – 2018-09-28T15:19:53.000
@TedyS. In security critical code it is virtually always considered incredibly foolhardy to go against long-established and long-proven experience such as that given in the link in JBaczuk's comment and, for example, here or here. You might be right but I am not going to endorse an approach that seems long discredited. I know my limits (or think I do) - Sorry.
– RedGrittyBrick – 2018-09-28T15:29:02.223@TedyS re "one cannot simply standardise an algorithm for generating the private key from the 'password'" - See https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki. A broadly accepted principle in the field of information-security is that using well-known or standardised algorithms is usually the safest, even if your enemies know which algorithm you use.
– RedGrittyBrick – 2018-09-28T15:38:53.533@TedyS. Adding a million rounds of hashing does not actually add much entropy, and is trivial for an attacker to compute. Please heed the warnings of others here, and use well-established cryptographic techniques for generating a private key. Brainwallets are very well known as being insecure. – chytrik – 2018-09-28T20:02:44.247