Giter Club home page Giter Club logo

bitcrack's People

Contributors

brichard19 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bitcrack's Issues

Finding public keys

Very much would not prevent the functionality of searching only public keys, without converting them to addresses. This is not a complex functional, as it will only require checking before sha256 and ripemd160 hashing occurs.
I tried simply to comment on the conversion execution block in KeyFinder::verifyKey and further verification, putting the test always returns false, but after initialization, the verification of these points begins and after nothing changes, gpu ceases to be used. Cpu does something actively.

error or not in "-i" functions

Hi. i use 1 file in old version and in new version. In old version my check address founds, in new version they dont founds. its error? or what i need do?
Last new version:
C:\Users\axelx\Downloads\bitcrack>bitcrack64 -d 0 -c -u -i 2.txt -o foud.txt
[2018-08-30.18:30:02] [Info] Compression: both
[2018-08-30.18:30:02] [Info] Starting at: 0000000000000000000000000000000000000000000000000000000000000001
[2018-08-30.18:30:02] [Info] Loading addresses from '2.txt'
[2018-08-30.18:30:02] [Info] 5,640 addresses loaded (0.1MB)
[2018-08-30.18:30:02] [Info] Initializing GeForce GTX 950M
[2018-08-30.18:30:03] [Info] Generating 655,360 starting points (25.0MB)
[2018-08-30.18:30:03] [Info] 10.0%
[2018-08-30.18:30:04] [Info] 20.0%
[2018-08-30.18:30:04] [Info] 30.0%
[2018-08-30.18:30:04] [Info] 40.0%
[2018-08-30.18:30:05] [Info] 50.0%
[2018-08-30.18:30:05] [Info] 60.0%
[2018-08-30.18:30:05] [Info] 70.0%
[2018-08-30.18:30:06] [Info] 80.0%
[2018-08-30.18:30:06] [Info] 90.0%
[2018-08-30.18:30:07] [Info] 100.0%
[2018-08-30.18:30:07] [Info] Done
[2018-08-30.18:30:07] [Info] Allocating bloom filter (0.1MB)
GeForce GTX 950M 738/4096MB | 5640 targets 19.36 MKey/s (243,793,920 total) [00:00:10]

Old version - Dynamic bloom filter
@brichard19 brichard19 released this 29 days ago · 7 commits to master since this release:::
C:\Users\axelx\Downloads\bitcrack>bitcrack64 -d 0 -c -u -i 2.txt -o foud.txt
Compression: both
Starting at: 0000000000000000000000000000000000000000000000000000000000000001
Initializing...
Address: 1PT3V1oskgrTzJH4fRBS4ouhjqSeiyc6Ei
Private key: 0000000000000000000000000000000000000000000000000000000000015000
Compressed: no
Public key: BFA47D6846AE0E3CF57C997ED0685024B73A59C487421259D74B982C1396B356
D4E4655D86BC4C9814C4FC78695161B5B0D7E8356300E5E536E0AF856FCB9539

Address: 1AJHxq6hrG3CACiQkVmPnHPMHnEBc7gHC7
Private key: 0000000000000000000000000000000000000000000000000000000000015000
Compressed: yes
Public key: 03BFA47D6846AE0E3CF57C997ED0685024B73A59C487421259D74B982C1396B356

Address: 1ALzdcL46rMb7Cfb9YuMp4F28YJaz2jemT
Private key: 0000000000000000000000000000000000000000000000000000000000016000
Compressed: yes
Public key: 0234FB8C783298D92077473E53B24AEC49ECCD818BC4180FACF5624D60715F8407

Address: 1LbGyuYV6BgBv6LLf7jdHUfu98YmTZ4LqE
Private key: 0000000000000000000000000000000000000000000000000000000000005000
Compressed: no
Public key: 1C71C5B48E9749D70573C58C4A82EB1E2587F1C16B1352FDB0143E71E465A930
4A91C334E8F5FA0C2713F1F2824BB68C79345E3FB7174D471D873F6CC34638B5
GeForce GTX 950M 738/4096MB | 5636 targets 19.72 MKey/s (214,302,720 total) [00:00:09]

Frozen process

Sometimes the work of the application is frozen, for example I launched 2 video cards, I go on the trail. day into the system, and processes hang and do nothing, time in each window costs 2 hours, although much more time has passed. I press enter in each window, the process unfreezes and works further. I do not know if this is related to lowering the priority to cpu for processes, but here's the error.

I monitor the system using zabbix so I attach 2 reports, one on which you see a drop and raise the work, after pressing Enter in the window, the other with the ditalization in an hour, at the time of the fall.

1:
1hour-screen

2:
24hour-screen

2017 ...

does this run in 2017 VS? i see the errors being thrown for some of the sections...
so.. cuda 8 is not supported in vs2017 -- any help on this appreciated
and the keyloader lib failed to load...

-keyloader lib fail
-cuda math not present
which are interlinked.. not sure how to add cuda 8 or use cuda 9 instead.

---nvm instlalled 2015 cuda etc...but still unsure ,, email [email protected] thx,

Tesla P100 , Error: invalid device symbol Exiting

here some need help
./cudainfo
Found 1 devices

ID: 0
Name: Tesla P100-PCIE-16GB
Capability: 6.0
MP: 56
Cores: 3584 (64 per MP)
Memory: 16280MB
ERROR after run Bitcrack

./BitCrack -u 1Pzxbxz9Lfcgd3cJZ4XsEraARE1FhVbCCe
[2018-09-20.06:59:59] [Info] Compression: uncompressed
[2018-09-20.06:59:59] [Info] Starting at: 0000000000000000000000000000000000000000000000000000000000000001
[2018-09-20.06:59:59] [Info] Initializing Tesla P100-PCIE-16GB
[2018-09-20.06:59:59] [Info] Generating 7,340,032 starting points (280.0MB)
[2018-09-20.07:00:00] [Info] Error: invalid device symbol Exiting.

2nd ERROR

./BitCrack -b 32 -t 256 -p 16 1FshYsUh3mqgsG29XpZ23eLjWV8Ur3VwH
[2018-09-20.07:02:49] [Info] Compression: compressed
[2018-09-20.07:02:49] [Info] Starting at: 0000000000000000000000000000000000000000000000000000000000000001
[2018-09-20.07:02:49] [Info] Initializing Tesla P100-PCIE-16GB
[2018-09-20.07:02:49] [Info] Generating 131,072 starting points (5.0MB)
[2018-09-20.07:02:49] [Info] Error: invalid device symbol Exiting.

machine is linux strech 9 , pytorch, cuda toolkit 9.2 installed
GPU info on top

ANY Guideline where is problem ?

Test finding one private key

Hello! Thank you for the software!

I would like to know how can I test (simulate) finding one private key.
For example, I know both the private key:"12345F..." and the respective BTC address:"ABC1...".
Can I find the private key by searching for the key of that address:"ABC1..." starting the search on "12345F..." privkey ?

Support for P2SH and Bech32 address formats

Hi,

It would be great if you could add support for P2SH and Bech32 addresses:

./bin/BitCrack -c -u -b 32 -t 256 -p 16 **37MjbLkd2APTbuBjsGf2MCrk4Hn9LJSFSw**
[2018-09-18.08:42:56] [Info] Compression: both
[2018-09-18.08:42:56] [Info] Starting at: 0000000000000000000000000000000000000000000000000000000000000001
[2018-09-18.08:42:57] [Info] Error: Invalid address '37MjbLkd2APTbuBjsGf2MCrk4Hn9LJSFSw' Exiting.
./bin/BitCrack -c -u -b 32 -t 256 -p 16 **bc1qgtwvwgmd04ltyhxaee4xgzwplhtywe2vqmtcpv**
[2018-09-18.08:42:30] [Info] Compression: both
[2018-09-18.08:42:30] [Info] Starting at: 0000000000000000000000000000000000000000000000000000000000000001
[2018-09-18.08:42:31] [Info] Error: Invalid address 'bc1qgtwvwgmd04ltyhxaee4xgzwplhtywe2vqmtcpv' Exiting.

Thanks!

Generating secret exponent list by passwords list dictionary

I have a huge passwords list 170gb.

Please teach BitCrack to generate hash256 (secret exponent) list by passwords from huge dictionary.

Instead of using 0000000000000000000000000000000000000000000000000000000000000001 + 1 method or other.

Stop and continue

Add functionality to stop the program during processing and re-start the program, continuing where it left off.

  • Write checkpoint to disk every X seconds?

Not right working with lot of threads specified

BitCrack hacks 202M hashes per second on GTX 1080 with -p 1024 (threads)
But really it doesn't.

I tested it on same targets with -p 128 and found 5 keys.
But cracking speed with 128 threads is 89M hashes per second.

image

hi

how to use the -r, --range parameter ,show an example

Is it possible to increase productivity?

As far as I understand, at the moment, the BitCrack program converts the private key to the full address and compares it with the list of addresses. This action consists of 9-10 steps.
Is it possible in this program to increase productivity by reducing the number of steps to 3 or 4 using the following scheme:

  1. Using a separate utility, convert the address list to RIPEMD-160 from the file addr.txt to the file out.txt
  2. When starting BitCrack instead of the address list, use the RIPEMD-160 list.
  3. The BitCrack program takes the specified key, converts it to RIPEMD-160 and compares it with the list obtained in paragraph 1 of this scheme.

some issues / max --i files per line?

Hello,
what is the max lines in the adress file?

What happend wenn i use the last priv key FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140 ?
Will BitCrack start all over again?

Config file to store default settings

-BitCrack.exe should read a configuration file containing default values for:

  • Number of blocks/threads, points per thread
  • Starting key
  • Device

It might be useful to specify a default device in the config file, and also have per-device configurations.

How do I use this?

Hey there, I downloaded your file, how do I use it? Do you need specific software for it?

AMD

please add AMD cards support

[Question] regarding difference between the ECDSA computation process in the initializing base points process and doIteration

Greetings @brichard19,

I am a beginner in both CUDA, C++ and Crypto operations and would appreciate if you could clarify some things.

I have been going through this repo. There are some fundamental concepts that I lack understanding in; what is the difference between the initial basepoint computation and the doIteration computation? More specifically, how come initializing is so much slower than iteration generation (even with the latest shift from the CPU to the GPU)? From my understanding you initialize base points, pass them to the GPU(s) - each individual thread in the grid will increment their base point. Upon incrementing in the doIteration computation you check to see if the new point is equal to the provided address.

  1. How are you checking in the doIteration process without multiplying the point by the secp256k1 curve constant like you do in the addrGen repo (secp256k1::ecpoint p = secp256k1::multiplyPoint(k, secp256k1::G());)?

  2. Why is the hash digest only 8 bytes when it should be 32 bytes (since it's SHA256)?

I am trying to feed custom private keys into your repo from a wordlist much like Brainflayer (https://github.com/ryancdotorg/brainflayer) but running on CUDA. I have been able to do so on a CPU using your AddrGen repo by hashing the wordlist password, converting to BIGNUM then loading into secp256k1::uint256 and preforming all the other crypto operations.

libsecp256k1 side channel code fix

How about this eprint.iacr.org/2016/103.pdf
"Speed Optimizations in Bitcoin Key Recovery Attacks"
(disable side channel code -> speed+ )

Ryan do it in last release github.com/ryancdotorg/brainflayer
(also see github.com/llamasoft/secp256k1_fast_unsafe)

good question, is whether ecmultab will be effective on gpu as well as on cpu,
ie (as I understand it) effective memory access vs. real multiplication

The project

The project very much.Brutus is now running.How will findings from you I will send a prize,write the address of BTK.On one machine a long time to sort out .If there is a distributed version via the Internet ,I will be able to attract many miners from GPU and sponsors.

40xTesla V100

Does it make sense to search with so many such video cards? Or is it still a utopia? Give your recommendations

Migrate to VS2017 and CUDA SDK 9.2

Currently building with Visual Studio 2015 and CUDA 8.0. Migrate to VS2017 and CUDA 9.2

  • Note that Fermi architecture is deprecated in CUDA 9 SDK.

Optimzied CPU implementation

Modern CPUs have many cores which have fast 64-bit integer multipliers, so it might be worthwhile to target modern x86-64 CPUs.

  • Use SHA extensions? (Available since Ryzen, not sure about the Intel side)
  • Hashing using SIMD instructions (SSEx, AVX, etc)

32btk

bitcointalk.org/index.php?topic=1306983.320
the guys ahead of me and broke all my many months of effort in 16 seconds...how did they manage? hide this question

Brainwallet function

before a month peoples look a bainwallet function , load there wordlist > hash256 > (verify address )
brainflayer already exist for this but not for GPU based testing,
in short every one looking brainwallet function in BitCrack as its fast checking on GPU
Hope you take an action about this function
any programmer can explain here about this subject more
thankx

hello

how i can contact you

Multigpu mode

It's not enough to run one instance of the program at once to several gpu, you have to make a bat file on each video card, and this essentially selects the resources of the CPU processor.

Ubuntu

How compille and run on Ubuntu 16.04. Help me please

Error initializing device

C:\Users\Jose\Downloads\BitCrack-master\x64\Release2>BitCrack64 -i Addresstop.txt -c -u -s 3000000000000000000000000000000000000000000000000000000000000000 -o res.txt
Device: GeForce GT 740M
Targets: 10
Compression: both
Starting at: 3000000000000000000000000000000000000000000000000000000000000000
6.22 MKey/s (56,370,135,040 total) [02:29:49]Error: Error initializing device

C:\Users\Jose\Downloads\BitCrack-master\x64\Release2>BitCrack64 -i Addresstop.txt -c -u -s 3000000000000000000000000000000000000000000000000000000D1FEC0000 -o res.txt
Device: GeForce GT 740M
Targets: 10
Compression: both
Starting at: 3000000000000000000000000000000000000000000000000000000D1FEC0000
6.26 MKey/s (56,366,727,168 total) [02:29:48]Error: Error initializing device

CPU priority support

Good afternoon!

I wanted first of all to express my gratitude that I realized a quick initialization! Thank you!

The task of the other, if I run several GPUs before the CPU load is 100%, I have in 2-5 hours, the server ceases to just answer, I have to restart. So, I put the same number of GPUs for CPU processes lower than normal and such failures were not observed. It would be nice to add a parameter that lowers the CPU priority, well, or downgrade it, unless of course this will not affect the performance.

Enhancement - Absolute Random Number generation

Hi brichard19, thanks for your ultimate program.
Looking at a absolute random number generation at every key we search. Currently it increments instead or along with the increment one more parameter to take random keys for every key generated would be really wonderful feature.

Thanks in advance!..

Your program has many issues with building it?

Every time I download your new updates and try to build the program in Visual Studio 2017, it has so many issues and does not build the actual Bitcrack64 program itself. I always have to go in and run a code analysis and fix the shit myself. If I try to build the program in Visual studio 2015, it gives me some fucking error with running windows 10 and program is built for 8. Its dumb as shit, can you help me out?

program exit

the program exit and end when I load 2999 address from file, work good if load 2500 addresses:

C:\Users\Jose\Downloads\BitCrack-master\x64\Release2>BitCrack64 -i addresstemp.txt -c -u
Device: GeForce GT 740M
Targets: 2999
Compression: both
Starting at: 0000000000000000000000000000000000000000000000000000000000000001
Initializing...
C:\Users\Jose\Downloads\BitCrack-master\x64\Release2>

Not working with 12Gb targets list

I have 64Gb RAM. When I try to load more than 700Mb targets list BitCrack doesn't work after trying to load it to memory.

12Gb targets list is loading to memory by BitCrack for 5 minutes and eats 28Gb of memory.

BitCrack tryies but then stops working))

Multi-GPU support

Support for one instance of the program using more than 1 GPU.

  • Divide the search space among the devices
  • Individual config (threads, blocks, points per thread etc) per device
  • Display per-device status information

For those of you having troubles building the program like me!

For those of you having troubles building the program like me because you have windows 10/visual studio 2017 and your CUDA 8.0 props are all messed up, then this your solution to helping with that.

GO TO LINK BELOW

https://www.olegtarasov.me/how-to-build-cuda-toolkit-projects-in-visual-studio-2017/

Note that in the first photo, the menu he is in, is the Visual Studio Installer. open that up, update it, and go to modify visual studio 2017 and follow his steps in the article.

Caught cudaException

On the last release, during the work of one of the cards, everything stopped at this error:

GeForce GTX 1080 5899/11264MB | 1 target 333.77 MKey/s (1,125,157,175,296 total) [00:54:45]Kernel error
Caught cudaException

How to treat it and how to work with it?

Increment chnages

i am looking increment changes as per switch, by default its uses +1
example
BitCrack.exe -s 6BBF8CCF80F8E184D1D300EF2CE45F7260E56766519C977831678F0000000000 1FshYsUh3mqgsG29XpZ23eLjWV8Ur3VwH
next is BitCrack.exe -s 6BBF8CCF80F8E184D1D300EF2CE45F7260E56766519C977831678F0000000001 1FshYsUh3mqgsG29XpZ23eLjWV8Ur3VwH
what i am looking user assign switch for increment add
example
BitCrack.exe -s 6BBF8CCF80F8E184D1D300EF2CE45F7260E56766519C977831678F0000000000 1FshYsUh3mqgsG29XpZ23eLjWV8Ur3VwH
then +500 increment
BitCrack.exe -s 6BBF8CCF80F8E184D1D300EF2CE45F7260E56766519C977831678F0000000501 1FshYsUh3mqgsG29XpZ23eLjWV8Ur3VwH

next +500 increment add into hex, not in digit

any solution

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.