A set of tools for brute-forcing Bitcoin private keys. Currently the project requires a CUDA GPU.
Visual Studio 2015
CUDA Toolkit
KeyFinder.exe [OPTIONS] TARGET
Where TARGET is a Bitcoin address
Options:
-d, --device The device to use
-b, --blocks Number of blocks
-t, --threads Threads per block
-p, --per-thread Keys per thread
-s, --start Staring key, in hex
-r, --range Number of keys to search
-c, --compressed Compressed keys (default)
-u, --uncompressed Uncompressed keys
The simplest usage, the keyspace will being at 0, and the CUDA parameters will be chosen automatically
KeyFinder.exe 1FshYsUh3mqgsG29XpZ23eLjWV8Ur3VwH
To start the search at a specific private key, use the -s
option
KeyFinder.exe -s 6BBF8CCF80F8E184D1D300EF2CE45F7260E56766519C977831678F0000000000 1FshYsUh3mqgsG29XpZ23eLjWV8Ur3VwH
Use the -b,
-t
and -p
options to specify the number of blocks, threads per block, and keys per thread.
KeyFinder.exe -b 32 -t 256 -p 16 1FshYsUh3mqgsG29XpZ23eLjWV8Ur3VwH
Use the -r
or --range
option to specify how many keys to search before stopping. For instance, to search up to 1 billion keys from the starting key:
KeyFinder.exe -s 6BBF8CCF80F8E184D1D300EF2CE45F7260E56766519C977831678F0000000000 -r 1000000000
Note:
Integer values can be specified in decimal (e.g. 123
), or in hexadecimal using the 0x
prefix or h
suffix (e.g. 0x1234
or 1234h
)
There are 3 parameters that affect performance: blocks, threads per block, and keys per thread.
blocks: Should be a multiple of the number of compute units on the device. The default is 16 times the number of compute units.
threads: This must be a multiple of 32. The default is 256.
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.