Bitcoin Forum
June 19, 2024, 04:22:34 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 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 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 ... 142 »
  Print  
Author Topic: Pollard's kangaroo ECDLP solver  (Read 56604 times)
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 45


View Profile
April 26, 2021, 03:31:39 PM
 #1681

like sample
GetBase16() result = P.x.: 59EF0C8304BB2FDB2C0F18B262EBDBCB992D0B4CB7AE92358C22406740862D78
GetBase10() result = P.x.: -1235795984
Base10 should be = 40678206325600170710078198845059231036639843417349082810943540381348337692024

Code:
  Int privKey;
  privKey.SetBase16("00000000000000000000000000000000000000000000000000000000000000FF");
  printf("A: %s \n", privKey.GetBase10().c_str());
  privKey.SetBase16("59ef0c8304bb2fdb2c0f18b262ebdbcb992d0b4cb7ae92358c22406740862d78");
  printf("B: %s \n", privKey.GetBase10().c_str());
  privKey.SetBase16("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141");
  printf("spec256k1 MAX value: %s \n", privKey.GetBase10().c_str());

=====output Decimal:=====
A: 255
B: 40678206325600170710078198845059231036639843417349082810943540381348337692024
spec256k1 MAX value: 115792089237316195423570985008687907852837564279074904382605163141518161494337




Thanks
but, I still not understand code

I use code from  jacky19790729

I print like this

printf("\nP.x   %064s\n" , P.x.GetBase16().c_str() );

and I change 16 to 10

printf("\nP.x   %d\n" , P.x.GetBase10().c_str() );


result = P.x.: 59EF0C8304BB2FDB2C0F18B262EBDBCB992D0B4CB7AE92358C22406740862D78
result = P.x.: -1235795984

for this I convert from hex to decimal by manual
40678206325600170710078198845059231036639843417349082810943540381348337692024
https://www.rapidtables.com/convert/number/hex-to-decimal.html

why GetBase10() not convert hex to decimal

that mean I use wrong code
(sorry I am not programmer)
jacky19790729
Jr. Member
*
Offline Offline

Activity: 64
Merit: 8


View Profile
April 26, 2021, 04:37:54 PM
 #1682

Quote
Thanks
but, I still not understand code
why GetBase10() not convert hex to decimal
that mean I use wrong code
(sorry I am not programmer)

Code:
   printf("\nP.x   %s\n" , P.x.GetBase10().c_str() );

you must use  %s  , not %d

Improve and optimize the project "Kangaroo , VanitySearch " , maybe requires several  years of learn VC++
unclevito
Jr. Member
*
Offline Offline

Activity: 74
Merit: 4


View Profile WWW
April 26, 2021, 07:33:47 PM
Merited by ABCbits (1)
 #1683

Three questions,
Is there any way to see the current keyspace being worked on like some type of  command that prints out in intervals the progress like "continue.txt" on bitcrack. I know there is save.work but this is not readable.
and what does the "B]" stand for at the end of the command line? picture here of the B.
Why in some keyspaces searches are there many dead kangaroos?
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1078
Merit: 219

Shooters Shoot...


View Profile
April 26, 2021, 07:41:26 PM
 #1684

Three questions,
Is there any way to see the current keyspace being worked on like some type of  command that prints out in intervals the progress like "continue.txt" on bitcrack. I know there is save.work but this is not readable.
and what does the "B]" stand for at the end of the command line? picture here of the B.
Why in some keyspaces searches are there many dead kangaroos?

Current keyspace is the entire keyspace. The Tames and Wilds start at different random points and hop looking for DPs.  So if you are searching from 0:FFFFFFFFFF ; then kangaroos will be spread out all over the range. The progress is group ops or total DPs found. It is readable if you use python script loaded in this thread.  But it will not help you determine "progress"; total ops/DPs are your progress.

If you are in a small range (especially if using a GPU), you may get many dead kangaroos because you have many kangaroos hopping around in a small keyspace so many of them will be landing on the same points. Dead kangaroos can also happen if you are searching for a key that does not exist in the keyspace being searched.
unclevito
Jr. Member
*
Offline Offline

Activity: 74
Merit: 4


View Profile WWW
April 26, 2021, 07:48:22 PM
 #1685

Thanks for the response I already read your similar response on another post. I am still trying to get an answer regarding the "B]" that appears after a while on long keyspaces. i tried to upload an image of what I am talking about but seems they blocked the google drive address
unclevito
Jr. Member
*
Offline Offline

Activity: 74
Merit: 4


View Profile WWW
April 26, 2021, 07:55:48 PM
 #1686

So if I am searching a keyspace and the count say Count 2^60.86 and that exceeds the expected
Range width: 2^116
Jump Avg distance: 2^57.96
Number of kangaroos: 2^17.60
Expected operations: 2^59.99
then does it mean it has finished searching the range inputted and I should check another portion of the keyspace?

[21295663.60 MK/s][GPU 21295655.80 MK/s][Count 2^60.86][Dead 0][1.4d (Avg 14:58:43)][2.0/4.0MB]  B]
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1078
Merit: 219

Shooters Shoot...


View Profile
April 26, 2021, 09:07:44 PM
 #1687

So if I am searching a keyspace and the count say Count 2^60.86 and that exceeds the expected
Range width: 2^116
Jump Avg distance: 2^57.96
Number of kangaroos: 2^17.60
Expected operations: 2^59.99
then does it mean it has finished searching the range inputted and I should check another portion of the keyspace?

[21295663.60 MK/s][GPU 21295655.80 MK/s][Count 2^60.86][Dead 0][1.4d (Avg 14:58:43)][2.0/4.0MB]  B]
No, it is an estimate.  Do you know if the key is in the range you are looking for?

Also, your MK/s seems extremely high.

The B] is a carry over from the MB]
unclevito
Jr. Member
*
Offline Offline

Activity: 74
Merit: 4


View Profile WWW
April 26, 2021, 10:02:00 PM
Last edit: April 26, 2021, 10:13:27 PM by unclevito
 #1688

Yes I compiled it a few days ago and noticed it was going extremely fast so I tried it on a few puzzles that had been solved 30 35 40 and it found them on seconds except for 50 which took about 20 minutes so it seems to be working (used the entire keyspace for those). I was scanning the entire keyspace. this time I am trying 120 and I was just scanning 65% to 75% which was estimated at 15 hrs, now 50% to 65% which shows an estimate of 18 hrs. not sure if I should just scan the entire keyspace at once which has a 6 to 7 day estimate

One problem is that when it goes to save I get an illegal memory operation and it shuts down. The few times it did save the save work was 1.5 GB (a whole lot of points) and after the 2nd or 3rd save it would get the illegal memory operation so i just have the save work for 3 days. i don't want to do the entire keyspace on these larger puzzles because the electric could go off or some other issue and have to start over, rather just do a smaller slice. The smaller keys did not do that because it found them before 3o seconds and 50 is not that big of a keyspace as 120
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1078
Merit: 219

Shooters Shoot...


View Profile
April 26, 2021, 10:15:07 PM
 #1689

Yes I compiled it a few days ago and noticed it was going extremely fast so I tried it on a few puzzles that had been solved 30 35 40 and it found them on seconds except for 50 which took about 20 minutes so it seems to be working (used the entire keyspace for those). I was scanning the entire keyspace. this time I am trying 120 and I was just scanning 65% to 75% which was estimated at 15 hrs, now 50% to 65% which shows an estimate of 18 hrs. not sure if I should just scan the entire keyspace at once which has a 6 to 7 day estimate
I just don't think something is right, with MK/s, which will affect your solve time; meaning it will show a few days when it could be a few years.

For lower bits like 30, 35, 40, those will be quick, even on a CPU it will take less than a second. 50 shouldn't take that long, even with CPU.

What GPU or CPU are you using?
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1078
Merit: 219

Shooters Shoot...


View Profile
April 26, 2021, 10:19:13 PM
 #1690

Quote
One problem is that when it goes to save I get an illegal memory operation and it shuts down. The few times it did save the save work was 1.5 GB (a whole lot of points) and after the 2nd or 3rd save it would get the illegal memory operation so i just have the save work for 3 days. i don't want to do the entire keyspace on these larger puzzles because the electric could go off or some other issue and have to start over, rather just do a smaller slice. The smaller keys did not do that because it found them before 3o seconds and 50 is not that big of a keyspace as 120
You shouldn't get a memory code on save.  Here's what I would do. Run the precompiled version and see if it does the same thing; see if you get memory error or the MK/s rate is the same.

It's always better to do the whole slice, not smaller ones because you will actually wind up doing more work/longer run time breaking it up into smaller chunks AND the biggest issue is, you really won't know if the key is in a smaller slice unless you let it run for 6+ times the expected operations and even then, you still may not know.
unclevito
Jr. Member
*
Offline Offline

Activity: 74
Merit: 4


View Profile WWW
April 26, 2021, 11:20:42 PM
 #1691

Quote
One problem is that when it goes to save I get an illegal memory operation and it shuts down. The few times it did save the save work was 1.5 GB (a whole lot of points) and after the 2nd or 3rd save it would get the illegal memory operation so i just have the save work for 3 days. i don't want to do the entire keyspace on these larger puzzles because the electric could go off or some other issue and have to start over, rather just do a smaller slice. The smaller keys did not do that because it found them before 3o seconds and 50 is not that big of a keyspace as 120
You shouldn't get a memory code on save.  Here's what I would do. Run the precompiled version and see if it does the same thing; see if you get memory error or the MK/s rate is the same.

It's always better to do the whole slice, not smaller ones because you will actually wind up doing more work/longer run time breaking it up into smaller chunks AND the biggest issue is, you really won't know if the key is in a smaller slice unless you let it run for 6+ times the expected operations and even then, you still may not know.

What is the link to the compiled version. I will try it, must be the 256 bit version for comparison, that is the one I am using not the 128 version.
dextronomous
Full Member
***
Offline Offline

Activity: 431
Merit: 105


View Profile
April 27, 2021, 12:26:39 AM
Last edit: April 27, 2021, 12:38:00 AM by dextronomous
 #1692

guys anyone got a way to add a find a text *string i am searching for the puzzle address while inside golang.

// Get compressed and uncompressed addresses
      caddr, _ := btcutil.NewAddressPubKey(public.SerializeCompressed(), &chaincfg.MainNetParams)
      uaddr, _ := btcutil.NewAddressPubKey(public.SerializeUncompressed(), &chaincfg.MainNetParams)

      // Print keys
      fmt.Printf("%x %34s %34s\n", padded, uaddr.EncodeAddress(), caddr.EncodeAddress())
      fmt.Printf( "count:%v\n", count );
   }

somewhere in the area in the text above. thanks so much in advance

the result of what i am doing is outputting this on my screen
000000000000000000000000000000000000000000000000c249fdd32778046b 1HCeANYVqecNUkQGVnczXdjq2PjgtBdvDo 1JxXytq4KSJFgMZit8gZcRiiUZCYiQdoNR
count:14000000000000001131

but then like if found, We Found It! yippie something like text.
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1078
Merit: 219

Shooters Shoot...


View Profile
April 27, 2021, 12:59:11 AM
 #1693

Quote
One problem is that when it goes to save I get an illegal memory operation and it shuts down. The few times it did save the save work was 1.5 GB (a whole lot of points) and after the 2nd or 3rd save it would get the illegal memory operation so i just have the save work for 3 days. i don't want to do the entire keyspace on these larger puzzles because the electric could go off or some other issue and have to start over, rather just do a smaller slice. The smaller keys did not do that because it found them before 3o seconds and 50 is not that big of a keyspace as 120
You shouldn't get a memory code on save.  Here's what I would do. Run the precompiled version and see if it does the same thing; see if you get memory error or the MK/s rate is the same.

It's always better to do the whole slice, not smaller ones because you will actually wind up doing more work/longer run time breaking it up into smaller chunks AND the biggest issue is, you really won't know if the key is in a smaller slice unless you let it run for 6+ times the expected operations and even then, you still may not know.

What is the link to the compiled version. I will try it, must be the 256 bit version for comparison, that is the one I am using not the 128 version.
https://github.com/JeanLucPons/Kangaroo/releases/tag/2.2
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 45


View Profile
April 27, 2021, 01:23:46 AM
 #1694


you must use  %s  , not %d

Improve and optimize the project "Kangaroo , VanitySearch " , maybe requires several  years of learn VC++


Thank you

Yes, I need to learn C++ more

kangaroo  is powerful random search

I think kangaroo need to modify to haves new feature can find key

or some tools like GPS find zone ok key and use kangaroo scan, now range is too high too wide range

other way is new one algorithm power more than kangaroo
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1078
Merit: 219

Shooters Shoot...


View Profile
April 27, 2021, 01:28:25 AM
 #1695


you must use  %s  , not %d

Improve and optimize the project "Kangaroo , VanitySearch " , maybe requires several  years of learn VC++


Thank you

Yes, I need to learn C++ more

kangaroo  is powerful random search

I think kangaroo need to modify to haves new feature can find key

or some tools like GPS find zone ok key and use kangaroo scan, now range is too high too wide range

other way is new one algorithm power more than kangaroo

Range is too high and too wide for a reason...Billions of dollars in wallets/private keys. If it was too narrow of a range, no one would use Bitcoin.

It's all relative to your GPU/CPU power. You can't have one GTX 1050 and expect to find keys in 120 bit range over night, or over a decade.  But if you have many GPUs, then you have a chance to find keys after time, depending on your GPU power.
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 45


View Profile
April 27, 2021, 01:56:32 AM
 #1696


Range is too high and too wide for a reason...Billions of dollars in wallets/private keys. If it was too narrow of a range, no one would use Bitcoin.

It's all relative to your GPU/CPU power. You can't have one GTX 1050 and expect to find keys in 120 bit range over night, or over a decade.  But if you have many GPUs, then you have a chance to find keys after time, depending on your GPU power.

challenge is too big  for 256 bit it is can not possible find

challenge what maximum we can do on records, will be stuck with 120 bit forever same 256 bit or not?

if can do 120 may be can use up to 140 bit or some 2-3 level, do far from 160 bit

I think all random method is stuck on too high range, next method may be concern about calculate or mix

last records is 256 card x Tesla V100 32GB right, How many power for GPU need to solve

I try kangaroo cpu only is difference with GPU over 12-15 time, kangaroo require to use with GPU
bigvito19
Full Member
***
Offline Offline

Activity: 706
Merit: 111


View Profile
April 27, 2021, 02:39:50 AM
 #1697


Range is too high and too wide for a reason...Billions of dollars in wallets/private keys. If it was too narrow of a range, no one would use Bitcoin.

It's all relative to your GPU/CPU power. You can't have one GTX 1050 and expect to find keys in 120 bit range over night, or over a decade.  But if you have many GPUs, then you have a chance to find keys after time, depending on your GPU power.

challenge is too big  for 256 bit it is can not possible find

challenge what maximum we can do on records, will be stuck with 120 bit forever same 256 bit or not?

if can do 120 may be can use up to 140 bit or some 2-3 level, do far from 160 bit

I think all random method is stuck on too high range, next method may be concern about calculate or mix

last records is 256 card x Tesla V100 32GB right, How many power for GPU need to solve

I try kangaroo cpu only is difference with GPU over 12-15 time, kangaroo require to use with GPU

256 card x Tesla V100 32GB is close to or around 300 billion keys per second. I'm going after a 256 bit key with cpu now.
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 45


View Profile
May 01, 2021, 01:52:10 AM
 #1698


256 card x Tesla V100 32GB is close to or around 300 billion keys per second. I'm going after a 256 bit key with cpu now.

Can 256 card x Tesla V100 32GB try with 64 bit puzzle #64 still can not crack in one day.

and still can not crack 120 bit puzzle #120 by kangaroo

need to discover other algorithms more
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 45


View Profile
May 01, 2021, 02:10:19 AM
 #1699


last night I test run kangaroo python script version all night with puzzle #120 it is not work good

I try with puzzle #50

test 100 time, key can be found many way


Code:
Puzzle #50
611140496167764
0x22bd43c2e9354
 
the public key x-value (Hex):
f46f41027bbf44fafd6b059091b900dad41e6845b2241dc3254c7cdd3c5a16c6
110560903758971929709743161563183868968201998016819862389797221564458485814982

the public key y-value (Hex):
eb3dfcc04c320b55c529291478550be6072977c0c86603fb2e4f5283631064fb
106403041512432555215316396882584033752066537554388330180776939978150437217531

the public key (Hex):
04f46f41027bbf44fafd6b059091b900dad41e6845b2241dc3254c7cdd3c5a16c6eb3dfcc04c320b55c529291478550be6072977c0c86603fb2e4f5283631064fb

---------------
611140496167764
0x22bd43c2e9354

Collision Point (got more than in list)
a513f54f69ddf470f5abdcf769cbb6a067248d7da73197f82e07f7083eb06000 954702022026005
a513f54f69ddf470f5abdcf769cbb6a067248d7da73197f82e07f7083eb06000 343561525858241
de8298b6c0bc42029d1dceed0213ba24200d654f1ce527958555822d71f97000 1130704657170423
de8298b6c0bc42029d1dceed0213ba24200d654f1ce527958555822d71f97000 519564161002659
2bad5cd5bd5dbbfeb816a8101eb34fb64dd361388fc01162d295c3f22c819000 915124390258892
2bad5cd5bd5dbbfeb816a8101eb34fb64dd361388fc01162d295c3f22c819000 303983894091128
a8783a3787f85a8d7cec689ce70737a8da2f18a1f29543e90857910c2fdbf000 1112872798694686
a8783a3787f85a8d7cec689ce70737a8da2f18a1f29543e90857910c2fdbf000 501732302526922
8d4176027265833a19df3466b064280ad9d0487678288e1d839c0ddb90845000 857201922923546
8d4176027265833a19df3466b064280ad9d0487678288e1d839c0ddb90845000 246061426755782
b3d841d0386e6c481c151d7f218742a1c1dd4aa3ddde2a11b372926014318000 1121753485244822
b3d841d0386e6c481c151d7f218742a1c1dd4aa3ddde2a11b372926014318000 510612989077058
b3612a3e023187101fb27e0451408ea901782b07a5fc7c9f92be1f59c53d4000 1143734884281847
b3612a3e023187101fb27e0451408ea901782b07a5fc7c9f92be1f59c53d4000 532594388114083
6385520e7d0e95f03e1faf35b527d7c34476766a263a95a5b348bab526a2b000 890376348188409
6385520e7d0e95f03e1faf35b527d7c34476766a263a95a5b348bab526a2b000 279235852020645
df33e7c810e21fa26713f197679585028022b1904ec317b8281b05485152f000 1029465726095329
df33e7c810e21fa26713f197679585028022b1904ec317b8281b05485152f000 418325229927565
a6bef9a34f910573109512484fa6a979c3468df1705f264b5e21847bc70eb000 891792468051792
a6bef9a34f910573109512484fa6a979c3468df1705f264b5e21847bc70eb000 280651971884028
32db7b5f10b4c377b05354b34ca20a19f1ff9d6c73ed726e1ed33441ed0ee000 1170795663880908
32db7b5f10b4c377b05354b34ca20a19f1ff9d6c73ed726e1ed33441ed0ee000 559655167713144
c364f41146a5fef0df1c6ad295fc59158384834350e1f36e0f24719458f1d000 999241629315917
c364f41146a5fef0df1c6ad295fc59158384834350e1f36e0f24719458f1d000 388101133148153
eda7cd9b77865f998591069f115aac6cf77d3235f9c5ade22f9c044aac83a000 941328104653673
eda7cd9b77865f998591069f115aac6cf77d3235f9c5ade22f9c044aac83a000 330187608485909
bd41897bfe042ffd93c4f8284071446d8a1f47a090aefe3fe86280b209c5a000 872146232585324
bd41897bfe042ffd93c4f8284071446d8a1f47a090aefe3fe86280b209c5a000 261005736417560
b3e8568bc4eadbd87d609527d64c441241fa07bdef4e2505c4f2550585a6c000 1080535219841359
b3e8568bc4eadbd87d609527d64c441241fa07bdef4e2505c4f2550585a6c000 469394723673595
18cd29207cd04c383cf7e1a5a269539e1225b056b04a6c3bf9ca8ce18724f000 1034230412665596
18cd29207cd04c383cf7e1a5a269539e1225b056b04a6c3bf9ca8ce18724f000 423089916497832
5bb0e319c598a2543c6f96fd5c5c8f2e77ec11a2eaa188b01c5dde7bacd94000 1089872296205828
5bb0e319c598a2543c6f96fd5c5c8f2e77ec11a2eaa188b01c5dde7bacd94000 478731800038064
26374708cf690c5d95c3b0ee4e60c56760ab839d8478cff8cdc7caf54427d000 1021159839899856
26374708cf690c5d95c3b0ee4e60c56760ab839d8478cff8cdc7caf54427d000 410019343732092
5b962037e8698befb9606a0d7899c9b21e0a7e75c4dd73998dc4fa7f500b9000 886149821630225
5b962037e8698befb9606a0d7899c9b21e0a7e75c4dd73998dc4fa7f500b9000 275009325462461




What meaning each point relate with public key?

but puzzle #120 python can not run well  and python can not solve
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1078
Merit: 219

Shooters Shoot...


View Profile
May 01, 2021, 02:33:15 AM
 #1700

Quote
last night I test run kangaroo python script version all night with puzzle #120 it is not work good
Did you really think you would solve it overnight running a slower python script??

For each tame, there is a wild to solve the key. If you would stop mixing hex with decimal I would try to explain it better but I'm not going to convert them back and forth. I'm still not 100% sure what you do not understand or what you are trying to figure out. But I will tell you, you may get lucky and solve the key using python script only using a CPU but the odds are low; on average it would take thousands of years to solve.
Pages: « 1 ... 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 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 ... 142 »
  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!