Bitcoin Forum
November 17, 2024, 06:42:03 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [58] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 ... 145 »
  Print  
Author Topic: Pollard's kangaroo ECDLP solver  (Read 59091 times)
filo1992
Newbie
*
Offline Offline

Activity: 32
Merit: 0


View Profile
July 02, 2020, 07:47:51 AM
 #1141


Hi, I have finished the 64 bit range, but I have not found any key with 8 rx 570 8gb.

RBan
Newbie
*
Offline Offline

Activity: 12
Merit: 10


View Profile
July 03, 2020, 05:45:58 PM
 #1142


Hi, I have finished the 64 bit range, but I have not found any key with 8 rx 570 8gb.



You can't scan the 64 bit range with Pollard's kangaroo since the public key is unknown, we know only the address 16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN. Only keys in the 5 multiples (65, 70, 75, 80, 85,... 160) have spent values and therefore have their public keys published.

The only way to scan for address 64 is Brute force/Vanity search and plenty of luck. 
Etar
Sr. Member
****
Online Online

Activity: 640
Merit: 314


View Profile
July 03, 2020, 07:33:58 PM
 #1143


Hi, I have finished the 64 bit range, but I have not found any key with 8 rx 570 8gb.



You can't scan the 64 bit range with Pollard's kangaroo since the public key is unknown, we know only the address 16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN. Only keys in the 5 multiples (65, 70, 75, 80, 85,... 160) have spent values and therefore have their public keys published.

The only way to scan for address 64 is Brute force/Vanity search and plenty of luck.  
Vanity search does not allow you to set the starting and ending search ranges. I redid Vanity search on the CPU and used the public key as the initial range
But I could not remake it under GPU, because it uses a predefined file.
In general it is better to use Bitcrack for these purposes.
Especially when there is a server / client application for working with Bitcrack.
I redid my application that I posted here a while ago. Now i can use the connection from any client, not even trusted, because proof of work is used.

But here is another problem when the key will found and someone sends the transaction to their address. That transaction naturally will not be immediately confirmed, but the public lens will be visible. It costs nothing to intercept a public key. Solve it with a kangaroo and kill the transaction with a larger commission.
RXUser
Newbie
*
Offline Offline

Activity: 7
Merit: 5


View Profile
July 03, 2020, 08:29:23 PM
 #1144

It's better to find a collision than the right private key in this range, if it happens all the coins will go to the miner.
racminer
Member
**
Offline Offline

Activity: 245
Merit: 17


View Profile
July 03, 2020, 08:46:28 PM
 #1145


Hi, I have finished the 64 bit range, but I have not found any key with 8 rx 570 8gb.



assuming that your  8 rx570 can do 1Gkeys/s.  (10^9 keys/s)
puzzle 64 requires cheking 2^63 keys which is around 10^19 keys. So you need to wait 10^10 seconds to claim spanning the whole range.
10^10 seconds is over 300 years.
As I have been saying many times before, there is a bug in clBitCrack :

see this https://github.com/brichard19/BitCrack/issues/256
dextronomous
Full Member
***
Offline Offline

Activity: 436
Merit: 105


View Profile
July 04, 2020, 09:23:45 AM
 #1146


Hi, I have finished the 64 bit range, but I have not found any key with 8 rx 570 8gb.



assuming that your  8 rx570 can do 1Gkeys/s.  (10^9 keys/s)
puzzle 64 requires cheking 2^63 keys which is around 10^19 keys. So you need to wait 10^10 seconds to claim spanning the whole range.
10^10 seconds is over 300 years.
As I have been saying many times before, there is a bug in clBitCrack :

see this https://github.com/brichard19/BitCrack/issues/256
this mentioned issue did you fix it with RB61's commit.
thanks a lot again. many bitcrack versions around all aimed his fork i pressume.
ashraful1980
Newbie
*
Offline Offline

Activity: 24
Merit: 0


View Profile
July 04, 2020, 02:05:59 PM
 #1147

Dear File Owner,
It is unable to download from google drive; please see the bellow massage:
Sorry, this file is infected with a virus

Only the owner is allowed to download infected files.

Please send fresh link as following email id: ashraf.csr@gmail.com
racminer
Member
**
Offline Offline

Activity: 245
Merit: 17


View Profile
July 04, 2020, 10:55:49 PM
 #1148


Hi, I have finished the 64 bit range, but I have not found any key with 8 rx 570 8gb.



assuming that your  8 rx570 can do 1Gkeys/s.  (10^9 keys/s)
puzzle 64 requires cheking 2^63 keys which is around 10^19 keys. So you need to wait 10^10 seconds to claim spanning the whole range.
10^10 seconds is over 300 years.
As I have been saying many times before, there is a bug in clBitCrack :

see this https://github.com/brichard19/BitCrack/issues/256
this mentioned issue did you fix it with RB61's commit.
thanks a lot again. many bitcrack versions around all aimed his fork i pressume.


I  ( = RB61 )  would prefer to let bitcrack  ( = Brichard19) fix the bug I mentioned here:   https://github.com/brichard19/BitCrack/issues/256

racminer
Member
**
Offline Offline

Activity: 245
Merit: 17


View Profile
July 04, 2020, 11:05:45 PM
 #1149


Hi, I have finished the 64 bit range, but I have not found any key with 8 rx 570 8gb.



You can't scan the 64 bit range with Pollard's kangaroo since the public key is unknown, we know only the address 16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN. Only keys in the 5 multiples (65, 70, 75, 80, 85,... 160) have spent values and therefore have their public keys published.

The only way to scan for address 64 is Brute force/Vanity search and plenty of luck.  
Vanity search does not allow you to set the starting and ending search ranges. I redid Vanity search on the CPU and used the public key as the initial range
But I could not remake it under GPU, because it uses a predefined file.
In general it is better to use Bitcrack for these purposes.
Especially when there is a server / client application for working with Bitcrack.
I redid my application that I posted here a while ago. Now i can use the connection from any client, not even trusted, because proof of work is used.

But here is another problem when the key will found and someone sends the transaction to their address. That transaction naturally will not be immediately confirmed, but the public lens will be visible. It costs nothing to intercept a public key. Solve it with a kangaroo and kill the transaction with a larger commission.

I was trying to compile your "pure basic" server/client script but I don't seem to find this file: Curve64.pb 
I found the crackhelperClient.pb and crackhelperServer.pd files  here: https://drive.google.com/file/d/1pFTvBLwTDF4GZCyDpJHwnWqfuNeOT6Ik/edit
COBRAS
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
July 05, 2020, 12:00:21 AM
 #1150

Jean_Luc !!! Make please endomorphism for Kangraroo ?

You need only 8 byte additiona for your 120 bytes for mega rich bro (I think you know what I talk  Wink) and me need only substract only 40 bytes from pubkey , and with endomorphisfm we all maybe get some $$$

Please, Bro Huh?

[
Etar
Sr. Member
****
Online Online

Activity: 640
Merit: 314


View Profile
July 05, 2020, 07:27:51 AM
 #1151

-snip-
I was trying to compile your "pure basic" server/client script but I don't seem to find this file: Curve64.pb 
-snip-
Here is link to archive https://drive.google.com/file/d/1XMxvxB1FGxfAi7hFMitiQpENUqvabiQ6
it is new version server/client for bitcrack with POW . Archive contain all source files, libs and precompiled applications.
Before use in a big range try in a small.
COBRAS
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
July 05, 2020, 11:08:11 AM
 #1152


Please, someone make a scrypt for automatic shifting pubkey to "zero" ? I was try many times and not found any keys I think because of this. Manualy shift all pubkeys to "zero" is f**ing work, trust me please.

i don`t know for what you need shift pub key but any way here is python code and you can launch this code online https://repl.it/languages/python3

Code:


def inverse(x, p):
    """
    Calculate the modular inverse of x ( mod p )    
    """
    inv1 = 1
    inv2 = 0
    n=1
    while p != 1 and p!=0:        
        quotient = x // p
        
        inv1, inv2 = inv2, inv1 - inv2 * quotient
        x, p = p, x % p        
        n = n+1
    
    return inv2

def dblpt(pt, p):
    """
    Calculate pt+pt = 2*pt
    """
    if pt is None:
        return None
    (x,y)= pt
    if y==0:
        return None
    
    slope= 3*pow(x,2,p)*pow(2*y,p-2,p)
    
    
    xsum= pow(slope,2,p)-2*x
    
    ysum= slope*(x-xsum)-y  
    
    return (xsum%p, ysum%p)

def addpt(p1,p2, p):
    """
    Calculate p1+p2
    """
    if p1 is None or p2 is None:
        return None
    (x1,y1)= p1
    (x2,y2)= p2
    if x1==x2:
        return dblpt(p1, p)
        
    # calculate (y1-y2)/(x1-x2)  modulus p
    
    slope=(y1-y2)*pow(x1-x2,p-2,p)
    
    
    xsum= pow(slope,2,p)-(x1+x2)
  
    ysum= slope*(x1-xsum)-y1
    
    
    return (xsum%p, ysum%p)

def ptmul(pt,a, p):
    """
    Calculate pt*a
    """
    scale= pt    
    acc=None
  
    
    while a:
        
        if a&1:
            if acc is None:
                acc= scale
                
            else:    
                acc= addpt(acc,scale, p)                
              
        scale= dblpt(scale, p)
        a >>= 1
        
            
  
    return acc

def ptdiv(pt,a,p,n):  
    """
    Calculate pt/a
    """
    divpt=inverse(a, n)%n
    return ptmul(pt, divpt, p)


def isoncurve(pt,p):
    """
    returns True when pt is on the secp256k1 curve
    """
    (x,y)= pt
    return (y**2 - x**3 - 7)%p == 0


def getuncompressedpub(compressed_key):
    """
    returns uncompressed public key
    """
    y_parity = int(compressed_key[:2]) - 2    
    x = int(compressed_key[2:], 16)
    a = (pow(x, 3, p) + 7) % p
    y = pow(a, (p+1)//4, p)    
    if y % 2 != y_parity:
        y = -y % p        
    return (x,y)



#secp256k1 constants
Gx=0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798
Gy=0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8
n=0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
p = 2**256 - 2**32 - 977
g= (Gx,Gy)

#CHANGE HERE beginrange and pointstr
beginrange=0x80000000000000000000
pointstr = '037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc'

pt= getuncompressedpub(pointstr)
(subptx,subpty) = ptmul(g, beginrange, p)
result=addpt(pt, (subptx,p-subpty), p)
print("shifted result> 04%064x%064x"%result)

Code have all functions that you need to work with points.
P.S. Kangaroo app automaticly shift range and pubkey if begin range is not zero.


Good day Etar !

Help me please. Then I make revers operation -  (subptx,p+subpty), I not get starting pubkey !!!

So I cant go back to 037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc if I add starting range.

So 037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc - 80000000000000000000 = 043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256 def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9

---

043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256 def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9 + 80000000000000000000 =  041e8e77439c921a460ce4185b864329dcba5960646e93c59d5e7bbbea8dd913fcd83777dec0468 c76fdc5b0a4ce879086e66766f520386f9db6e1999d8b0e1ad0

Huh?

What I do wrong ?


[
Etar
Sr. Member
****
Online Online

Activity: 640
Merit: 314


View Profile
July 05, 2020, 12:07:11 PM
 #1153

-snip-
What I do wrong ?
Code:
#CHANGE HERE beginrange and pointstr
beginrange=0x80000000000000000000
pointstr = '037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc'

pt= getuncompressedpub(pointstr)
(subptx,subpty) = ptmul(g, beginrange, p)
result=addpt(pt, (subptx,p-subpty), p)
print("shifted result> 04%064x%064x"%result)

Bresult=addpt(result, (subptx,subpty), p)
print("result> 04%064x%064x"%Bresult)
COBRAS
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
July 05, 2020, 02:12:45 PM
 #1154

-snip-
What I do wrong ?
Code:
#CHANGE HERE beginrange and pointstr
beginrange=0x80000000000000000000
pointstr = '037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc'

pt= getuncompressedpub(pointstr)
(subptx,subpty) = ptmul(g, beginrange, p)
result=addpt(pt, (subptx,p-subpty), p)
print("shifted result> 04%064x%064x"%result)

Bresult=addpt(result, (subptx,subpty), p)
print("result> 04%064x%064x"%Bresult)

[/quote

Bro,

Bresult=addpt(result, (subptx,subpty), p)
print("result> 04%064x%064x"%Bresult)

aagain generate false result. This is not deducted pubkey+starting range, and I kan't understand what is it and why I can't get previous pubkey then I add range what I deleted early

How to minus range and add after and get result: startpubey=Q(pubkey-range)+range Huh

HuhHuhHuh?

[
Etar
Sr. Member
****
Online Online

Activity: 640
Merit: 314


View Profile
July 05, 2020, 02:28:59 PM
 #1155

-snip-
Bro,

Bresult=addpt(result, (subptx,subpty), p)
print("result> 04%064x%064x"%Bresult)

aagain generate false result. This is not deducted pubkey+starting range, and I kan't understand what is it and why I can't get previous pubkey then I add range what I deleted early

How to minus range and add after and get result: startpubey=Q(pubkey-range)+range Huh

HuhHuhHuh?
1) You have pub key let`s call this point Pt
2) And you have startrange = 0x800000 for ex. Calculate point from startingrange:   x,y = ptmul(g,startrange )
3) make y-coordinate negative using p-y, so you will have point with x,p-y
4) make point addition operation via your pubkey and point from step 3: myX,myY = addpt(Pt, (x,p-y), p)
myX,myY is equil to point Pt from which substract startrange.

If you need getback to Pt value just add to myX,myY  point x,y:   backX,backY = addpt((myX,myY) , (x,y), p)
backX,backY will equil to Pt.

Post here example where you have wrong result.
here is result from python console from example that you post above:
Code:
shifted result> 043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9
result> 047e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc625c7118f1c29cb92d28ce0dfd0dc58144fe5572effebc7fee54c4fce3333a6b

uncompressed 047e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc625c7118f1c29 cb92d28ce0dfd0dc58144fe5572effebc7fee54c4fce3333a6b
is the same as compressed 037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc
COBRAS
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
July 05, 2020, 02:52:13 PM
 #1156

-snip-
Bro,

Bresult=addpt(result, (subptx,subpty), p)
print("result> 04%064x%064x"%Bresult)

aagain generate false result. This is not deducted pubkey+starting range, and I kan't understand what is it and why I can't get previous pubkey then I add range what I deleted early

How to minus range and add after and get result: startpubey=Q(pubkey-range)+range Huh

HuhHuhHuh?
1) You have pub key let`s call this point Pt
2) And you have startrange = 0x800000 for ex. Calculate point from startingrange:   x,y = ptmul(g,startrange )
3) make y-coordinate negative using p-y, so you will have point with x,p-y
4) make point addition operation via your pubkey and point from step 3: myX,myY = addpt(Pt, (x,p-y), p)
myX,myY is equil to point Pt from which substract startrange.

If you need getback to Pt value just add to myX,myY  point x,y:   backX,backY = addpt((myX,myY) , (x,y), p)
backX,backY will equil to Pt.

Post here example where you have wrong result.
here is result from python console from example that you post above:
Code:
shifted result> 043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9
result> 047e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc625c7118f1c29cb92d28ce0dfd0dc58144fe5572effebc7fee54c4fce3333a6b

uncompressed 047e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc625c7118f1c29 cb92d28ce0dfd0dc58144fe5572effebc7fee54c4fce3333a6b
is the same as compressed 037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc


Bro this is first step: ""-" range from Pt

Code:
#CHANGE HERE beginrange and pointstr
beginrange=0x80000000000000000000
pointstr = '037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc'

pt= getuncompressedpub(pointstr)
(subptx,subpty) = ptmul(g, beginrange, p)
result=addpt(pt, (subptx,p-subpty), p)
print("shifted result> 04%064x%064x"%result)

Bresult=addpt(result, (subptx,subpty), p)
print("result> 04%064x%064x"%Bresult)


shifted result> Call THIS POIT Presult - 043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9
result> 047e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc625c7118f1c29cb92d28ce0dfd0dc58144fe5572effebc7fee54c4fce3333a6b

After I was change "-" to "+" so : "result=addpt(pt, (subptx,p+subpty), p)" and add range to Presut:

Code:
pointstr = '043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9'

pt= getuncompressedpub(pointstr)
(subptx,subpty) = ptmul(g, beginrange, p)
result=addpt(pt, (subptx,p+subpty), p)
print("shifted result> 04%064x%064x"%result)

Bresult=addpt(result, (subptx,subpty), p)
print("result> 04%064x%064x"%Bresult)

shifted result> CALL THIS POINT P-backresult 041e8e77439c921a460ce4185b864329dcba5960646e93c59d5e7bbbea8dd913fcd83777dec0468c76fdc5b0a4ce879086e66766f520386f9db6e1999d8b0e1ad0
result> 04a3bcf71ae6452d91247af4bd6df4e1fa116150d79535097dcc0a1c772e807ac7af30eb6e7bfad29f1df4664388e2c0900b5a90a5a119ee1dd2ee746c7d42bebe


But P-backresult+range NOT EQUAL(<>) Pt !!!

037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc<>041e8e77439c921a460ce4185b864329dcba5960646e93c59d5e7bbbea8dd913fcd83777dec0468c76fdc5 b0a4ce879086e66766f520386f9db6e1999d8b0e1ad0

You see Huh

[
Etar
Sr. Member
****
Online Online

Activity: 640
Merit: 314


View Profile
July 05, 2020, 03:04:17 PM
 #1157

-snip-
For what you do p+??? I am realy do not understand you. I was explain you how need substract range from pub and then get back.
All values should be by modulo p. But you with p+ do something else..
Edit: and what is it Huh
Code:
pointstr = '043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9'
pointstr should be compressed! becouse after that pt= getuncompressedpub(pointstr)
change
Code:
043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9
to
Code:
033aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a0

here is result
Code:
shifted result> 043da25db054a78e5253f461a104759d559526c02565ef9b966662cb0299e95ebc8f068e4c209fc9e9053dfc3419a0cef6bccd931a514aec5900e5a17a031e64a6
result> 043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9
COBRAS
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
July 05, 2020, 03:17:39 PM
 #1158

-snip-
For what you do p+??? I am realy do not understand you. I was explain you how need substract range from pub and then get back.
All values should be by modulo p. But you with p+ do somesing else..
Edit: and what is it Huh
Code:
pointstr = '043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9'
pointstr should be compressed! becouse after that pt= getuncompressedpub(pointstr)
change
Code:
043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9
to
Code:
033aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a0

here is result
Code:
shifted result> 043da25db054a78e5253f461a104759d559526c02565ef9b966662cb0299e95ebc8f068e4c209fc9e9053dfc3419a0cef6bccd931a514aec5900e5a17a031e64a6
result> 043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9

Bro I need this because your code is more simple for me then EC calculator. But then I deduct range in EC calculator I get different result then yours ! And If yor code is calculate falce result this is bad for me, -  and i will be need go back to f*g calculator ))

Why you in code deduct only Y coordinate ? Y coordinate is a TAME kangaroo and TAME Kangaroo insensitive to ranges as I know.

I try relise this teckinks https://bitcointalk.org/index.php?topic=5238719.msg54296078#msg54296078

Your code needed me  for downgrade pubkey bytes light and search for ex. not 100 bytes range but <100 bytes range.


edit:

pointstr should be compressed! becouse after that pt= getuncompressedpub(pointstr)
change

F*ck !!! Thank you, now I understand more. Bro - Big thank you.

But again bro:

Pt pointstr = '04d069fa48ccf890d2fed1a0c120be98444d4c1945a624ea625ac8a1a44e0e86b04ef949c7eb631e6b2d6beac52 57f8c3afac94236803ede49a609142faf61a015'

shifted result> 045b7696358e6ba86341eb97a1f1a6622a4a1f175660b456c7c89562eadf3c4e3dfb73c7828b8de ad960cc92c1bc6c3aef5bf4c8496095b65df554ff98c06ce5e9
result> 0480660a712ad5746acc3104176a2ec22ba05a9f67edea014b3c327f6cf951b0698546081fd9806bebba3bd 608ba6b531546796b3fa3e509d1a6757e4d54a6b203

I cant understand what is a "result>"...




[
Etar
Sr. Member
****
Online Online

Activity: 640
Merit: 314


View Profile
July 05, 2020, 03:26:06 PM
 #1159

-snip-
Why you in code deduct only Y coordinate ?
-snip-
Because point substraction operation it is addition operation where y-coordinate is negative in deductible point.
Python code give you correct result only if you are used him in correct way.
pointstr should be compressed pub key that start with 02/03 and with length 66bytes(prefix 02/03 +x_coodinate).
pubkey that start with 04 it is uncompressed pub and have length 130 bytes(prefix 04+x_coordinate+y_coordinate).

Edit: to convert uncompressed to compressed or vice versa you can use this tool https://iancoleman.io/bitcoin-key-compression/
in you last example 04d069fa48ccf890d2fed1a0c120be98444d4c1945a624ea625ac8a1a44e0e86b04ef949c7eb631 e6b2d6beac5257f8c3afac94236803ede49a609142faf61a015
this is 03d069fa48ccf890d2fed1a0c120be98444d4c1945a624ea625ac8a1a44e0e86b0
and you should set pointstr = '03d069fa48ccf890d2fed1a0c120be98444d4c1945a624ea625ac8a1a44e0e86b0'

after that you will have correct shifted result
Code:
shifted result> 0474592cdb1af0afc0705a240b0e1edc883a9dc56ed3fc80d71c25c689ff3a20e859ec3168bf6a3952e11f04a729745272254b5e06787626fa0d7b6609cc529505
and back result
Code:
result> 04d069fa48ccf890d2fed1a0c120be98444d4c1945a624ea625ac8a1a44e0e86b04ef949c7eb631e6b2d6beac5257f8c3afac94236803ede49a609142faf61a015
COBRAS
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
July 05, 2020, 03:28:00 PM
 #1160

-snip-
For what you do p+??? I am realy do not understand you. I was explain you how need substract range from pub and then get back.
All values should be by modulo p. But you with p+ do something else..
Edit: and what is it Huh
Code:
pointstr = '043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9'
pointstr should be compressed! becouse after that pt= getuncompressedpub(pointstr)
change
Code:
043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9
to
Code:
033aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a0

here is result
Code:
shifted result> 043da25db054a78e5253f461a104759d559526c02565ef9b966662cb0299e95ebc8f068e4c209fc9e9053dfc3419a0cef6bccd931a514aec5900e5a17a031e64a6
result> 043aeb4f818ca91912a3e50d1b3db196696f82713bae00ba2b53c09a23f1d284a085b2197137256def6c05a0f105e1b1eee9c10d23b7a4911040a23e891ebb3dc9

Bro, Your code is making what is described there https://bitcointalk.org/index.php?topic=5238719.msg54296078#msg54296078 or something else ?

[
Pages: « 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [58] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 ... 145 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!