Bitcoin Forum
November 17, 2024, 01:44:48 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: « 1 ... 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 109 110 111 112 113 114 115 116 117 118 119 120 121 [122] 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 »
  Print  
Author Topic: Pollard's kangaroo ECDLP solver  (Read 59089 times)
_Counselor
Member
**
Offline Offline

Activity: 110
Merit: 61


View Profile
November 20, 2021, 05:47:48 AM
 #2421

When I look at this picture I see that this one value for x and y of R
has millions and billions different pairs of x and y of Q and P
I mean just change the slope of the line

Of course it has. Equation like x+y = 10 has infinite number of solutions.
mausuv
Jr. Member
*
Offline Offline

Activity: 70
Merit: 1


View Profile
November 20, 2021, 11:04:33 AM
 #2422

When I look at this picture I see that this one value for x and y of R
has millions and billions different pairs of x and y of Q and P
I mean just change the slope of the line

Of course it has. Equation like x+y = 10 has infinite number of solutions.


i know but i am reasontly watch
read full please yes its real no scam only education purpos
hacker upload 1000 BTC stolen video youtube remove quickly https://www.youtube.com/watch?v=KqTS_0Zlr2c i am not download Huh Huh yes
i am watch youtube video today 13/11/21 >>> how to find bitcoin private key >>search


important notice this hacker use only python languagae ,,
1000 BTC stolen
step 1:  hacker crack adderss to  public key convert >> note python code use it
step 2: compressed to Uncompressed publickey convert >> this tool use  https://iancoleman.io/bitcoin-key-compression/
step 3:past Uncompressed public key 2nd python code $ run 7hr find private key

 yes its real no scam only education purpos video upload but youtube remove this video so no data get


share this message
please python code use find bitcoin private keys
you can find private key make video share me  Smiley Smiley

so i need subtract code please
mausuv
Jr. Member
*
Offline Offline

Activity: 70
Merit: 1


View Profile
November 20, 2021, 11:12:52 AM
 #2423

please eny update this post https://bitcointalk.org/index.php?topic=5244940.msg58481226#msg58481226

i need how to work to point subtract  Cry

any idea make subtract code in python  Sad
bigvito19
Full Member
***
Offline Offline

Activity: 716
Merit: 111


View Profile
November 20, 2021, 12:57:47 PM
 #2424

please eny update this post https://bitcointalk.org/index.php?topic=5244940.msg58481226#msg58481226

i need how to work to point subtract  Cry

any idea make subtract code in python  Sad
Python 3

https://github.com/WanderingPhilosopher/Windows-KeySubtractor/releases/tag/v1.0
mausuv
Jr. Member
*
Offline Offline

Activity: 70
Merit: 1


View Profile
November 20, 2021, 03:23:08 PM
 #2425



yes i know this git code
i am not understand c language so,
                         
input two point
privatekey    3     -    2      =   1
                 point1 - point2 = point3
                                               X                                                                                                                         Y
point1 f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9      388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672
point2 c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5   1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a


i need 3rd point subtract value

please write easy understand make python or explain mathematicaly
itod
Legendary
*
Offline Offline

Activity: 1974
Merit: 1077


^ Will code for Bitcoins


View Profile
November 20, 2021, 07:02:25 PM
Merited by NotATether (3)
 #2426



yes i know this git code
i am not understand c language so,
                        
input two point
privatekey    3     -    2      =   1
                 point1 - point2 = point3
                                               X                                                                                                                         Y
point1 f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9      388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672
point2 c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5   1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a


i need 3rd point subtract value

please write easy understand make python or explain mathematicaly


Code:
class Point:
    b = 7
    def __init__(self, x=float('inf'), y=float('inf')):
        self.x = x
        self.y = y
 
    def copy(self):
        return Point(self.x, self.y)
 
    def is_zero(self):
        return self.x > 1e20 or self.x < -1e20
 
    def neg(self):
        return Point(self.x, -self.y)
 
    def dbl(self):
        if self.is_zero():
            return self.copy()
        try:
            L = (3 * self.x * self.x) / (2 * self.y)
        except ZeroDivisionError:
            return Point()
        x = L * L - 2 * self.x
        return Point(x, L * (self.x - x) - self.y)
 
    def add(self, q):
        if self.x == q.x and self.y == q.y:
            return self.dbl()
        if self.is_zero():
            return q.copy()
        if q.is_zero():
            return self.copy()
        try:
            L = (q.y - self.y) / (q.x - self.x)
        except ZeroDivisionError:
            return Point()
        x = L * L - self.x - q.x
        return Point(x, L * (self.x - x) - self.y)
 
    def mul(self, n):
        p = self.copy()
        r = Point()
        i = 1
        while i <= n:
            if i&n:
                r = r.add(p)
            p = p.dbl()
            i <<= 1
        return r
 
    def __str__(self):
        return "({:.3f}, {:.3f})".format(self.x, self.y)
 
def show(s, p):
    print(s, "Zero" if p.is_zero() else p)
 
def from_y(y):
    n = y * y - Point.b
    x = n**(1./3) if n>=0 else -((-n)**(1./3))
    return Point(x, y)
 
# demonstrate
a = from_y(1)
b = from_y(2)
show("a =", a)
show("b =", b)
c = a.add(b)
show("c = a + b =", c)
d = c.neg()
show("d = -c =", d)
show("c + d =", c.add(d))
show("a + b + d =", a.add(b.add(d)))
show("a * 12345 =", a.mul(12345))
Output:
Code:
a = (-1.817, 1.000)
b = (-1.442, 2.000)
c = a + b = (10.375, -33.525)
d = -c = (10.375, 33.525)
c + d = Zero
a + b + d = Zero
a * 12345 = (10.759, 35.387)
MrFreeDragon
Sr. Member
****
Offline Offline

Activity: 443
Merit: 350


View Profile
November 20, 2021, 10:09:01 PM
 #2427

-snip-
                        
input two point
privatekey    3     -    2      =   1
                 point1 - point2 = point3
                                               X                                                                                                                         Y
point1 f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9      388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672
point2 c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5   1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a


i need 3rd point subtract value

please write easy understand make python or explain mathematicaly


Actually the scalar subtraction is the addition where you change y value of the second point from y to modulo - y
Please find the python code with the sub function which subtracts one Point from another:

Demonstration of the function result:
Code:
>>> Point1 = Point(0xf9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9, 0x388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672)
>>> Point2 = Point(0xc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5, 0x1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a)
>>> Point3 = sub(Point1,Point2)
>>> hex(Point3.x),hex(Point3.y)
('0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', '0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8')

Python code:
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

# returns (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

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)

def sub(P1, P2, p = modulo): #scalar subtraction P1-P2
    if P1 == P2: return Z
    if P2.x == P2.y == 0: return P1
    return add (P1, Point(P2.x, modulo - P2.y))

If you do not have gmpy2 I recommend to install it (it is 50x faster than self implemented inverse), but you can just uncomment c calculation in mul2 and add functions and comment the formula with gmpy2.

EDIT: corrected typo mistakes

mausuv
Jr. Member
*
Offline Offline

Activity: 70
Merit: 1


View Profile
November 21, 2021, 01:35:36 AM
 #2428

                       

If you do not have gmpy2 I recommend to install it (it is 50x faster than self implemented inverse), but you can just uncomment c calculation in mul2 and add functions and comment the formula with gmpy2.

EDIT: corrected typo mistakes

your code work fine but  what corrected typo mistakes explain
And youcan improve even or odd python Smiley
 ./keymath 03d01115d548e7561b15c38f004d734633687cf4419620095bc5b0f47070afe85a  - 02c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5
Result: 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798

one last question your python code 100% tested own  Point3 = sub(Point1,Point2) work without error ??   #sorry my grammer mistake

because i am test some point, work  100% correct answer print Wink
MrFreeDragon
Sr. Member
****
Offline Offline

Activity: 443
Merit: 350


View Profile
November 21, 2021, 02:05:09 AM
 #2429

mausuv, I made a post and found some gramma mistakes in my words. Not at the code, but in my message here. So I edited the post and made a remark that the edit was related to typo mistakes and not to the change of the content.

The code works 100%

jacky19790729
Jr. Member
*
Offline Offline

Activity: 82
Merit: 8


View Profile
November 21, 2021, 05:05:02 AM
Last edit: December 05, 2021, 03:46:35 PM by jacky19790729
 #2430

my question how to guess random public key
 even small range or big range
odd small range  or big range
thankyou your code near to my crack method:)
i am find some btc i will donate you in future Smiley        #i am not devolper but other people code change to finder # little bit speak and write englsh

NO ~~~
There is no way to know (private key is even/odd  )  from public key
There is no way to know (private key is small/big range what?? )  from public key

small range is  < 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0
big range is > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A1
Huh

if  A, B private key have same X value of public key
A + B = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

if you can know 1 private key (public key: 03ceb6cbbcdbdf5ef7150682150f4ce2c6f4807b349827dcdbdd1f2efa885a2630 )
#120 will solve right now  (public key:  02ceb6cbbcdbdf5ef7150682150f4ce2c6f4807b349827dcdbdd1f2efa885a2630 )

https://bitcointalk.org/index.php?topic=4455904.0

https://bitcointalk.org/index.php?topic=5332526.0

mausuv
Jr. Member
*
Offline Offline

Activity: 70
Merit: 1


View Profile
November 25, 2021, 03:20:38 AM
 #2431

guys any update small range big range write here....
mausuv
Jr. Member
*
Offline Offline

Activity: 70
Merit: 1


View Profile
November 26, 2021, 01:26:15 PM
 #2432

Code:
>>> Point1 = Point(0xf9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9, 0x388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672)
>>> Point2 = Point(0xc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5, 0x1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a)
>>> Point3 = sub(Point1,Point2)
>>> hex(Point3.x),hex(Point3.y)
('0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', '0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8')

how to to point verify in python

example1:
        if Point1 == Point2:
             pass value
             #break or contine
example2:
        for Point1 =! Point2:
              pass vaue
              #break or contine
example3:
         while loop, or def function
my question how to same time x,y value check (==,=!,!=,etc....)form example 1,2,3

Code:
                       Point1.x                                                                       Point1.y
Point1 = ('0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', '0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8')
Point2 = ('0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', '0xb7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777')
                       Point2.x                                                                        Point2.y

i know  :)
if Point1.x==Point2.x:
      pass value #go to some example step execute
      .......
       ......
else:
      .............
      ......

           
i know if Point1.x==Point2.x:
but :(same time x,y value how to cheak Point1.x.y==Point2.x.y
please some examle write here... Smiley

#mybadenglish
PrivatePerson
Member
**
Offline Offline

Activity: 174
Merit: 12


View Profile
December 15, 2021, 08:16:05 PM
 #2433

MrFreeDragon,
where to substitute your values in this script? I write:
python script.py
the issue is empty.
Python 3.10.1, gmpy2 2.1.1.
BlackHatCoiner
Legendary
*
Offline Offline

Activity: 1708
Merit: 8347


Fiatheist


View Profile WWW
December 15, 2021, 09:56:38 PM
 #2434

Somebody could explain which variable means what?
Yes. In elliptic curves, when you want to find the public key given a certain private key, you construct two algorithms. Addition and doubling. The image you've inserted shows the addition of two points (P + Q) whose result can be seen by drawing a straight line in P and Q; the inverse of that point is R. Your image is a graphical representation of point addition.

In doubling, you draw a tangent line in P and where it'll intersect with the curve, its inverse will be 2P.


i know tow point add,multiple in python code, but subtracter not understand
Isn't subtraction just like addition? Instead of P + Q, you do P + (-Q). The only extra step is to get -Q. This may satisfy you: How to subtract two points on an elliptic curve?

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
MrFreeDragon
Sr. Member
****
Offline Offline

Activity: 443
Merit: 350


View Profile
December 20, 2021, 11:06:05 PM
 #2435

MrFreeDragon,
where to substitute your values in this script? I write:
python script.py
the issue is empty.
Python 3.10.1, gmpy2 2.1.1.

Try the command:

Code:
python3 -i script.py

So you will enter the python console with the loaded script functions. You will be able to run commands like these:
Code:
>>> Point1 = Point(0xf9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9, 0x388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672)
>>> Point2 = Point(0xc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5, 0x1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a)
>>> Point3 = sub(Point1,Point2)
>>> hex(Point3.x),hex(Point3.y)
('0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', '0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8')

mausuv
Jr. Member
*
Offline Offline

Activity: 70
Merit: 1


View Profile
December 21, 2021, 06:10:06 AM
 #2436


iknow r s1s2  value
i need z1z2 how to calculate
i read this post explain testnet ,i am not understad https://bitcointalk.org/index.php?topic=5327054.msg56686056#msg56686056
https://bitcointalk.org/index.php?topic=977070.msg10669517#msg10669517 #read 1,3page

please explain stepy by step calulate z1z2  from bitcoin mainet or write code #mybadenglish

run this script https://github.com/FoxxD3V/btc-rsz/blob/master/RawTX_RSZ.py
output : show r s1s2 z1,z2
but i got error what my mistake

https://tbtc.bitaps.com/raw/transaction/ff948290ff332aed8f0e5d767118a02e8671578c6775a333bb4ee4d6ccfcf639
i am enter raw tx i got error https://github.com/FoxxD3V/btc-rsz/blob/master/RawTX_RSZ.py
Code:
Traceback (most recent call last):
File "RawTX_RSZ.py", line 13, in
s = keyUtils.derSigToHexSig(m[1][:-2])
File "/home/runner/btc-rsz/keyUtils.py", line 32, in derSigToHexSig
x, s = ecdsa.der.remove_integer(s)
File "/usr/local/lib/python2.7/dist-packages/ecdsa/der.py", line 218, in remove_integer
raise UnexpectedDER("Negative integers are not supported")
ecdsa.der.UnexpectedDER: Negative integers are not supported
i know r s1s2
i need z1z2 value please how to get z1z2 #mybadenglish
Alpaste
Jr. Member
*
Offline Offline

Activity: 37
Merit: 1


View Profile
December 24, 2021, 09:31:39 AM
 #2437

guys dumb question, there are 2^256 private and public keys and total of 2^160 addresses, so 2^256/2^160 = 2^96 keys per address. but how can be 2^96 keys that connect to same address? so what changes then? does public key stay the same and only private key changes, or does both changes with 2^96 address each one..?
_Counselor
Member
**
Offline Offline

Activity: 110
Merit: 61


View Profile
December 24, 2021, 09:48:36 AM
 #2438

guys dumb question, there are 2^256 private and public keys and total of 2^160 addresses, so 2^256/2^160 = 2^96 keys per address. but how can be 2^96 keys that connect to same address? so what changes then? does public key stay the same and only private key changes, or does both changes with 2^96 address each one..?
Every private key has it own unique public key, but hashing of different public keys may produce same hashes (addresses). Thus, in average, 2^96 different public/private keys have the same address.
Alpaste
Jr. Member
*
Offline Offline

Activity: 37
Merit: 1


View Profile
December 24, 2021, 09:55:07 AM
 #2439

Ok, thank you so much, so let's say i want to bruteforce a specific publickey that has for example 1,000 bitcoins in it. so my questions are:
so does the publickey that i want to attack for example using Kangaroo exists only 1 TIME with its privatekey in the whole range of 2^160 is that right ?
so if i want to get that unique private key from its unique publickey, i need to bruteforce from 0 to 2^160 in order to get it, is that also correct?
_Counselor
Member
**
Offline Offline

Activity: 110
Merit: 61


View Profile
December 24, 2021, 10:37:04 AM
 #2440

Ok, thank you so much, so let's say i want to bruteforce a specific publickey that has for example 1,000 bitcoins in it. so my questions are:
so does the publickey that i want to attack for example using Kangaroo exists only 1 TIME with its privatekey in the whole range of 2^160 is that right ?
so if i want to get that unique private key from its unique publickey, i need to bruteforce from 0 to 2^160 in order to get it, is that also correct?

Kangaroo works with specific public key only, not the address, so you have to check whole secp256k1 keyspace to find it - 2^256 (using symmetry and endomorphism this can be reduced to ~2^254)

If we talking about bruteforce like bitCrack, you have to check 2^97 keys in average to find specific address (not the specific public key)



Pages: « 1 ... 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 109 110 111 112 113 114 115 116 117 118 119 120 121 [122] 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 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!