<p>An FPGA can do anything, by definition (Field Programmable Gate Array) they can run any bitstream you care to write for a specific task. The BIP0032 wallets you're thinking of however are 128bit keys with significant key stretching, so not a chance in hell will you ever crack one. That's by design. </p>

CC BY-SA 3.0
2014-02-16T23:46:34.067Z
Yes the entropy of the key is interesting to me... Most of the Bip32 generators come from a source that has less entropy.   Namely 12 words of the English language.      The permeations of that is much less than 2^128 ... But it would be interesting to know the difference in magnitude.
makerofthings7
CC BY-SA 3.0
2014-02-17T00:31:14.783Z
Brainwallet.org has a nice demonstration of how BIP32 works. Select "electrum" and "generate". You can see just how the root key and chain code interact in real time. The written word backup is just another form of encoding the chain code.
user13413
CC BY-SA 3.0
2014-02-17T19:40:52.700Z
@makerofthings7: In order for 12 words to have at least 2^128 bits of entropy, each word would come from a pool of at least 2^(128/12) which is about 2^11. That's only about 2000 words, and there are far more than that in English.
Greg Hewgill
CC BY-SA 3.0
2014-02-17T21:13:51.583Z
There is a list of 2048 "commonly" used words (some are not as common as others), which are used for other protocols (S/Key http://en.wikipedia.org/wiki/S/KEY#Usability ); Since each word has 11 bits of entropy (2^11=2048), 12 words would have 12*11=132 bits of data. If this is like S/Key, this might be 128 bits of data, and a 4-bit checksum. Or it might be all data.
AMADANON Inc.
CC BY-SA 3.0
2014-02-16T20:33:37.260Z
2014-02-16T20:33:37.260Z
user13413
<p>Deterministic keys are based on the sha256 hashing function.  As described in the link below deterministic keys use the same hashing function. </p>

<p><a href="https://en.bitcoin.it/wiki/Deterministic_wallet" rel="nofollow">https://en.bitcoin.it/wiki/Deterministic_wallet</a></p>

<p>Is it possible for an FPGA to be repurposed to quickly find the hashes for poorly chosen keys?</p>

<fpga><bip32-hd-wallets>
Can an FPGA for mining be used to crack deterministic keys?
makerofthings7
# Can an FPGA for mining be used to crack deterministic keys?

(Asked by: username_0 on 2014-02-16)

Deterministic keys are based on the sha256 hashing function. As described in the link below deterministic keys use the same hashing function.

<https://en.bitcoin.it/wiki/Deterministic_wallet>

Is it possible for an FPGA to be repurposed to quickly find the hashes for poorly chosen keys?

**Tags:** fpga, bip32-hd-wallets


---

## 1 answers

### Answer by username_1 on 2014-02-16. Score: 2

An FPGA can do anything, by definition (Field Programmable Gate Array) they can run any bitstream you care to write for a specific task. The BIP0032 wallets you're thinking of however are 128bit keys with significant key stretching, so not a chance in hell will you ever crack one. That's by design.

> **Comments:**
> **username_0**: Yes the entropy of the key is interesting to me... Most of the Bip32 generators come from a source that has less entropy.   Namely 12 words of the English language.      The permeations of that is much less than 2^128 ... But it would be interesting to know the difference in magnitude.  
> **username_1**: Brainwallet.org has a nice demonstration of how BIP32 works. Select "electrum" and "generate". You can see just how the root key and chain code interact in real time. The written word backup is just another form of encoding the chain code.  
> **username_2**: @username_0: In order for 12 words to have at least 2^128 bits of entropy, each word would come from a pool of at least 2^(128/12) which is about 2^11. That's only about 2000 words, and there are far more than that in English.  
> **username_3**: There is a list of 2048 "commonly" used words (some are not as common as others), which are used for other protocols (S/Key http://en.wikipedia.org/wiki/S/KEY#Usability ); Since each word has 11 bits of entropy (2^11=2048), 12 words would have 12*11=132 bits of data. If this is like S/Key, this might be 128 bits of data, and a 4-bit checksum. Or it might be all data.  

---

