Pages:
Author

Topic: Pollard's kangaroo ECDLP solver - page 32. (Read 59436 times)

member
Activity: 348
Merit: 34
September 28, 2021, 10:50:24 PM
Giving you all one more tip , in total numerology, only 30240 is is dividable from 1 to 10, mean 5 even 5 odd, at same time, and no floating result
i gurantee, you never see 30240 secrets
30240.0000   10.0000   3024.0000
30240.0000   9.0000   3360.0000
30240.0000   8.0000   3780.0000
30240.0000   7.0000   4320.0000
30240.0000   6.0000   5040.0000
30240.0000   5.0000   6048.0000
30240.0000   4.0000   7560.0000
30240.0000   3.0000   10080.0000
30240.0000   2.0000   15120.0000
30240.0000   1.0000   30240.0000

if you multuply 30240 to any numbers, and result could also div by 1 to 10, and in result no floating point

30240 * 777 = 23496480.0000
23496480.0000   10.0000   2349648.0000
23496480.0000   9.0000   2610720.0000
23496480.0000   8.0000   2937060.0000
23496480.0000   7.0000   3356640.0000
23496480.0000   6.0000   3916080.0000
23496480.0000   5.0000   4699296.0000
23496480.0000   4.0000   5874120.0000
23496480.0000   3.0000   7832160.0000
23496480.0000   2.0000   11748240.0000
23496480.0000   1.0000   23496480.0000

hope like in my preivios post for magic numbers, you could not understand, same hope you will not understand secrets behind this only 1 magic numberology Smiley
 
full member
Activity: 1162
Merit: 237
Shooters Shoot...
September 28, 2021, 10:07:17 PM
The cool thing, well, neat to me; is using brainless' "math" I was able to find private keys to x,y and x,-y, or the private keys to both 03 and 02 public keys. The positive and negative Ys that belong to the same X...like I said, I have never found both so it was neat to me lol
full member
Activity: 1162
Merit: 237
Shooters Shoot...
September 28, 2021, 06:35:39 PM
Quote
from here, my answer were no random, and exact in all 256bit range, and what is exact location, i explain about how to calc exact range, simple, bro if you mislead by my those answers and explanation, i love to say SORRY
In brainless' defense concerning this specific convo, what he says is true. The locations aren't random and you can calculate exact range in the example he gave. I went through and found each key in their respective range. Sometimes we have to remember that not everyone speaks this language or that language and that can lead to confusion...sometimes. If you go back to the convo, he does walk you through how to find exact range/location for the example he provided. No magic, no range/key shrinkage, just ranges on the curve.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
September 28, 2021, 11:11:58 AM
This makes actually no sense, because the underlying principle is different.
~snip
So we are halving the public key 5 times. This means, that when we do this on key 11, we get 32 keys, from where one of them has the correct endsequence of the private key. So we have to check all keys if they are in the range of 2^6. If we get one, than we know how the first 6 bits of the privatekey are. We can from here determine the last 5 bits easily. I am not interested in the other ranges, as i have now a total valid privatekey

Had a freak day today, so my brain's (no pun intended) not very attentive right now. Will need multiple drinks of jolt cola before I can go over what you did.

I recently did a little research on private key generation via /dev/urandom. More than 100 million keys were used for the test. The bit allocation was about the same = 0.5
Maybe the old versions of OpenSSL, which were probably used in the puzzle creation, had some vulnerabilities and gave some deviation?

It's possible, but also remember a) OpenSSL uses multiple entropy sources - one of which is urandom (another is the entropy it stores in a file somewhere) and 2) the real-life sample size is very small - there were at least 256 256-bit random numbers generated in the process of making the puzzle, and possibly more as several of the numbers were probably not in the appropriate range.

now talk about NotATether script,

the script he posted is doing mod inverses and it is just multiplying value until reach 5 uper bit. (no one can get 120 how can they will get 125 lolololo)

Well all I did is reverse engineer the algorithm until it completely matched the examples that brainless provided so congratulations on explaining in simple terms why the algorithm is so absurd.

now talk about brainless theory -


NotATether and brainless are misunderstanding each other brainless maybe joked that he reduced keys 720 by doing multiplication , addition and subtraction bla bla bla until 90 or 100 bit but NotATether  is insisting what he explained inside his posts is not a way & there is also no way to achieve that and perhaps he never achieved that one and just keep lying.

now what i think is brainless have to explain this to community

Code:
" I got it down to 104 bits today, but with 32,000 pubkeys; better than the normal 2^16 normally required, but I can't figure out a way to shrink it down to one key... "
for 10 bit down = 1024 pubkeys
for 20 bit down = 1024*1024 = 1048576 pubkeys
for 30 bit down = 1024*1024*1024 = 1073741824 pubkeys
1048576 and 1073741824 pubkeys with each other addition and mutiplication will return you 260 pubkeys apear where 16 pubkeys sure inside 10 bit down from main pubkey
these 260 pubkeys again played for get 30 bit down for 1/720 pubkeys
now you can start to find with above tip

720 keys means you've only reduced it by some factor between 2^109 and 2^110, how do you even begin shifting a key down that far while not making the number of group ops explode as well?



Guys fyi 1024 is not div point in ecc, posting here, divideable magic digits for ecc, these will help you to decide bitrange to divide, use these magic ecc div numbers, for pollard kanagroo or other manual div

2   447   7572   564114
3   596   9536   752152
4   631   10096   1128228
6   894   14304   1504304
8   1192   15144   2256456
12   1262   20192   3008608
16   1788   28608   4512912
24   1893   30288   6017216
32   2384   40384   9025824
48   2524   60576   18051648
64   3576   94019   
96   3786   121152   
149   4768   188038   
192   5048   282057   
298   7152   376076   


What the hell is a div point?

This is just a dump of x-points that are on the secp256k1 curve (x=5 is not on the curve IIRC). Again though, I could pick any x-point on the curve to divide by, so this dump doesn't answer the question - How is creating multiple zones supposed to shift the range down, when all it's doing is shifting it up (massively)?  Huh Roll Eyes



as how he claimed this one and plus dont forget he claimed before that he found the 120 key but no plan to cash it but same time he asked .75 bitcoin to provide 115 range one key to buy 3090 (WTF)

0.75BTC at the time wouldn't buy you just a 3090, it would buy you an entire fucking 8Pack OrionX (almost).
full member
Activity: 1162
Merit: 237
Shooters Shoot...
September 28, 2021, 10:53:40 AM
full member
Activity: 1162
Merit: 237
Shooters Shoot...
September 28, 2021, 10:51:20 AM
@WanderingPhilosopher
If you store it in a file, you can lookup the position. But is there a formula for shifting it up by knowing the position of the pubkey?

@fxsniper

Do you read? It is a memory tradeoff! If you bitshift a 256 bit key 128 bit you will have 2^128 keys to check in a range of 1-2^128. 2^128 is how many petabytes???

Please inform yourself about ECDLP. I invested last few weeks in my freetime to understand how it works and what to do.


Etar showed example:
Quote
And this pubkey is 03d01115d548e7561b15c38f004d734633687cf4419620095bc5b0f47070afe85a with privkey 0xC
To produce real privkey need multiply privkey by divisor
0xC*0x8 = 0x60
After this need add to result founded public key number (7)
Totaly privekey = 0x60 +0x7=0x67
jr. member
Activity: 48
Merit: 11
September 28, 2021, 09:35:37 AM
by the way dont brain (mind) brainless but you got me man~ now before die i really want to see script which you are using to reduce number of keys  . consider it as my last wish  Grin

Giving a ready-made script is very easy. I would hope for hints, and get to the result myself.
jr. member
Activity: 48
Merit: 11
September 28, 2021, 09:32:33 AM
How about I give you a 120 bit public key and you give me exactly one 115 bit public key.
read back my post i need for process that required 3090 gpu's, i dont have, for base on cpu its required multiple days, and i am systems are busy already to process some other projects

btw for all you 1 Q, do you know those digits which can be divide without floating point in results from 1 to 10
thos digit multiplywhat ever, result also could be div without float from 1 to 10

remember i am brainless but my talks are not useless, in past i post magic numbers for division and multiply
you all never make any tests on use of those magic numbers, and talking like higly math experts about div/mul

above all my post have lot of clue for your new thinking levels, but i see you all still bound in basics

waiting your research for those numbers who div from 1 to 10 without float in results

I have been working hard on this question for several months now, as you know. Since this topic has stuck with me a lot and I want to get to the bottom of it, including from a mathematical point of view.
I have done and am doing a lot of different experiments with these numbers and other divisors at 10 and 20 bit levels.
So far I still can not understand how to reduce the number of keys, while preserving the bits, but I'm working on it!
What I found out: as we know, these numbers are divisors of numbers N-1. When dividing by these numbers, the results are consecutively "on a circle of N".
The numbers that are not divisors do not go sequentially on the circle, but they can also be placed sequentially, in this case we should use a step that depends on the remainder.

For your question. I am afraid of misunderstanding the problem because of the translation problem. If you can, give an example of what we have and what we need to get using these numbers.
Regards.
Thank you
jr. member
Activity: 81
Merit: 2
September 28, 2021, 08:52:30 AM
by the way dont brain (mind) brainless but you got me man~ now before die i really want to see script which you are using to reduce number of keys  . consider it as my last wish  Grin
jr. member
Activity: 81
Merit: 2
September 28, 2021, 08:43:37 AM
Guys fyi 1024 is not div point in ecc, posting here, divideable magic digits for ecc, these will help you to decide bitrange to divide, use these magic ecc div numbers, for pollard kanagroo or other manual div

2   447   7572   564114
3   596   9536   752152
4   631   10096   1128228
6   894   14304   1504304
8   1192   15144   2256456
12   1262   20192   3008608
16   1788   28608   4512912
24   1893   30288   6017216
32   2384   40384   9025824
48   2524   60576   18051648
64   3576   94019   
96   3786   121152   
149   4768   188038   
192   5048   282057   
298   7152   376076   




What the hell is a div point?


ok i dont want to go more in details but i think he is saying that you use these number to generate divisor keys ~~ instead of using 32 in script use one of magic number ( Grin & 32 is already there)

lets say you use magic number 1262 and get 1262 keys , now again use divisor to to get 1262x1262 = 1592644

now do again divisor of 1592644 keys with 1262 each and you will get = 2009916728


now one file with 1592644 keys and one file with 2009916728 and here the real shit will come

these 2 files each other addition and multiplication will return you some lower number of keys lets say 500


than again you pick one so call magic number and start doing same process until you faint and they will take you to the hospital and when you will get up from coma you will know ssxb got 120 by calculating other side shit

right brainless  Roll Eyes
a.a
member
Activity: 126
Merit: 36
September 28, 2021, 08:26:39 AM
Guys fyi 1024 is not div point in ecc, posting here, divideable magic digits for ecc, these will help you to decide bitrange to divide, use these magic ecc div numbers, for pollard kanagroo or other manual div

2   447   7572   564114
3   596   9536   752152
4   631   10096   1128228
6   894   14304   1504304
8   1192   15144   2256456
12   1262   20192   3008608
16   1788   28608   4512912
24   1893   30288   6017216
32   2384   40384   9025824
48   2524   60576   18051648
64   3576   94019   
96   3786   121152   
149   4768   188038   
192   5048   282057   
298   7152   376076   


What the hell is a div point?
member
Activity: 348
Merit: 34
September 28, 2021, 08:19:12 AM
Is there any mathematical argument for this reduction?

And what magic numbers are we talking about Cheesy.
https://bitcointalksearch.org/topic/m.57373246
a.a
member
Activity: 126
Merit: 36
September 28, 2021, 08:13:18 AM
Is there any mathematical argument for this reduction?

And what magic numbers are we talking about Cheesy.
jr. member
Activity: 81
Merit: 2
September 28, 2021, 07:51:32 AM
How about I give you a 120 bit public key and you give me exactly one 115 bit public key.
read back my post i need for process that required 3090 gpu's, i dont have, for base on cpu its required multiple days, and i am systems are busy already to process some other projects

btw for all you 1 Q, do you know those digits which can be divide without floating point in results from 1 to 10
thos digit multiplywhat ever, result also could be div without float from 1 to 10

remember i am brainless but my talks are not useless, in past i post magic numbers for division and multiply
you all never make any tests on use of those magic numbers, and talking like higly math experts about div/mul

above all my post have lot of clue for your new thinking levels, but i see you all still bound in basics

waiting your research for those numbers who div from 1 to 10 without float in results

i can give you access to one of my rig , 10850k oc , 128gb 3600 OC , 3080 OC for 24/7  Grin
jr. member
Activity: 81
Merit: 2
September 28, 2021, 07:44:08 AM
jr. member
Activity: 81
Merit: 2
September 28, 2021, 07:40:58 AM
guys big lol here plus some explanation from my side.

the script shared by NotATether is just doing opposite of divisor it is increasing 5 bit and giving you last key 5 bit uper range. only difference is while doing divisor you will get 1 key from down 5 bit and other all from defined uper bits range on exact same distance from reference value of this formula

Code:
N=115792089237316195423570985008687907852837564279074904382605163141518161494337
for i in range(32):
    print(i, hex((((N-1)//32)*i+1)%N))

lets say we have key 10  and we do divisor of 10 so what we get is like this (just example)

upper reference range
210 ,  200   , 190 , 180 .................. until 10
assume after divisor each key will have 5 bit down from reference ranges based of exact same distance
205  ,  195 ,  185 , 175 .................  until 5

here is problem , position in 32 keys list is not always same so you cant guess which key is in which range at which position. but if you guess one key correctly which range that key is then you can find easily which is correct 5 bit down key at what position as all other keys ranges are always in sequence. if you do increment of one key all the keys will get increment as well and perhaps they will switch position also in divisor output.


now talk about NotATether script,

the script he posted is doing mod inverses and it is just multiplying value until reach 5 uper bit. (no one can get 120 how can they will get 125 lolololo)

exapmle

key is in 120 range and you used his script output will be

120, 121 , 122, 123, 124, 125 thats it . all 32 keys will be from 120 to 125 range and some range will have 2 or more keys. but guaranteed all keys will be between 120 ~ 125 range at known position as 125 bit will be at 32 position and divisor will have only one key from lower 5 bit guaranteed (not known position) and all other keys from exact same distance with upper reference range. hope you get the point.


now talk about brainless theory -


NotATether and brainless are misunderstanding each other brainless maybe joked that he reduced keys 720 by doing multiplication , addition and subtraction bla bla bla until 90 or 100 bit but NotATether  is insisting what he explained inside his posts is not a way & there is also no way to achieve that and perhaps he never achieved that one and just keep lying.

now what i think is brainless have to explain this to community

Code:
" I got it down to 104 bits today, but with 32,000 pubkeys; better than the normal 2^16 normally required, but I can't figure out a way to shrink it down to one key... "
for 10 bit down = 1024 pubkeys
for 20 bit down = 1024*1024 = 1048576 pubkeys
for 30 bit down = 1024*1024*1024 = 1073741824 pubkeys
1048576 and 1073741824 pubkeys with each other addition and mutiplication will return you 260 pubkeys apear where 16 pubkeys sure inside 10 bit down from main pubkey
these 260 pubkeys again played for get 30 bit down for 1/720 pubkeys
now you can start to find with above tip

as how he claimed this one and plus dont forget he claimed before that he found the 120 key but no plan to cash it but same time he asked .75 bitcoin to provide 115 range one key to buy 3090 (WTF)

well i think i got headache now time to drink coffee  Roll Eyes
.75 bitcoin to provide 115 range one key to buy 3090
this statment is about 4july2021 to 5july2021
and claim for have key could be very next minut, but not same time Smiley

btw you are writing a very interesting topics, and defiantly not boring and same time you are getting headache and need coffee, you are writing seems upset
read your above post, and if you feel more headache, then next time dont try coffee, try some wine, special red wine, Smiley 
dont mind stay happy and healthy and wealthy



brainless  Kiss
member
Activity: 348
Merit: 34
September 28, 2021, 07:38:51 AM
How about I give you a 120 bit public key and you give me exactly one 115 bit public key.
read back my post i need for process that required 3090 gpu's, i dont have, for base on cpu its required multiple days, and i am systems are busy already to process some other projects

btw for all you 1 Q, do you know those digits which can be divide without floating point in results from 1 to 10
thos digit multiplywhat ever, result also could be div without float from 1 to 10

remember i am brainless but my talks are not useless, in past i post magic numbers for division and multiply
you all never make any tests on use of those magic numbers, and talking like higly math experts about div/mul

above all my post have lot of clue for your new thinking levels, but i see you all still bound in basics

waiting your research for those numbers who div from 1 to 10 without float in results
a.a
member
Activity: 126
Merit: 36
September 28, 2021, 07:27:36 AM
How about I give you a 120 bit public key and you give me exactly one 115 bit public key.
member
Activity: 348
Merit: 34
September 28, 2021, 07:17:44 AM
guys big lol here plus some explanation from my side.

the script shared by NotATether is just doing opposite of divisor it is increasing 5 bit and giving you last key 5 bit uper range. only difference is while doing divisor you will get 1 key from down 5 bit and other all from defined uper bits range on exact same distance from reference value of this formula

Code:
N=115792089237316195423570985008687907852837564279074904382605163141518161494337
for i in range(32):
    print(i, hex((((N-1)//32)*i+1)%N))

lets say we have key 10  and we do divisor of 10 so what we get is like this (just example)

upper reference range
210 ,  200   , 190 , 180 .................. until 10
assume after divisor each key will have 5 bit down from reference ranges based of exact same distance
205  ,  195 ,  185 , 175 .................  until 5

here is problem , position in 32 keys list is not always same so you cant guess which key is in which range at which position. but if you guess one key correctly which range that key is then you can find easily which is correct 5 bit down key at what position as all other keys ranges are always in sequence. if you do increment of one key all the keys will get increment as well and perhaps they will switch position also in divisor output.


now talk about NotATether script,

the script he posted is doing mod inverses and it is just multiplying value until reach 5 uper bit. (no one can get 120 how can they will get 125 lolololo)

exapmle

key is in 120 range and you used his script output will be

120, 121 , 122, 123, 124, 125 thats it . all 32 keys will be from 120 to 125 range and some range will have 2 or more keys. but guaranteed all keys will be between 120 ~ 125 range at known position as 125 bit will be at 32 position and divisor will have only one key from lower 5 bit guaranteed (not known position) and all other keys from exact same distance with upper reference range. hope you get the point.


now talk about brainless theory -


NotATether and brainless are misunderstanding each other brainless maybe joked that he reduced keys 720 by doing multiplication , addition and subtraction bla bla bla until 90 or 100 bit but NotATether  is insisting what he explained inside his posts is not a way & there is also no way to achieve that and perhaps he never achieved that one and just keep lying.

now what i think is brainless have to explain this to community

Code:
" I got it down to 104 bits today, but with 32,000 pubkeys; better than the normal 2^16 normally required, but I can't figure out a way to shrink it down to one key... "
for 10 bit down = 1024 pubkeys
for 20 bit down = 1024*1024 = 1048576 pubkeys
for 30 bit down = 1024*1024*1024 = 1073741824 pubkeys
1048576 and 1073741824 pubkeys with each other addition and mutiplication will return you 260 pubkeys apear where 16 pubkeys sure inside 10 bit down from main pubkey
these 260 pubkeys again played for get 30 bit down for 1/720 pubkeys
now you can start to find with above tip

as how he claimed this one and plus dont forget he claimed before that he found the 120 key but no plan to cash it but same time he asked .75 bitcoin to provide 115 range one key to buy 3090 (WTF)

well i think i got headache now time to drink coffee  Roll Eyes
.75 bitcoin to provide 115 range one key to buy 3090
this statment is about 4july2021 to 5july2021
and claim for have key could be very next minut, but not same time Smiley

btw you are writing a very interesting topics, and defiantly not boring and same time you are getting headache and need coffee, you are writing seems upset
read your above post, and if you feel more headache, then next time dont try coffee, try some wine, special red wine, Smiley 
dont mind stay happy and healthy and wealthy
sr. member
Activity: 642
Merit: 316
September 28, 2021, 06:36:58 AM
Here is no magic, here is script to shiftdown pubkey:
Code:
import random
import math
import hashlib
import base58
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)

def compresspub(uncompressed_key):
    """
    returns uncompressed public key
    """
    (x,y)=uncompressed_key
    y_parity = y&1
    head='02'
    if y_parity ==1:
        head='03'    
    compressed_key = head+'{:064x}'.format(x)      
    return compressed_key

def hash160(hex_str):
    sha = hashlib.sha256()
    rip = hashlib.new('ripemd160')
    sha.update(hex_str)
    rip.update( sha.digest() )    
    return rip.hexdigest()  # .hexdigest() is hex ASCII
    
def getbtcaddr(pubkeyst):
    
    hex_str = bytearray.fromhex(pubkeyst)
    # Obtain key:
    key_hash = '00' + hash160(hex_str)

    # Obtain signature:

    sha = hashlib.sha256()
    sha.update( bytearray.fromhex(key_hash) )
    checksum = sha.digest()
    sha = hashlib.sha256()
    sha.update(checksum)
    checksum = sha.hexdigest()[0:8]

    return (base58.b58encode( bytes(bytearray.fromhex(key_hash + checksum)) )).decode('utf-8')

def checkpub(realpub, temppub, id):
    localpt = ptmul(temppub, 1024, p)
    localaddpt = ptmul(g, id, p)
    respub= addpt(localpt,localaddpt, p)
    print ("respub-> ", compresspub(respub))
    
#secp256k1 constants
Gx=0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798
Gy=0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8
n=0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
p = 2**256 - 2**32 - 977
g= (Gx,Gy)


compressed_key='0234c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf'
point=getuncompressedpub(compressed_key)

print(getbtcaddr("04%064x%064x"%point))
print(getbtcaddr(compressed_key))
divisor = 2**3
newpub=ptdiv(point,divisor,p,n)

(partGx,partGy)=ptdiv(g,divisor,p,n)
print ("1 Fraction part-> (%x,%064x)" % (partGx,partGy))

with open('pub.txt', 'w') as f:
    f.write("04%064x%064x"%newpub)
    f.write('\n')
    print ("Compressed NewPUB (",0,")-> ", compresspub(newpub),"addr",getbtcaddr(compresspub(newpub)))
    i=1
    (pointx,pointy)=(partGx,partGy)
    while i        (newpubtempx,newpubtempy) = addpt(newpub,(pointx,p-pointy), p)
        f.write("04%064x%064x"%(newpubtempx,newpubtempy))
        f.write('\n')
        print ("Compressed NewPUB (",i,")-> ", compresspub((newpubtempx,newpubtempy)),"addr",getbtcaddr(compresspub((newpubtempx,newpubtempy))))
        (pointx,pointy) = addpt((pointx,pointy),(partGx,partGy), p)  
        i=i+1

  



In this example i use pubkey  0234c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf, privkey is 0x67 and upper range is 2^7
Divisor is 2^3, so new upper range is 2^7-2^3=2^4
In file pub.txt you will find all pubkeys and their number is equil to divisor.
if you try to find all this keys in range 0x1:0xf you will see that only one pubkey will be lie in range
And this pubkey is 03d01115d548e7561b15c38f004d734633687cf4419620095bc5b0f47070afe85a with privkey 0xC
To produce real privkey need multiply privkey by divisor
0xC*0x8 = 0x60
After this need add to result founded public key number (7)
Totaly privekey = 0x60 +0x7=0x67
Pages:
Jump to: