Pages:
Author

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

legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
April 24, 2021, 05:38:39 AM
@lostbitcoin, your image links are broken and return 404 not found, can you update them?

Can you help to explain for kangaroo.exe data from save.work file?

To my understanding I believe it contains records with each entry (they're in binary if I remember correctly) having the positions of the tame and wild kangaroos, and possibly the number of kangaroos present. I'm not entirely sure, I have to check again.

Total I want to modify 2 thing
1. write save file again when write output file
2. print out collision point

2. is fairly easy to do, in the function Kangaroo::CollisionCheck or something named like that there are two variables called Td and Wd which are your tame and wild points which you can then print out. Only problem would be finding a way to print these variables since they are of Int class and may not have a print method.

1. is possible but only if you already passed a work file using -ws, you would put the SaveWork call just before the Output call.
member
Activity: 406
Merit: 47
April 24, 2021, 05:29:45 AM
Help to modify kangaroo.exe code

I am not expert with c++ (sorry it is very hard to learn normal user I am not programmer)

I think I would like to add command to call function Save to function output

I am not sure it correct or not

Kangaroo::SaveWork

bool Kangaroo::Output

I see at Kangaroo::Output function works two thing one open file output and write private key to output file  and then print out treport on display show message found private key

So, if I add function SaveWork to work before write output file (or after write output file but before print out on scree to show private key message)
may be help to save work file include  collision point

may be function SaveWork , process only on schedule time

and more one collision point to show when fprint show hex private key (when found)
how I can fprint this value when found it


Total I want to modify 2 thing
1. write save file again when write output file
2. print out collision point

I think insert code may be simple, anyone can help?

Thank you for help
member
Activity: 406
Merit: 47
April 24, 2021, 04:28:23 AM


thanks

https://ibb.co/yWd5j22
https://ibb.co/G0zdCNc


This program was created with a lot of time and effort.
I won't share.


Do you have source code how to calculate?

however I calculate difference with you

from script python(kangaroo)

puzzle #50 (python 1 hour solve)

collision point
c52d3e18cf60567ff0ec3ada36b35b214281c2d0a0fa24e1bd1844f982400000 383497870405204
c52d3e18cf60567ff0ec3ada36b35b214281c2d0a0fa24e1bd1844f982400000 994638366572968

994638366572968-383497870405204 = 611140496167764  = 22BD43C2E9354

>>> math.log2(994638366572968)
49.82116541027459
>>> math.log2(383497870405204)
48.44621189477088

c52d3e18cf60567ff0ec3ada36b35b214281c2d0a0fa24e1bd1844f982400000
convert to Dec
89185567865970002315484466436073764171950415667507660205264806658442243604480

is not publickkey key but it is Elliptic curve

Elliptic curve last calculate  (from private key = 611140496167764 = 22BD43C2E9354)

Elliptic curve  double x = 89185567865970002315484466436073764171950415667507660205264806658442243604480
Elliptic curve  double y = 87127837977108995721802776410311454708031756638369374626443936686222994129249

public key x = c52d3e18cf60567ff0ec3ada36b35b214281c2d0a0fa24e1bd1844f982400000
public key y = c0a09bd53538cb2e3dabfdfb7a3385b62ce3e69963ea073967d9151c5edd4161

public key uncompressed:
04c52d3e18cf60567ff0ec3ada36b35b214281c2d0a0fa24e1bd1844f982400000c0a09bd53538c b2e3dabfdfb7a3385b62ce3e69963ea073967d9151c5edd4161

public key
03c52d3e18cf60567ff0ec3ada36b35b214281c2d0a0fa24e1bd1844f982400000


kangaroo found collision point on Elliptic curve calculate  (process between convert private key to public key)
member
Activity: 406
Merit: 47
April 24, 2021, 04:16:39 AM
I would like to measure kangaroo DP for puzzle #120

I always wondered what the relation was between DPsize and runtime. Maybe somebody should draw a few graphs. They will be parabolic because setting the size too low or high exponentially increases runtime, and if we could even make a 3D graph lining up the DP curves from all range sizes (powers in this case).

The idea would be to find the smallest points on the graph to see if there's a way to improve the automatically calculated dpsize value. (I once experimented with setting an arbitrary dpmask, but that had very bad effects for runtime.)

kangaroo still power full for now  (not yet have other algorithm best for now)

Can you help to explain for kangaroo.exe data from save.work file?

save.work file from kangaroo.exe  both solve a 120 bit and 256 bit  data is same format  (solve by using generate private key and publick key)

I convert hex to dec

from 120 bit solve (test pubkey)
262143,48357306424295921700769579380444332534 1562842135080204172
262143,236688263920794955386261906309794027722 967375894582543310

262143,209421810490797557957190854895683512892 441962270191571849
262143,225641934287901095819832523508370738498 1316787007398506857
262143,291551157822226898627726358187674170442 -493837653657333763


from 265 bit solve (test pubkey)

0,59459776387358570849530339812195619039 30449515388215305633
0,168557432531209639563818391489784546103 27117058245582788305
0,187703705753502279679574421533681592130 23895961494359236057
0,211282612041149045737248359108783970698 28316598789817799604

262143,303498835120544398690280772659518904948 15298374911161789743
262143,330471970880799703221136385694942800905 24405259179491741594
262143,333088154919942412776046848521499169913 29643794240743107223

bot still same format, I don't know what is number from?
member
Activity: 406
Merit: 47
April 24, 2021, 03:35:05 AM


I don't think there is such a feature in kangaroos yet.
I don't think there is yet an application that can calculate this, so I made an application that calculates this.

you want program

 
I am sorry that I have not reached the level where I can upload pictures.
I think it's the program you want.
Is it correct?


upload image easy by   https://imgbb.com/

and copy BB code to post
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
April 24, 2021, 03:32:55 AM
I would like to measure kangaroo DP for puzzle #120

I always wondered what the relation was between DPsize and runtime. Maybe somebody should draw a few graphs. They will be parabolic because setting the size too low or high exponentially increases runtime, and if we could even make a 3D graph lining up the DP curves from all range sizes (powers in this case).

The idea would be to find the smallest points on the graph to see if there's a way to improve the automatically calculated dpsize value. (I once experimented with setting an arbitrary dpmask, but that had very bad effects for runtime.)
member
Activity: 406
Merit: 47
April 24, 2021, 01:15:13 AM

puzzle #44

collision
be3a794f0da8faf2802e0fef0eefae7cd271f073f241a5f4489aff8bf9f00000 17579062999607
be3a794f0da8faf2802e0fef0eefae7cd271f073f241a5f4489aff8bf9f00000 2174301242536

>>> math.log2(17579062999607)
43.99892340743872
>>> math.log2(2174301242536)
40.98368897368013


17579062999607-2174301242536 =  15404761757071  (hex = E02B35A358F )

I just would like to get data like this from kangaroo.exe
member
Activity: 406
Merit: 47
April 24, 2021, 01:06:10 AM
I would like to measure kangaroo DP for puzzle #120
Now have only kangaroo.exe can solve sample pubkey I generate on range 2^120 for puzzle #120

Can anybody help to get collision point from save.work file

for collision point from  tame.txt and wild.txt  I can get is only python script but python script can solve up to 2^40 upper is very slow
python script not helpful

if can get collision point from save.work file by kangaroo.exe may be help to easy to set DP to match with
example

puzzle #40
ec9d5049bd4509aa41e1f5c312de1900d3eac4adba0692a41286b2497e520000 1110317004752
ec9d5049bd4509aa41e1f5c312de1900d3eac4adba0692a41286b2497e520000 106665591802

1110317004752-106665591802 = 1003651412950

1003651412950 hex = E9AE4933D6

https://privatekeys.pw/key/000000000000000000000000000000000000000000000000000000e9ae4933d6

see
>>> math.log2(1110317004752)
40.014108775485056
>>> math.log2(106665591802)
36.63430391024868
>>>

range 40  (39-40)
tame.txt on range over 40-41
and wild.txt under 36-37

just testing
looking for some data may be helpful (if)
member
Activity: 406
Merit: 47
April 23, 2021, 01:23:54 AM


There is no limit to number of cores, but minimal compute capability 3.0 is required. Gt 720m has only 2.1 ccap, therefore it doesn't work

Ok
Thank
https://developer.nvidia.com/cuda-gpus#compute

GeForce GT 720M   2.1

Can works is require 3.0 up right.
member
Activity: 111
Merit: 61
April 22, 2021, 11:27:15 PM
I got another question, so what type of gpu's work with kangaroo?

Is Geforce and Nvidia the same thing?
Nvidia, along with other manufacturers, sell the Geforce cards; EVGA, Zotac, Gigabyte, ASUS, etc.

The GTX and RTX cards work with Kangaroo, those are Geforce cards. There are other, older cards, that if they are Geforce cards, will work as well.

How many number of cuda core require for use cuda gpu?


my dell nvidia gpu GT 720M have only 96 CUDA core (very old) it is can not using cuda function can not use CuBitcrack, can use only OpenCL version

but GTX 1050 have 640 CUDA core can work with cuda function normal no problem

look like it require to have cuda core over 500 cuda core or some require of cuda core, then nvidia gt, gtx old version that have very low cuda core can not using with cuda function I not sure may be can use with old version like cuda 8.0


There is no limit to number of cores, but minimal compute capability 3.0 is required. Gt 720m has only 2.1 ccap, therefore it doesn't work
member
Activity: 406
Merit: 47
April 22, 2021, 08:24:19 PM
I got another question, so what type of gpu's work with kangaroo?

Is Geforce and Nvidia the same thing?
Nvidia, along with other manufacturers, sell the Geforce cards; EVGA, Zotac, Gigabyte, ASUS, etc.

The GTX and RTX cards work with Kangaroo, those are Geforce cards. There are other, older cards, that if they are Geforce cards, will work as well.

How many number of cuda core require for use cuda gpu?


my dell nvidia gpu GT 720M have only 96 CUDA core (very old) it is can not using cuda function can not use CuBitcrack, can use only OpenCL version

but GTX 1050 have 640 CUDA core can work with cuda function normal no problem

look like it require to have cuda core over 500 cuda core or some require of cuda core, then nvidia gt, gtx old version that have very low cuda core can not using with cuda function I not sure may be can use with old version like cuda 8.0
full member
Activity: 1232
Merit: 242
Shooters Shoot...
April 22, 2021, 03:53:17 PM
I got another question, so what type of gpu's work with kangaroo?

Is Geforce and Nvidia the same thing?
Nvidia, along with other manufacturers, sell the Geforce cards; EVGA, Zotac, Gigabyte, ASUS, etc.

The GTX and RTX cards work with Kangaroo, those are Geforce cards. There are other, older cards, that if they are Geforce cards, will work as well.
full member
Activity: 706
Merit: 111
April 22, 2021, 12:43:28 PM
I got another question, so what type of gpu's work with kangaroo?

Is Geforce and Nvidia the same thing?
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
April 21, 2021, 02:53:19 PM
I think I wan to know about  elliptic-curves, ecdsa secp256k1 , how kangaroo attack on Elliptic Curve
now, just read more about secp256k1 calculate (very difficult for me) look over view is ok, but I want to understand on math

Try reading https://en.bitcoin.it/wiki/Secp256k1 (it's not finished; I need to add the formulas for elliptic curve addition and multiplication).

Did bitcoin have some vulnerability that use pubkey on calculate?

Well I wouldn't go as far as calling it a vulnerability, it's a feature in every public key infrastructure (PKI) that uses key pairs because Pollards Kangaroo can attack any kind of discrete logarithm problem that uses public keys (*ahem* RSA), not just elliptic curves.
full member
Activity: 1232
Merit: 242
Shooters Shoot...
April 21, 2021, 11:56:11 AM
This line is print out result when found key right

How can I modify this line to show collision point data


Code:
  if(!needToClose)
    ::printf("\n");

  Point PR = secp->ComputePublicKey(pk);

  ::fprintf(f,"Key#%2d [%d%c]Pub:  0x%s \n",keyIdx,sType,sInfo,secp->GetPublicKeyHex(true,keysToSearch[keyIdx]).c_str());
  if(PR.equals(keysToSearch[keyIdx])) {
    ::fprintf(f,"       Priv: 0x%s \n",pk->GetBase16().c_str());
  } else {
    ::fprintf(f,"       Failed !\n");
    if(needToClose)
      fclose(f);
    return false;
  }


  if(needToClose)
    fclose(f);

use the -wsplit option.
member
Activity: 406
Merit: 47
April 21, 2021, 11:10:24 AM
This line is print out result when found key right

How can I modify this line to show collision point data


Code:
  if(!needToClose)
    ::printf("\n");

  Point PR = secp->ComputePublicKey(pk);

  ::fprintf(f,"Key#%2d [%d%c]Pub:  0x%s \n",keyIdx,sType,sInfo,secp->GetPublicKeyHex(true,keysToSearch[keyIdx]).c_str());
  if(PR.equals(keysToSearch[keyIdx])) {
    ::fprintf(f,"       Priv: 0x%s \n",pk->GetBase16().c_str());
  } else {
    ::fprintf(f,"       Failed !\n");
    if(needToClose)
      fclose(f);
    return false;
  }


  if(needToClose)
    fclose(f);

full member
Activity: 1232
Merit: 242
Shooters Shoot...
April 21, 2021, 07:00:53 AM

Yes, Kangaroo.exe saves in hex format.  The difference is Kangaroo.exe subtracts start range at beginning and then adds back once collision is found. Run -ws option, if you want to see it. I've told you how to do it, the rest is up to you.

Also, not sure what you are trying to learn how it works. Many articles and this thread alone tell you how it works. And since you've looked at python script you should know as well. Tames find private keys, wilds find offset of private key, both with user defined dp setting.  People have answered you, what don't you believe or understand?  No magic tricks, no speed ups, just the programs and how they were designed.

Thanks

I think I wan to know about  elliptic-curves, ecdsa secp256k1 , how kangaroo attack on Elliptic Curve
now, just read more about secp256k1 calculate (very difficult for me) look over view is ok, but I want to understand on math

Feel lag knowledge from may people expert on crypto very long time sine bitcoin invented , need to know more a lot


Who next make record name on Wikipedia with use kangaroo or any challenge puzzle ?
interesting to have a name on record challenge

Who found Kangaroo can attack Elliptic Curve?

However kangaroo is just smart random method. best on low range (115 still on low not yet middle)

Did bitcoin have some vulnerability that use pubkey on calculate?


Pollard came up with Kangaroo method. Others saw it could be used for Bitcoin's curve.

The program starts out with random; it randomly selects starting points, within a specified range, based on start and end range defined by user. Then it takes "calculated" jumps.  The jumps for Kangaroo.exe are basically half of range. If attacking 120 bits, kangaroos average jumps are around 60 bits.  Those jumps create the so called "paths" however, I am to believe that random jumps/points can and will eventually create a collision.

The pubkey allows for calculations that the Kangaroo.exe can exploit. You can add/subtract points and that is the power with using a kangaroo program versus brute force like bitcrack.
member
Activity: 406
Merit: 47
April 21, 2021, 03:49:52 AM

Yes, Kangaroo.exe saves in hex format.  The difference is Kangaroo.exe subtracts start range at beginning and then adds back once collision is found. Run -ws option, if you want to see it. I've told you how to do it, the rest is up to you.

Also, not sure what you are trying to learn how it works. Many articles and this thread alone tell you how it works. And since you've looked at python script you should know as well. Tames find private keys, wilds find offset of private key, both with user defined dp setting.  People have answered you, what don't you believe or understand?  No magic tricks, no speed ups, just the programs and how they were designed.

Thanks

I think I wan to know about  elliptic-curves, ecdsa secp256k1 , how kangaroo attack on Elliptic Curve
now, just read more about secp256k1 calculate (very difficult for me) look over view is ok, but I want to understand on math

Feel lag knowledge from may people expert on crypto very long time sine bitcoin invented , need to know more a lot


Who next make record name on Wikipedia with use kangaroo or any challenge puzzle ?
interesting to have a name on record challenge

Who found Kangaroo can attack Elliptic Curve?

However kangaroo is just smart random method. best on low range (115 still on low not yet middle)

Did bitcoin have some vulnerability that use pubkey on calculate?

full member
Activity: 1232
Merit: 242
Shooters Shoot...
April 20, 2021, 11:47:22 PM

It is always checking for collision so doubt it will save what you are wanting it to. However, you can do a -wsplit option and then extract each work file, that's how I did it when wanting to find the exact lines that created the collision point.

in python script  it is save  tame.txt and  wild.txt when success to find key include collision data

but look like kangaroo.exe save only last save before collision  but not save all data when collision
may be kangaroo.exe function save it save each time setting for save for backup and can continue from save but not save when collision , look like when collision program do report immediately with out save
that ok, I know from python already just want to check on kangaroo.exe to learn how it work
I think both save same data on kangaroo.exe save as hex format to all


Yes, Kangaroo.exe saves in hex format.  The difference is Kangaroo.exe subtracts start range at beginning and then adds back once collision is found. Run -ws option, if you want to see it. I've told you how to do it, the rest is up to you.

Also, not sure what you are trying to learn how it works. Many articles and this thread alone tell you how it works. And since you've looked at python script you should know as well. Tames find private keys, wilds find offset of private key, both with user defined dp setting.  People have answered you, what don't you believe or understand?  No magic tricks, no speed ups, just the programs and how they were designed.
member
Activity: 406
Merit: 47
April 20, 2021, 10:56:30 PM

It is always checking for collision so doubt it will save what you are wanting it to. However, you can do a -wsplit option and then extract each work file, that's how I did it when wanting to find the exact lines that created the collision point.

in python script  it is save  tame.txt and  wild.txt when success to find key include collision data

but look like kangaroo.exe save only last save before collision  but not save all data when collision
may be kangaroo.exe function save it save each time setting for save for backup and can continue from save but not save when collision , look like when collision program do report immediately with out save
that ok, I know from python already just want to check on kangaroo.exe to learn how it work
I think both save same data on kangaroo.exe save as hex format to all

Pages:
Jump to: