The NSA created Bitcoin and used ECDSA in it because they already had it broken.
This risk is already mitigated for any bitcoin address that has not been used for spending (i.e. its public key is not yet known).
Even if ECDSA is broken wide open, it doesn't really matter with respect to bitcoins that have been received at addresses that have never been used for spending, because the corresponding ECDSA public key is not known and cannot be determined without also breaking both RIPEMD160 and SHA256 simultaneously.
Can anyone speak to the issue, if I use a deterministic wallet (eg electrum,) and I spend from one address, thus ECDSA is all that is needed to be cracked, can that private key be used to access the rest of the address even though Unspent.
Thus would it be safer if I use multibit or the QT, as the issue is in the random generation only but the secon vulnerability is no their as those addresses are not determanisitc.
Where is the best place to generate the safest addresses keys, as I like the electrum interface and could always import keys.
I have tried to raise this in the elctrum sub boards, and the answer was not as definitive as I would have hoped.
My understanding (and please double verify) is that a known private key only will not enable you to find another private key, even multiple known private keys won't. However if the
master seed public key AND
one private key from the wallet are known it is possible to compute the
master seed private key and from that compute all private keys in the wallet. Then again there is no need to ever reveal your master seed public key or a private key so I don't see it as much of an enhanced threat.
Random Wallet
reveal private key - compromise one address
reveal wallet.dat (and passphrase) - compromise entire wallet
Detemrinistic Wallet
reveal private key - compromise one address
reveal wallet file (and passphrase) - compromise entire wallet
reveal master private key - compromise entire wallet
reveal private key AND master seed public key - compromise entire wallet
The first two vulnerabilities are the same. The third one I just included to be explicit but honestly if an attacker can gain your master seed private key (which resides only in the wallet) it is highly likely your computer is compromised and a random wallet wouldn't provide any more security.
The last scenario is one where a user could (in theory) out themselves. For example say a user puts master public key seed on a website (so site can generate public keys and a compromise won't result in a loss of a private key). The user also foolishly gives someone some funds by giving them a single private key. If an attacker took the known private key and compromised the website to gain the master public key seed then the two could be used together to compromise the entire wallet. Simple solution don't reveal private keys and if you do generate a new wallet (and thus new master private & public keys) and transfer all funds to the new wallet.