Live data from Hacker News

Milk Sad Disclosure

milksad.info

31–40 of 133 posts

Re: Milk Sad Disclosure

#31

"On Libbitcoin Explorer 3.x versions, bx seed uses the Mersenne Twister pseudorandom number generator (PRNG) initialized with 32 bits of system time." That's a hell of an amateur mistake to make. 50/50 odds whether it was incompetence or deliberate fraud. Maybe 80/20; that flaw is so simple anyone can attack it. Which apparently is happening right now. It's much better if your crypto library generates keys only you c…

Would a CSPRNG be at all an improvement with only a 32 bit seed? Couldn't you still brute force it?

Re: Milk Sad Disclosure

#32
post #7

Earlier quoted context omitted.

It cost me $4 to help get the word out on a bug that is being actively exploited right now, stealing valuable property. I am good with that.

Where do you buy a $4 domain?

based on the `whois milksad.info` Domain registrar is Namecheap :shrug:

Re: Milk Sad Disclosure

#35
post #31

"On Libbitcoin Explorer 3.x versions, bx seed uses the Mersenne Twister pseudorandom number generator (PRNG) initialized with 32 bits of system time." That's a hell of an amateur mistake to make. 50/50 odds whether it was incompetence or deliberate fraud. Maybe 80/20; that flaw is so simple anyone can attack it. Which apparently is happening right now. It's much better if your crypto library generates keys only you c…

Would a CSPRNG be at all an improvement with only a 32 bit seed? Couldn't you still brute force it?

That is correct, you still have 2^32 permutations of possible values.

Re: Milk Sad Disclosure

#36
post #33

I wonder whether they modified brainflayer for brute forcing this, or if they wrote something from scratch.

We used the broken algorithm from `bx` in a custom Rust program to brute force this.

What sort of rate did you get for computing the hashed public keys?

Re: Milk Sad Disclosure

#37

Reminds me of attacks people were running on 'brainwallets' a while back - i.e. wallets whose initial key material was just a passphrase you'd remember. The idea was that you could keep the passphrase stored nowhere and not have to worry about it being stolen by... well, any of the 10,000 things out there looking for cryptocurrency keys. Of course, there is no way in hell you can actually make the human brain store e…

Your last sentence should be a t-shirt.

Re: Milk Sad Disclosure

#38

"On Libbitcoin Explorer 3.x versions, bx seed uses the Mersenne Twister pseudorandom number generator (PRNG) initialized with 32 bits of system time." That's a hell of an amateur mistake to make. 50/50 odds whether it was incompetence or deliberate fraud. Maybe 80/20; that flaw is so simple anyone can attack it. Which apparently is happening right now. It's much better if your crypto library generates keys only you c…

Seeing it declared a WONTFIX to me helps answer which of those it was. If it was fraud, you'd expect a fake apology and a fix at this point.

Re: Milk Sad Disclosure

#39
post #15

Reminds me of attacks people were running on 'brainwallets' a while back - i.e. wallets whose initial key material was just a passphrase you'd remember. The idea was that you could keep the passphrase stored nowhere and not have to worry about it being stolen by... well, any of the 10,000 things out there looking for cryptocurrency keys. Of course, there is no way in hell you can actually make the human brain store e…

> Of course, there is no way in hell you can actually make the human brain store enough entropy perfectly Sure there is. Have horse batteries taught us nothing? https://xkcd.com/936/ Don't confuse key length with entropy. A properly-scaled PBKDF remains secure with as little as 48 bits or so. Needless to say, though, a 32 bit time value is hardly a properly designed key derivation input.

This xkcd comic has been instrumental to me.

I wrote a command-line utility a couple of years ago that I use myself regularly to generate secure and memorable passwords

https://github.com/ctsrc/Pgen

With this tool you can also see how many bits of entropy the passphrase generation settings you are using will result in.

For example, generating a 5 word passphrase using the long wordlist

    pgen -l -n 5
will yield a passphrase like:

    joyous embolism outsider evasion mashed
And when we ask the tool for the entropy with these settings

    pgen -l -n 5 -e
it will tell us:

    Current settings will create passphrases with 64.62 bits of entropy.
And hey, if you have reason to not trust the randomness capabilities of the program or your computer guess what :)

My program supports the use of physical dice to generate your password.

Have a look, try it out yourselves :D

https://github.com/ctsrc/Pgen

Re: Milk Sad Disclosure

#40
Worth noting: libbitcoin is an obscure project with an impressive name.

In that it's not used by bitcoind or any wallets I know of: it's mainly of interest here because the book Mastering Bitcoin used it for examples.

Post reply on HN