I need a program that does Bitcoin and Ethereum hashing operations and then compares result to Bloom Filter, all done on GPU (using CPU only for output and input value incremention).
NB : For a considerable time gain, this project can be tailored to my requirements:
Gitub project: [login to view URL]
For Ethereum :
- Private Key with Sequental Decrementing Mode (brute force, using the new Keccak256 algorithme )
- Dictionary Attack for MyEtherWallet Algorithme ([login to view URL])
There is a similar program but does not work on GPUs and the actual Ethereum algorithm (keccak256) does not work !
Use secp256k1 (Opencl) elliptic curve for point generation (ECDSA keypair), so the steps that program should do looks tomething like this:
1) Get private key in ECDSA hex format (first value given at input)
2) Keep public keys corresponding this private key (compressed and uncompressed format)
3) Perform SHA-256 hashing on compressed and uncompressed public key
4) Perform RIPEMD-160 hashing on each of the results of SHA-256
5) Check results against given bloom filter, if it's a match - output in format "private key::hash160 (compressed or uncompressed)"
6) Increment private key by 1, then repeat operations until private key reaches second value given at input
7) Program should be able to split given work on multiple GPUs (if more than one present in system)
The main goal is a speed of hashing and bloom filter-checking, I need something not lower than 10-15 Mkeys/s, bottleneck is a bloom filter, so it should be kept in GPU memory.
Something to start with is inside included cl file (kernels for modification).
Preferred platform Linux 64 BIT (can be multiplatform, but Linux is must-have)
GPU platform - AMD (NVIDIA support would be a plus)
I need it for my personal research project.
Please let me know,
For GPU computing optimization, indicative, the following libraries could be used: