4 ms·
Not sure their what their heuristics are for narrowing the search space, but there certainly are some good ones. For instance, early versions of blockchain.info
by chejazi 10y ago
Not sure their what their heuristics are for narrowing the search space, but there certainly are some good ones. For instance, early versions of blockchain.info's wallet generated private keys by reading an ARC4 stream that had been seeded with Math.random() calls xor'd with timestamps. Quite the circus!
- mankash666 10y agoIf collisions exist in the hashing algorithm, how you derive the seed for a random number generator is pointless
- Ded7xSEoPKYNsDd 10y agoEvery hashing algorithm has collisions, for good cryptographic ones there's just no practical way of finding them.
- estro 10y agoThere is no practical way of finding a collision for a specific key. Finding collisions to one of the created keys non-specifically is a much smaller search space.
- ryan-c 10y agoThey're just doing a naive sequential search.
- scintill76 10y agoI believe there was a time when blockchain.info's Android wallet generated keys from Apache's 301 redirect HTML fetched over HTTP[1]. I think there's also a lesson about idiot-proofing APIs. With the benefit of this in hindsight, I might instead return an invalid, non-HTTP response that blows up every major HTTP client internally, so that it's impossible for the API consumer code to happily truck along interpreting a non-200 response body as if it's valid random data. [1] https://www.reddit.com/r/Bitcoin/comments/37nlg1/i_was_the_guy_who_lost_6_btc_using_blockchaininfo/crokzk8/?context=10000 https://www.reddit.com/r/Bitcoin/comments/37nlg1/i_was_the_g...