I was reading the oclvanitygen thread for kicks and came across this:
In addition, while you can possibly get a collision on the address, you still can't spend from that address unless you have the correct private key. So even if you do happen to get a full match on the address, you might still not have the correct private key to go with it. (addresses are hashes of the public key, which have a smaller space than the public key, so at least there's a greater potential for a collision on the address)
Reading it caused me to ponder a security question... Unless I am behind the times, current general knowledge seems to be that one should not re-use addresses because the availability of the public key might make it easier to break the private key. Given this, I assume TheRealSteve's statement is at least partially incorrect.
Specifically, if the public key is not available, then this part of the statement is wrong:
"In addition, while you can possibly get a collision on the address, you still can't spend from that address unless you have the correct private key. So even if you do happen to get a full match on the address, you might still not have the correct private key to go with it."
IIRC, and even if I hadn't actually previously read something to this effect, logically speaking, the first key combination successfully used to spend bitcoin has its public key tied to the address, and no other public key can be used in the future (which also prevents any other private key from being used except in an m of n scenario), so when the public key has not been tied to an address yet, a different key combination could be used in the event of a collision (however unlikely) because there is nothing to say the alternate public key is not the original.
Now, assuming my analysis is correct, this begs the question of which is riskier today (granted that which is riskier could change in the future if any specific piece of cryptography in use is broken in the future), and statistically speaking, what are the odds that define each scenarios risk:
1) Re-using an address or otherwise publishing your public key for said address in the blockchain.
Risk: Public key is used to make it easier to break private key
2) Keeping the public key private to avoid the risk in (1), as is currently recommended.
Risk: Collision allows someone else to assume control of your address
I understand the odds for (2) are astronomical and posted all over the place, but I don't know if there are calculable odds for (1). Assuming there are, it would be neat to know how much safer (2) is, and it would be somewhat validating/fulfilling (albeit certainly unlikely) if it turns out (1) is safer when we assume no other cryptography breakage will occur.
So, can the odds for (1) be calculated? Also, does any cryptography breakage already exist which would change the odds for (1)? Finally, is it possible to calculate the odds of any future cryptography breakage that Would affect (1)?