<p>No, it is impossible to know. You would have to check every possibility.</p>

CC BY-SA 3.0
2017-10-11T12:42:54.117Z
Thanks, that makes sense to me intuitively, but do you know of any way to prove it?
Loourr
CC BY-SA 3.0
2017-10-11T14:22:42.117Z
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
CC BY-SA 3.0
2017-10-11T17:47:24.203Z
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
CC BY-SA 3.0
2017-10-11T18:00:50.907Z
I don't use Ethereum or study it, so I don't know.
Ava Chow
CC BY-SA 3.0
2017-10-11T02:16:26.837Z
2017-10-11T02:16:26.837Z
Ava Chow
<p>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? </p>

<address><public-key><bip32-hd-wallets>
Is it possible to check if an Address was generated from an HD Public Key.
Loourr
# Is it possible to check if an Address was generated from an HD Public Key.

(Asked by: username_0 on 2017-10-11)

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?

**Tags:** address, public-key, bip32-hd-wallets


---

## 1 answers

### Answer by username_1 on 2017-10-11. Score: 2 | Accepted answer

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

> **Comments:**
> **username_0**: Thanks, that makes sense to me intuitively, but do you know of any way to prove it?  
> **username_1**: 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.  
> **username_0**: 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?  
> **username_1**: I don't use Ethereum or study it, so I don't know.  

---

