Suppose I know a specific address and I know a full HD Public Key. Is it possible to determine if the address is a hash of one public keys generated from the HD public key in constant time, or in other words without checking every possibility?

1 Answer 1


No, it is impossible to know. You would have to check every possibility.

  • Thanks, that makes sense to me intuitively, but do you know of any way to prove it?
    – Loourr
    Commented Oct 11, 2017 at 12:42
  • A strong hash function should have output that is indistinguishable from random data. Both SHA256 and Ripemd160 (tthe two hash functions involved here) are not known to be broken. There is no known way to find a relationship between the hash and the preimage. This means that you can't even figure out what the pubkey for an address is. Furthermore, deriving additional keys uses SHA512 (related to SHA256) which means that there is no way to find a relationship between the derived key and its parent except through brute force.
    – Ava Chow
    Commented Oct 11, 2017 at 14:22
  • That makes sense. Would it be possible in Etherium given (at least as far as I understand it) that the address is just the truncated private key?
    – Loourr
    Commented Oct 11, 2017 at 17:47
  • I don't use Ethereum or study it, so I don't know.
    – Ava Chow
    Commented Oct 11, 2017 at 18:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.