BIP 0032 "Security Implications" states
One weakness that may not be immediately obvious, is that knowledge of a parent extended public key plus any non-hardened private key descending from it is equivalent to knowing the parent extended private key (and thus every private and public key descending from it).
From what I understand, the weakness is due to the reversible nature of the operation on extended public key (addition). Wouldn't it be possible to address this by using a one-way function like hashing instead of addition?
random hashed output + offset
, or more simply (since we ignore the random part)offset
, which is what we have already with HD wallets. Hashing the offset is the only way but then how do you get it back? If there's a take home point it's that there is no way to predict a hashed output, and if there were, the encryption would be poor. Hashed output would be impossible to detect the offset added to it. – Wizard Of Ozzie Oct 16 '14 at 15:20