Pages:
Author

Topic: Pollard's kangaroo ECDLP solver - page 78. (Read 60698 times)

newbie
Activity: 23
Merit: 0
December 28, 2020, 04:16:30 PM
I want to test this on a private key I already know. How do I set up the in.txt file if I wanted to use 90% of the key, but change the last to 00000000 through FFFFFFFF?

The start and the end ranges of the key go in the first and second lines of the input file respectively, and you change the last digits of the range to your start and end keys.

Here Jean_Luc has an uncompressed and compressed public key on the third and fourth lines. You can use either as long as you type it after the range.

Structure of the input file:

All values are in hex format
Public keys can be given either in compressed or uncompressed format
Start range
End range
Key #1
Key #2
...
ex

Code:
49dccfd96dc5df56487436f5a1b18c4f5d34f65ddb48cb5e0000000000000000
49dccfd96dc5df56487436f5a1b18c4f5d34f65ddb48cb5effffffffffffffff
0459A3BFDAD718C9D3FAC7C187F1139F0815AC5D923910D516E186AFDA28B221DC994327554CED887AAE5D211A2407CDD025CFC3779ECB9C9D7F2F1A1DDF3E9FF8
0335BB25364370D4DD14A9FC2B406D398C4B53C85BE58FCC7297BD34004602EBEC

Yes this is exactly what I did but was not finding it. Lots of dead kangaroos and it just kept running even though it should have taken less than a few seconds? I only had 000000 - FFFFFF at the end
Would have to see your key and range (and possibly your command line info) to verify that you didn't load something wrong or if in fact the program didn't find a key it should have.


Nevermind I was using the wrong private key. Is there a reason https://iancoleman.io/bitcoin-key-compression/ doesn't list the private key in HEX format?
full member
Activity: 1232
Merit: 242
Shooters Shoot...
December 28, 2020, 11:55:43 AM
I want to test this on a private key I already know. How do I set up the in.txt file if I wanted to use 90% of the key, but change the last to 00000000 through FFFFFFFF?

The start and the end ranges of the key go in the first and second lines of the input file respectively, and you change the last digits of the range to your start and end keys.

Here Jean_Luc has an uncompressed and compressed public key on the third and fourth lines. You can use either as long as you type it after the range.

Structure of the input file:

All values are in hex format
Public keys can be given either in compressed or uncompressed format
Start range
End range
Key #1
Key #2
...
ex

Code:
49dccfd96dc5df56487436f5a1b18c4f5d34f65ddb48cb5e0000000000000000
49dccfd96dc5df56487436f5a1b18c4f5d34f65ddb48cb5effffffffffffffff
0459A3BFDAD718C9D3FAC7C187F1139F0815AC5D923910D516E186AFDA28B221DC994327554CED887AAE5D211A2407CDD025CFC3779ECB9C9D7F2F1A1DDF3E9FF8
0335BB25364370D4DD14A9FC2B406D398C4B53C85BE58FCC7297BD34004602EBEC

Yes this is exactly what I did but was not finding it. Lots of dead kangaroos and it just kept running even though it should have taken less than a few seconds? I only had 000000 - FFFFFF at the end
Would have to see your key and range (and possibly your command line info) to verify that you didn't load something wrong or if in fact the program didn't find a key it should have.
newbie
Activity: 23
Merit: 0
December 28, 2020, 11:24:32 AM
I want to test this on a private key I already know. How do I set up the in.txt file if I wanted to use 90% of the key, but change the last to 00000000 through FFFFFFFF?

The start and the end ranges of the key go in the first and second lines of the input file respectively, and you change the last digits of the range to your start and end keys.

Here Jean_Luc has an uncompressed and compressed public key on the third and fourth lines. You can use either as long as you type it after the range.

Structure of the input file:

All values are in hex format
Public keys can be given either in compressed or uncompressed format
Start range
End range
Key #1
Key #2
...
ex

Code:
49dccfd96dc5df56487436f5a1b18c4f5d34f65ddb48cb5e0000000000000000
49dccfd96dc5df56487436f5a1b18c4f5d34f65ddb48cb5effffffffffffffff
0459A3BFDAD718C9D3FAC7C187F1139F0815AC5D923910D516E186AFDA28B221DC994327554CED887AAE5D211A2407CDD025CFC3779ECB9C9D7F2F1A1DDF3E9FF8
0335BB25364370D4DD14A9FC2B406D398C4B53C85BE58FCC7297BD34004602EBEC

Yes this is exactly what I did but was not finding it. Lots of dead kangaroos and it just kept running even though it should have taken less than a few seconds? I only had 000000 - FFFFFF at the end
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
December 28, 2020, 03:28:56 AM
I want to test this on a private key I already know. How do I set up the in.txt file if I wanted to use 90% of the key, but change the last to 00000000 through FFFFFFFF?

The start and the end ranges of the key go in the first and second lines of the input file respectively, and you change the last digits of the range to your start and end keys.

Here Jean_Luc has an uncompressed and compressed public key on the third and fourth lines. You can use either as long as you type it after the range.

Structure of the input file:

All values are in hex format
Public keys can be given either in compressed or uncompressed format
Start range
End range
Key #1
Key #2
...
ex

Code:
49dccfd96dc5df56487436f5a1b18c4f5d34f65ddb48cb5e0000000000000000
49dccfd96dc5df56487436f5a1b18c4f5d34f65ddb48cb5effffffffffffffff
0459A3BFDAD718C9D3FAC7C187F1139F0815AC5D923910D516E186AFDA28B221DC994327554CED887AAE5D211A2407CDD025CFC3779ECB9C9D7F2F1A1DDF3E9FF8
0335BB25364370D4DD14A9FC2B406D398C4B53C85BE58FCC7297BD34004602EBEC
newbie
Activity: 23
Merit: 0
December 27, 2020, 09:00:47 PM
I want to test this on a private key I already know. How do I set up the in.txt file if I wanted to use 90% of the key, but change the last to 00000000 through FFFFFFFF?
newbie
Activity: 49
Merit: 0
December 09, 2020, 04:24:47 AM
Anyone get a pub #64 ?
newbie
Activity: 1
Merit: 0
December 01, 2020, 05:10:13 PM
Can anybody please explain me everything step by step i want to try solve some puzzles with my gtx1080 just for fan i got windows and Ubuntu 18.04 on it
i type
1. sudo apt -get install git - DONE
2. sudo git clone https://github.com/JeanLucPons/Kangaroo.git  - DONE
3. cd Kangaroo - DONE
4. make - DONE
And iam here what to do next ? I got a txt file with BTC Adresses what else should i have and how to transfer this file directly to a program . Thanks a lot 
member
Activity: 73
Merit: 19
December 01, 2020, 02:33:55 PM
-snip-
I have some functions in Python and it runs very slow compared to C.

The sage I want to do with the GPU is as follows
Code:
Pr = 115792089237316195423570985008687907853269984665640564039457584007908834671663

E = EllipticCurve (GF (P), [0,7])
N = E.order ()

G = E(55066263022277343669578718895168534326250603453777594175500187360389116729240,32670510020758816978083085130507043184471273380659243275938904335757337482424) # on E

T = E(26864879445837655118481716049217967286489564259939711339119540571911158650839,29571359081268663540055655726653840143920402820693420787986280659961264797165) # on E

numInt = 5646546546563131314723897429834729834798237429837498237498237489273948728934798237489723489723984729837489237498237498237498237498273493729847

numMod = numInt %N

numInv = pow(numMod ,N-2,N) # detail -> https://stackoverflow.com/questions/59234775/how-to-calculate-2-to-the-power-of-a-large-number-modulo-another-large-number


numMod * G
numMod * T

(T-G) * numInv



print (5*T)
print (2*G)

print (numMod * G)
print (numMod * (-G))

print (numMod * T)
print ((numMod-3) * (T-G))


Do you have any suggestions? What should I do ?
I wrote my question here because it is indirectly related to this project. Please forgive.

Hi! The slowest part in your python is inverse function. Try to implement gmpy2 inverse function (included in gmpy2) - it is C-based and very fast:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#gmpy

You can find the details here: https://bitcointalksearch.org/topic/m.55214449

Hello MrFreeDragon
Is it possible to write the python code you show with Cython?
Thanks again, my work was faster than before.

Code:
import gmpy2

modulo = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F
order  = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798
Gy = 0X483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8

class Point:
    def __init__(self, x=0, y=0):
        self.x = x
        self.y = y

PG = Point(Gx,Gy)
Z = Point(0,0) # zero-point, infinite in real x,y - plane

# return (g, x, y) a*x + b*y = gcd(x, y)
def egcd(a, b):
    if a == 0:
        return (b, 0, 1)
    else:
        g, x, y = egcd(b % a, a)
        return (g, y - (b // a) * x, x)

def modinv(m, n = modulo):
    while m < 0:
        m += n
    g, x, _ = egcd(m, n)
    if g == 1:
        return x % n

    else: print (' no inverse exist')

def mul2(Pmul2, p = modulo):
    R = Point(0,0)
    #c = 3*Pmul2.x*Pmul2.x*modinv(2*Pmul2.y, p) % p
    c = 3*Pmul2.x*Pmul2.x*gmpy2.invert(2*Pmul2.y, p) % p
    R.x = (c*c-2*Pmul2.x) % p
    R.y = (c*(Pmul2.x - R.x)-Pmul2.y) % p
    return R

def add(Padd, Q, p = modulo):
    if Padd.x == Padd.y == 0: return Q
    if Q.x == Q.y == 0: return Padd
    if Padd == Q: return mul2(Q)
    R = Point()
    dx = (Q.x - Padd.x) % p
    dy = (Q.y - Padd.y) % p
    c = dy * gmpy2.invert(dx, p) % p     
    #c = dy * modinv(dx, p) % p
    R.x = (c*c - Padd.x - Q.x) % p
    R.y = (c*(Padd.x - R.x) - Padd.y) % p
    return R # 6 sub, 3 mul, 1 inv

def mulk(k, Pmulk, p = modulo):
    if k == 0: return Z
    if k == 1: return Pmulk
    if (k % 2 == 0): return mulk(k//2, mul2(Pmulk, p), p)
    return add(Pmulk, mulk((k-1)//2, mul2(Pmulk, p), p), p)



staff
Activity: 4326
Merit: 8951
November 29, 2020, 03:21:16 PM
Tools like this are an interesting intellectual challenge but don't do much of anything interesting, actual keys are not vulnerable to these attacks.

As a result it's normal for interest to wax and wane.
sr. member
Activity: 443
Merit: 350
November 29, 2020, 03:16:54 PM
brainless, your message looks like a conspiracy theory. However it is really strange that many GPU developers are not active for a long time.
Do you think they are all working on some huge project?
member
Activity: 348
Merit: 34
November 25, 2020, 05:40:09 PM
Jeanluc not apear from
Last Active:   October 31, 2020, 10:19:32 AM

any one have in contact with him, live not infected covid19, all ok with him,
from june most GPU developer are goes offline, like BitCrack, Alek-76, Telaurist, other same worked on forked, all offline from long time, no more GPU based developments,
any comments ?
full member
Activity: 706
Merit: 111
November 25, 2020, 12:52:30 PM
where the processed keys are stored, why the RAM consumption has not increased in 8 days, only 5.5 MB ?








You got your DP set at 64, you got to go through 2^64 keys to get a DP, lower your DP so you can collect more DP's. Then you need to save your DP's, example:

Kangaroo.exe -ws -w save.work -wi 30 in.txt
hero member
Activity: 1988
Merit: 593
November 25, 2020, 12:01:41 PM
where the processed keys are stored, why the RAM consumption has not increased in 8 days, only 5.5 MB ?






full member
Activity: 706
Merit: 111
November 24, 2020, 06:09:46 PM
is there a bsgs gpu version out there, anywhere guys?
any news under the sun, love to read something new and great
once again in here,

 Cool

Its not a BSGS with a GPU yet and no new updates yet.
full member
Activity: 706
Merit: 111
November 24, 2020, 06:06:30 PM
How can i use saved work file for another public key?

You can't do that, you will have to start over with a new public key.
newbie
Activity: 3
Merit: 0
November 24, 2020, 03:33:04 PM
How can i use saved work file for another public key?
full member
Activity: 431
Merit: 105
November 14, 2020, 11:11:32 AM
is there a bsgs gpu version out there, anywhere guys?
any news under the sun, love to read something new and great
once again in here,

 Cool
jr. member
Activity: 32
Merit: 11
November 12, 2020, 09:27:21 PM
Ok ? the best for 2080 CX ?

Code:
C:\Users\plex\Desktop\k>Kangaroo.exe -t 0 -gpu -ws -w save.work -wi 60 -o k.txt 120.txt
Kangaroo v2.2
Start:800000000000000000000000000000
Stop :FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Keys :1
Number of CPU thread: 0
Range width: 2^119
Jump Avg distance: 2^58.98
Number of kangaroos: 2^20.52
Suggested DP: 36
Expected operations: 2^60.61
Expected RAM: 990.0MB
DP size: 36 [0xFFFFFFFFF0000000]
GPU: GPU #0 GeForce RTX 2080 (46x64 cores) Grid(92x128) (122.0 MB used)
SolveKeyGPU Thread GPU#0: creating kangaroos...
SolveKeyGPU Thread GPU#0: 2^20.52 kangaroos [8.3s]
[896.72 MK/s][GPU 896.72 MK/s][Count 2^35.24][Dead 0][51s (Avg 62.2988y)][2.0/4.0MB]
SaveWork: save.work................done [140.0 MB] [01s] Thu Nov 12 23:18:05 2020
[900.67 MK/s][GPU 900.67 MK/s][Count 2^36.34][Dead 0][01:52 (Avg 62.0259y)][2.0/4.0MB]
SaveWork: save.work................done [140.0 MB] [01s] Thu Nov 12 23:19:06 2020
[899.76 MK/s][GPU 899.76 MK/s][Count 2^36.95][Dead 0][02:52 (Avg 62.0887y)][2.0/4.0MB]
SaveWork: save.work................done [140.0 MB] [01s] Thu Nov 12 23:20:06 2020
[896.86 MK/s][GPU 896.86 MK/s][Count 2^37.39][Dead 0][03:53 (Avg 62.289y)][2.0/4.0MB]
newbie
Activity: 6
Merit: 9
November 06, 2020, 01:40:22 PM
what does the letter B mean? Appeared a day later
It's only a text artifact because of the previously longer line [2.0/4.0MB].
Why are you searching this address?
legendary
Activity: 952
Merit: 1386
October 28, 2020, 08:48:48 AM
I have a CPU, does 256 bit work? I need the full range to be a small probability of finding the key in a short time if I lucky

CPU? ehhhh

Dude, you have no idea how much 'luck' you will need. On the full big range this method is almost this same like randomly picking the numbers from 1 to FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140 and checking if you hit.

You think you still want to try?
Take 64bit puzzle and try to find the key - just throw 64 times coin and check if you find the key.
Pages:
Jump to: