|
1 | 1 | # BitCrack
|
| 2 | + |
| 3 | +A set of tools for brute-forcing Bitcoin private keys. Currently the project requires a CUDA GPU. |
| 4 | + |
| 5 | + |
| 6 | +## Dependencies |
| 7 | + |
| 8 | +Visual Studio 2015 |
| 9 | + |
| 10 | +CUDA Toolkit |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | +## Using the tools |
| 15 | + |
| 16 | +### Usage |
| 17 | +``` |
| 18 | +KeyFinder.exe [OPTIONS] TARGET |
| 19 | +
|
| 20 | +Where TARGET is a Bitcoin address |
| 21 | +
|
| 22 | +Options: |
| 23 | +
|
| 24 | +-d, --device The device to use |
| 25 | +-b, --blocks Number of blocks |
| 26 | +-t, --threads Threads per block |
| 27 | +-p, --per-thread Keys per thread |
| 28 | +-s, --start Staring key, in hex |
| 29 | +-r, --range Number of keys to search |
| 30 | +``` |
| 31 | + |
| 32 | +### Examples |
| 33 | + |
| 34 | + |
| 35 | +The simplest usage, the keyspace will being at 0, and the CUDA parameters will be chosen automatically |
| 36 | +``` |
| 37 | +KeyFinder.exe 1FshYsUh3mqgsG29XpZ23eLjWV8Ur3VwH |
| 38 | +``` |
| 39 | + |
| 40 | +To start the search at a specific private key, use the `-s` option |
| 41 | + |
| 42 | +``` |
| 43 | +KeyFinder.exe -s 6BBF8CCF80F8E184D1D300EF2CE45F7260E56766519C977831678F0000000000 1FshYsUh3mqgsG29XpZ23eLjWV8Ur3VwH |
| 44 | +``` |
| 45 | + |
| 46 | + |
| 47 | +Use the `-b,` `-t` and `-p` options to specify the number of blocks, threads per block, and keys per thread. |
| 48 | +``` |
| 49 | +KeyFinder.exe b 32 -t 256 -p 16 1FshYsUh3mqgsG29XpZ23eLjWV8Ur3VwH |
| 50 | +``` |
| 51 | + |
| 52 | + |
| 53 | + |
| 54 | +## Choosing the right CUDA parameters |
| 55 | + |
| 56 | +There are 3 parameters that affect performance: blocks, threads per block, and keys per thread. |
| 57 | + |
| 58 | + |
| 59 | +blocks: Should be a multiple of the number of compute units on the device. The default is 16 times the number of compute units. |
| 60 | + |
| 61 | +threads: This must be a multiple of 32. The default is 256. |
| 62 | + |
| 63 | +Keys per thread: The performance (keys per second) increases asymptotically with this value. The default is 16. Increasing this value will cause the kernel to run longer. |
0 commit comments