Pages:
Author

Topic: Keyhunt - development requests - bug reports - page 20. (Read 14735 times)

newbie
Activity: 48
Merit: 0
Code:
[+] Version 0.2.211222 SSE Server Edition ,modify Dusky Kam 3,compiled by @XopMC for t.me/brythbit, developed by AlbertoBSD, developed by AlbertoBSD
[+] Random mode
[+] K factor 4096
[+] Quiet thread output
[+] Threads : 50
[E] Unknow opcion -p
[+] Mode BSGS random
[+] Opening file 4000.txt
[+] Added 1 points from file
[+] Bit Range 256
[+] -- from : 0x8000000000000000000000000000000000000000000000000000000000000000
[+] -- to   : 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
[+] N = 0x100000000000
[+] Bloom filter for 17179869184 elements : 58890.60 MB
[+] Bloom filter for 536870912 elements : 1840.33 MB
[+] Bloom filter for 16777216 elements : 57.51 MB
[+] Allocating 256.00 MB for 16777216 bP Points
[+] processing 17179869184/17179869184 bP points : 100%
[+] Making checkums .. ... done
[+] Sorting 16777216 elements... Done!
[+] Total 21063423857946682982400 keys in 18450 seconds: ~1 ExaKeys/s (1141648989590606123 keys/s)

In random mode, how often does the range change ? Can we set the parameter somehow ?
newbie
Activity: 48
Merit: 0
I tested via Windows 10 and all modes work.

Code and exe files are on github.

Thank you so much

Hey WanderingPhilospher , how do You run Your version on win 10? , using standard command promp in Win gives missing libraries errors, complete Linux noob here btw  Huh

Try this one instead doesn't give errors https://github.com/XopMC/keyhunt-win

Thanks!!!
full member
Activity: 706
Merit: 111
I tested via Windows 10 and all modes work.

Code and exe files are on github.

Thank you so much

Hey WanderingPhilospher , how do You run Your version on win 10? , using standard command promp in Win gives missing libraries errors, complete Linux noob here btw  Huh

Try this one instead doesn't give errors https://github.com/XopMC/keyhunt-win
newbie
Activity: 48
Merit: 0
I tested via Windows 10 and all modes work.

Code and exe files are on github.

Thank you so much

Hey WanderingPhilospher , how do You run Your version on win 10? , using standard command promp in Win gives missing libraries errors, complete Linux noob here btw  Huh
full member
Activity: 706
Merit: 111
albert0bsd, would it be better to use a .bin than a .blm to store the public keys?
That shouldn't effect the overall speed.
hero member
Activity: 862
Merit: 662
a probably stupid question, but is it actually possible to mine Bitcoin using BSGS algorithm? If not possible, why not?

Is not possible.

Because Mining for bitcoin is a proof of work with sha256.

BSGS is only an algorithm for computing discrete logarithms on elliptic curve.

If you want to know more about it please READ the next two links:

https://andrea.corbellini.name/2015/06/08/elliptic-curve-cryptography-breaking-security-and-a-comparison-with-rsa/

https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch04.html
jr. member
Activity: 37
Merit: 1
Hello Albert0bsd,

a probably stupid question, but is it actually possible to mine Bitcoin using BSGS algorithm? If not possible, why not?

much regards!
jr. member
Activity: 70
Merit: 1
Yes in a perfect bsgs that is the amount:

(2^120)^(1/2) = 1152921504606846976 = 2^60

But just make the calculations how many memory is necessary to store 2^60 of precalculated data using 20 bytes per item in the bloom filter and hashtable:

20971520 Terabytes of RAM

And that is only the first part (Baby steps) we need to iterate over the other half 2^60 to make subtractions of the publickey with our current range (Giant step).



test.txt
Code:
./keyhunt -m bsgs -f 120 -r 7357a4501ddfe92f46681b20a0:d576e7357a4501ddff92f46681b20ff
./keyhunt -m bsgs -f 120 -r 3fffffffffffffffffffffffffffffff:3fffffffffffffffffffffffffffffffaeaff
./keyhunt -m bsgs -f 120 -r bfffffffffffffffffffffffffffffff0c0325ad0376782ccfddc6e99c28b0f0:bfffffffffffffffffffffffffffffff0c0325ad0376782cffddc6e99c28b0ff
etc...
etc..
etc..

hi guys, how to run my test.txt because, every time i copy past and Run ./keyhunt
small update please,once range complete open my test.txt and run the next range
understand my problom ,sorry i speak little english

so, please tell how to run one by one my custom range>>>my test.txt

any python method to run ./keyhunt
hero member
Activity: 862
Merit: 662
Yes in a perfect bsgs that is the amount:

(2^120)^(1/2) = 1152921504606846976 = 2^60

But just make the calculations how many memory is necessary to store 2^60 of precalculated data using 20 bytes per item in the bloom filter and hashtable:

20971520 Terabytes of RAM

And that is only the first part (Baby steps) we need to iterate over the other half 2^60 to make subtractions of the publickey with our current range (Giant step).

full member
Activity: 706
Merit: 111
How many keys do you have to go through to solve puzzle #120 with BSGS, is it 2^60?
hero member
Activity: 862
Merit: 662
1. How to split the private key into parts and brute through it in parts?

I will explain this one using only privatekeys. But remember that those calculations depend only if you already have the TARGET PUBLICKEY. if you don't have the publickey this example doesn't apply.

Lets to asume that we have the key like you example:
Code:
e3b0c44****c1c149afbf4c8996fb****7ae41e4649b934c****991b7852b855

We divide it in two parts, most significative bytes and less significative bytes.

Part 1 less significative bytes:

Code:
**7ae41e4649b934c****991b7852b855

We calculate and store the publickeys  from

Code:
007ae41e4649b934c0000991b7852b855
to

Code:
ff7ae41e4649b934cffff991b7852b855

In this example is 2^24 publickeys (16777216 publickey) this can be done in seconds, this part is the precalculated data it can be more but all depend of how much memory do you have.

now the second part:
Code:
e3b0c44****c1c149afbf4c8996fb**

This part must be brute force from

Code:
e3b0c440000c1c149afbf4c8996fb00

to

Code:
e3b0c44ffffc1c149afbf4c8996fbff

We need to add the remaining bytes filled as ZERO

Example:

Code:
e3b0c440000c1c149afbf4c8996fb00000000000000000000000000000000000
e3b0c440000c1c149afbf4c8996fb01000000000000000000000000000000000
e3b0c440000c1c149afbf4c8996fb02000000000000000000000000000000000
e3b0c440000c1c149afbf4c8996fb03000000000000000000000000000000000
...
e3b0c44ffffc1c149afbf4c8996fbff000000000000000000000000000000000

We need to calculate each of those public key, this is again 2^24 public keys to be calculate.
For EACH of those "TEMP PUBLICKEY" values we need to do a Public keys subtraction

Code:
NEW PUBLICKEY = TARGET PUBLICKEY - TEMP PUBLICKEY 

Now we need to compare the NEW PUBLICKEY against our precalcualted data if there is a match then we only need to concatenate or Add our partials privatekey to get the real one.

Example, lets to say that the TARGET PRIVATEKEY is e3b0c441234c1c149afbf4c8996fb56ab7ae41e4649b934ccdef991b7852b855

In that case in some point our subtraction  will be something like this:

Code:
ab7ae41e4649b934ccdef991b7852b855 = e3b0c441234c1c149afbf4c8996fb56ab7ae41e4649b934ccdef991b7852b855 - e3b0c441234c1c149afbf4c8996fb56000000000000000000000000000000000

If there is a match our privatekey will be:

Code:
ab7ae41e4649b934ccdef991b7852b855  + e3b0c441234c1c149afbf4c8996fb56000000000000000000000000000000000

maybe there are ready-made solutions

NO, there is no public program that do that actually, because those examples of missing characters are unlikely to happen.

2. How to brute a private key with missing characters together?

Is exactly the same but with the advantage that we can use BSGS at full capacity
member
Activity: 174
Merit: 12
My idea is precalculate this part: **7ae41e4649b934c****991b7852b855 and just brute force the second.
if all the missing characters were together then it can be solved with BSGS in seconds

Can you explain (maybe there are ready-made solutions):
1. How to split the private key into parts and brute through it in parts?
2. How to brute a private key with missing characters together?
hero member
Activity: 862
Merit: 662
Is the search range for BSGS n/2 right? and not like xpoint mode when you have to search the whole range?

The range is the range that you specify with the  -r from:to parameter or the bit range with  -b bit

I have 2 questions if my keys is 0 is it still generating keys or what? I know about using a lot keys slows the speed down

The program should work fine the problem with the speed of 0 keys/s is because the number of key already scanned only get update when the BSGS process end one cycle complete with all the publickeys depending of your CPU speed, RAM bus, and number of publickey it may take a lot of time in some cases but the speed should be good.

Recomendations:
- Don't use SWAP memory
- Don't use Virtualized OS
- Don't use windows version
full member
Activity: 706
Merit: 111
Where or who has the BSGS that can search for multiple public keys?

Check my tweet:

https://twitter.com/albertobsd/status/1491653063882383362

I tested One million of publickey with a speed of 40 Gigakeys/s with only 4threads and 22 Gigabytes of RAM used

Oh so you already had the bsgs that could search multiple keys.

I have 2 questions if my keys is 0 is it still generating keys or what? I know about using a lot keys slows the speed down

Is the search range for BSGS n/2 right? and not like xpoint mode when you have to search the whole range?
hero member
Activity: 862
Merit: 662
Where or who has the BSGS that can search for multiple public keys?

Check my tweet:

https://twitter.com/albertobsd/status/1491653063882383362

I tested One million of publickey with a speed of 40 Gigakeys/s with only 4threads and 22 Gigabytes of RAM used
full member
Activity: 706
Merit: 111
Where or who has the BSGS that can search for multiple public keys?
hero member
Activity: 862
Merit: 662

Wow i never heard about it, 30 missing characters and no publickey.

16^30 = 1329227995784915872903807060280344576

That is 120 bits complexity, and there is no publickey available.

Please Forget that puzzle is infeasible. We still can't solve Puzzle 64 bits  (this is 16 missing characters)

For sure any gap is a complication and I think brute-forcing the key from puzzle requires a dedicated program, relying on existing solutions requires too many additional assumptions.

I agree with that, that kind of missing distribution require a specialized program.
member
Activity: 174
Merit: 12
I think PrivatePerson is referring to that topic...
Over time, the number of unknown characters will decrease.
legendary
Activity: 952
Merit: 1385
My idea is precalculate this part: **7ae41e4649b934c****991b7852b855 and just brute force the second.

I think PrivatePerson is referring to that topic: https://bitcointalksearch.org/topic/bitcoin-alpha-challenge-81585631744-btc-5385235
For sure any gap is a complication and I think brute-forcing the key from puzzle requires a dedicated program, relying on existing solutions requires too many additional assumptions.
hero member
Activity: 862
Merit: 662
I wanted to know 2^24 precalculated keys, is that the maximum precalculated keys that would fit in the hashtable/bloomfilter or could you add more than that?

The only limit is the RAM, near 28-29 bits per element in the bloom filter and some 10 bytes per item in an Array to do binary search, this is near to 14 bytes per item in total.

I say 24 bits of precalculated data and 24 for cracking because the way that the missing characters are distributed in the user example:

Code:
e3b0c44****c1c149afbf4c8996fb****7ae41e4649b934c****991b7852b855

My idea is precalculate this part: **7ae41e4649b934c****991b7852b855 and just brute force the second.

if all the missing characters were together then it can be solved with BSGS in seconds

Pages:
Jump to: