Pages:
Author

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

full member
Activity: 1232
Merit: 242
Shooters Shoot...
April 19, 2021, 09:56:15 AM

How can I save complete work file from kangaroo

I try to save work file and extract tame and wild, extract from python script is work success but some data have problem

Problem is data on save file not complete , it is not have duplicate line from both (collision point)

Kangaroo.exe -ws -w save.work -wi 5 in.txt

Do I wrong use command?
What command I should use?

I think may be Kangaroo save only last save before success found key.
How can make Kangaroo save finish data inside too?

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.
member
Activity: 406
Merit: 47
April 19, 2021, 03:23:50 AM

How can I save complete work file from kangaroo

I try to save work file and extract tame and wild, extract from python script is work success but some data have problem

Problem is data on save file not complete , it is not have duplicate line from both (collision point)

Kangaroo.exe -ws -w save.work -wi 5 in.txt

Do I wrong use command?
What command I should use?

I think may be Kangaroo save only last save before success found key.
How can make Kangaroo save finish data inside too?
member
Activity: 406
Merit: 47
April 18, 2021, 11:42:34 PM

I need to know and understand how eclambda  works
it is good for puzzle #120 or not

server still loop when found key and I terminate run client program already , that still loop again again

file save result still loop same

job104_solution.txt
Code:
Y: CA2D26338EA0E5FA9FABFDBFC4176CAB2F6A016612C7287EA3C85B86949C655F
K: 00000000000000000000000000000000000000000000000000000E02B35A358F
X: 0820EFE848370AFB08F6BE236ADDD39DC31AE584D687D852D8AE98642F6AE73E
Y: CA2D26338EA0E5FA9FABFDBFC4176CAB2F6A016612C7287EA3C85B86949C655F
K: 00000000000000000000000000000000000000000000000000000E02B35A358F
X: 0820EFE848370AFB08F6BE236ADDD39DC31AE584D687D852D8AE98642F6AE73E
Y: CA2D26338EA0E5FA9FABFDBFC4176CAB2F6A016612C7287EA3C85B86949C655F
K: 00000000000000000000000000000000000000000000000000000E02B35A358F
X: 0820EFE848370AFB08F6BE236ADDD39DC31AE584D687D852D8AE98642F6AE73E
Y: CA2D26338EA0E5FA9FABFDBFC4176CAB2F6A016612C7287EA3C85B86949C655F
K: 00000000000000000000000000000000000000000000000000000E02B35A358F
X: 0820EFE848370AFB08F6BE236ADDD39DC31AE584D687D852D8AE98642F6AE73E
Y: CA2D26338EA0E5FA9FABFDBFC4176CAB2F6A016612C7287EA3C85B86949C655F
K: 00000000000000000000000000000000000000000000000000000E02B35A358F
X: 0820EFE848370AFB08F6BE236ADDD39DC31AE584D687D852D8AE98642F6AE73E
Y: CA2D26338EA0E5FA9FABFDBFC4176CAB2F6A016612C7287EA3C85B86949C655F
K: 00000000000000000000000000000000000000000000000000000E02B35A358F
X: 0820EFE848370AFB08F6BE236ADDD39DC31AE584D687D852D8AE98642F6AE73E
Y: CA2D26338EA0E5FA9FABFDBFC4176CAB2F6A016612C7287EA3C85B86949C655F
K: 00000000000000000000000000000000000000000000000000000E02B35A358F
X: 0820EFE848370AFB08F6BE236ADDD39DC31AE584D687D852D8AE98642F6AE73E
Y: CA2D26338EA0E5FA9FABFDBFC4176CAB2F6A016612C7287EA3C85B86949C655F
K: 00000000000000000000000000000000000000000000000000000E02B35A358F
X: 0820EFE848370AFB08F6BE236ADDD39DC31AE584D687D852D8AE98642F6AE73E
Y: CA2D26338EA0E5FA9FABFDBFC4176CAB2F6A016612C7287EA3C85B86949C655F
K: 00000000000000000000000000000000000000000000000000000E02B35A358F
X: 0820EFE848370AFB08F6BE236ADDD39DC31AE584D687D852D8AE98642F6AE73E
Y: CA2D26338EA0E5FA9FABFDBFC4176CAB2F6A016612C7287EA3C85B86949C655F
K: 00000000000000000000000000000000000000000000000000000E02B35A358F
member
Activity: 406
Merit: 47
April 18, 2021, 11:36:43 PM

That looks right.  But I do not see a dp setting in your command so I am not sure what the default dp is. Kangaroo is using a dp of 7 with 4 CPU threads...note: CPU in smaller ranges are much faster than GPU (less spin up time and kangaroos jump faster, probably 4 to 1 faster) I say that so you do not compare Kangaroo with CPU versus ECL with GPU.  Kangaroo with GPU only will take a little more than a second, due to spin up time. For fair comparison I would make sure you are searching with GPUs only and with same dp settings. I would also try a larger range, at least 65 bits.

Thank
I use low bit because not use long time test just want 5 minute solve done

look like eclambda have a bug when found key then loop again infinity loop

puzzle #44
kangaroo = 01 second
eclambda =  11:02:08 to 11:22:33  = 20 minute


may be high bits very large range eclambda  can solve fast thatn kangaroo it is need to testing


Code:

[2021-04-19.11:02:08] [Info] Job name: job104
[2021-04-19.11:02:08] [Info] Public key: 025E466E97ED0E7910D3D90CEB0332DF48DDF67D456B9E7303B50A3D89DE357336
[2021-04-19.11:02:08] [Info] Key length: 44 bits
[2021-04-19.11:02:08] [Info] Distinguished bits: 18
[2021-04-19.11:12:29] [Info] Verifying 111831 points
[2021-04-19.11:12:29] [Info] Done
[2021-04-19.11:12:30] [Info] Processing C:\bitcoin\eclambda_windows_x86_64\results\job104_74194500.dat
[2021-04-19.11:12:30] [Info] Checking database for collisions
[2021-04-19.11:12:30] [Info] Checked 111831 points in 32ms(3.49472e+06 points per second)
[2021-04-19.11:12:30] [Info] Inserting
[2021-04-19.11:12:31] [Info] Inserted 111831 points in 484ms(231056 points per second)
[2021-04-19.11:22:32] [Info] Verifying 122014 points
[2021-04-19.11:22:32] [Info] Done
[2021-04-19.11:22:33] [Info] Processing C:\bitcoin\eclambda_windows_x86_64\results\job104_74797546.dat
[2021-04-19.11:22:33] [Info] Checking database for collisions
[2021-04-19.11:22:33] [Info] Found matching points!
[2021-04-19.11:22:33] [Info] Finding solution...
[2021-04-19.11:22:33] [Info] Colliding point: 040017203645BAD827E3961275340C21E4BA315799ED15D8FE421C00002217644F3153DC9730AC448061A6009AE2C13F9BD9E6C525EF54218B35B0A5C20BB184DC
[2021-04-19.11:22:33] [Info] Performing walk 1
[2021-04-19.11:22:33] [Info] Performing walk 2
[2021-04-19.11:22:34] [Info] k1: 00000000000000000000000000000000000000000000000000000A2B1F0E1645
[2021-04-19.11:22:34] [Info] k2: 000000000000000000000000000000000000000000000000000004286BB3E0B5
[2021-04-19.11:22:34] [Info] k1 - k2
[2021-04-19.11:22:34] [Info] 00000000000000000000000000000000000000000000000000000602B35A3590
[2021-04-19.11:22:34] [Info] Found valid solution!
[2021-04-19.11:22:34] [Info] Found key for 'job104'
[2021-04-19.11:22:34] [Info] Writing solution to C:\bitcoin\eclambda_windows_x86_64/job104_solution.txt
[2021-04-19.11:22:34] [Info] Solution to job104:
                             00000000000000000000000000000000000000000000000000000E02B35A358F
[2021-04-19.11:22:34] [Info] Found matching points!
[2021-04-19.11:22:34] [Info] Finding solution...
[2021-04-19.11:22:34] [Info] Colliding point: 040017203645BAD827E3961275340C21E4BA315799ED15D8FE421C00002217644F3153DC9730AC448061A6009AE2C13F9BD9E6C525EF54218B35B0A5C20BB184DC
[2021-04-19.11:22:34] [Info] Performing walk 1
[2021-04-19.11:22:34] [Info] Performing walk 2
[2021-04-19.11:22:34] [Info] k1: 00000000000000000000000000000000000000000000000000000A2B1F0E1645
[2021-04-19.11:22:34] [Info] k2: 000000000000000000000000000000000000000000000000000004286BB3E0B5
[2021-04-19.11:22:34] [Info] k1 - k2
[2021-04-19.11:22:34] [Info] 00000000000000000000000000000000000000000000000000000602B35A3590
[2021-04-19.11:22:34] [Info] Found valid solution!
[2021-04-19.11:22:34] [Info] Found key for 'job104'
[2021-04-19.11:22:34] [Info] Writing solution to C:\bitcoin\eclambda_windows_x86_64/job104_solution.txt
[2021-04-19.11:22:34] [Info] Solution to job104:
                             00000000000000000000000000000000000000000000000000000E02B35A358F
[2021-04-19.11:22:34] [Info] Found matching points!
[2021-04-19.11:22:34] [Info] Finding solution...
[2021-04-19.11:22:34] [Info] Colliding point: 040017203645BAD827E3961275340C21E4BA315799ED15D8FE421C00002217644F3153DC9730AC448061A6009AE2C13F9BD9E6C525EF54218B35B0A5C20BB184DC
[2021-04-19.11:22:34] [Info] Performing walk 1
[2021-04-19.11:22:34] [Info] Performing walk 2
[2021-04-19.11:22:34] [Info] k1: 00000000000000000000000000000000000000000000000000000A2B1F0E1645
[2021-04-19.11:22:34] [Info] k2: 000000000000000000000000000000000000000000000000000004286BB3E0B5
[2021-04-19.11:22:34] [Info] k1 - k2
[2021-04-19.11:22:34] [Info] 00000000000000000000000000000000000000000000000000000602B35A3590
[2021-04-19.11:22:34] [Info] Found valid solution!
[2021-04-19.11:22:34] [Info] Found key for 'job104'
[2021-04-19.11:22:34] [Info] Writing solution to C:\bitcoin\eclambda_windows_x86_64/job104_solution.txt
[2021-04-19.11:22:34] [Info] Solution to job104:
                             00000000000000000000000000000000000000000000000000000E02B35A358F
[2021-04-19.11:22:34] [Info] Found matching points!
[2021-04-19.11:22:34] [Info] Finding solution...
[2021-04-19.11:22:34] [Info] Colliding point: 040017203645BAD827E3961275340C21E4BA315799ED15D8FE421C00002217644F3153DC9730AC448061A6009AE2C13F9BD9E6C525EF54218B35B0A5C20BB184DC
[2021-04-19.11:22:34] [Info] Performing walk 1
[2021-04-19.11:22:35] [Info] Performing walk 2
[2021-04-19.11:22:35] [Info] k1: 00000000000000000000000000000000000000000000000000000A2B1F0E1645
[2021-04-19.11:22:35] [Info] k2: 000000000000000000000000000000000000000000000000000004286BB3E0B5
[2021-04-19.11:22:35] [Info] k1 - k2
[2021-04-19.11:22:35] [Info] 00000000000000000000000000000000000000000000000000000602B35A3590
[2021-04-19.11:22:35] [Info] Found valid solution!
[2021-04-19.11:22:35] [Info] Found key for 'job104'
[2021-04-19.11:22:35] [Info] Writing solution to C:\bitcoin\eclambda_windows_x86_64/job104_solution.txt
[2021-04-19.11:22:35] [Info] Solution to job104:
                             00000000000000000000000000000000000000000000000000000E02B35A358F

full member
Activity: 1232
Merit: 242
Shooters Shoot...
April 18, 2021, 11:18:58 PM

You say puzzle 40, do you mean you are searching for a pubkey that is in a 40 bit range? Your screen shows you are searching 65 bits with a large 20 bit dp.

Thanks
I use wrong command , I copy command from sample

What command I should use with eclambda?

jobsubmit.exe --name job104 --start 7FFFFFFFFFF --pubkey 025e466e97ed0e7910d3d90ceb0332df48ddf67d456b9e7303b50a3d89de357336 --keylen 44  --host 192.168.0.103

eclambda.exe --name job104 --device 0 --host 192.168.0.103


puzzle #44
compare with kangaroo

Kangaroo.exe in.txt

in.txt
7FFFFFFFFFF
FFFFFFFFFFF
025e466e97ed0e7910d3d90ceb0332df48ddf67d456b9e7303b50a3d89de357336

That looks right.  But I do not see a dp setting in your command so I am not sure what the default dp is. Kangaroo is using a dp of 7 with 4 CPU threads...note: CPU in smaller ranges are much faster than GPU (less spin up time and kangaroos jump faster, probably 4 to 1 faster) I say that so you do not compare Kangaroo with CPU versus ECL with GPU.  Kangaroo with GPU only will take a little more than a second, due to spin up time. For fair comparison I would make sure you are searching with GPUs only and with same dp settings. I would also try a larger range, at least 65 bits.
member
Activity: 406
Merit: 47
April 18, 2021, 11:07:24 PM

You say puzzle 40, do you mean you are searching for a pubkey that is in a 40 bit range? Your screen shows you are searching 65 bits with a large 20 bit dp.

Thanks
I use wrong command , I copy command from sample

What command I should use with eclambda?

jobsubmit.exe --name job104 --start 7FFFFFFFFFF --pubkey 025e466e97ed0e7910d3d90ceb0332df48ddf67d456b9e7303b50a3d89de357336 --keylen 44  --host 192.168.0.103

eclambda.exe --name job104 --device 0 --host 192.168.0.103


puzzle #44
compare with kangaroo

Kangaroo.exe in.txt

in.txt
7FFFFFFFFFF
FFFFFFFFFFF
025e466e97ed0e7910d3d90ceb0332df48ddf67d456b9e7303b50a3d89de357336

Code:
Kangaroo.exe in44.txt
Kangaroo v2.2
Start:7FFFFFFFFFF
Stop :FFFFFFFFFFF
Keys :1
Number of CPU thread: 4
Range width: 2^44
Jump Avg distance: 2^22.02
Number of kangaroos: 2^12.00
Suggested DP: 7
Expected operations: 2^23.11
Expected RAM: 14.7MB
DP size: 7 [0xFE00000000000000]
SolveKeyCPU Thread 1: 1024 kangaroos
SolveKeyCPU Thread 0: 1024 kangaroos
SolveKeyCPU Thread 3: 1024 kangaroos
SolveKeyCPU Thread 2: 1024 kangaroos

Key# 0 [1S]Pub:  0x025E466E97ED0E7910D3D90CEB0332DF48DDF67D456B9E7303B50A3D89DE357336
       Priv: 0xE02B35A358F

Done: Total time 01s

full member
Activity: 1232
Merit: 242
Shooters Shoot...
April 18, 2021, 10:38:36 PM

I try eclambda

Pollard's lambda algorithm slow than Pollard's kangaroo algorithm

test with puzzle 40 still not solve use GPU 1050
but kangaroo solve with CPU only 4 core in 1 second (very old laptop)

may be I using wrong option for run lambda



You say puzzle 40, do you mean you are searching for a pubkey that is in a 40 bit range? Your screen shows you are searching 65 bits with a large 20 bit dp.
member
Activity: 406
Merit: 47
April 18, 2021, 10:34:56 PM

I try eclambda

Pollard's lambda algorithm slow than Pollard's kangaroo algorithm

test with puzzle 40 still not solve use GPU 1050
but kangaroo solve with CPU only 4 core in 1 second (very old laptop)

may be I using wrong option for run lambda

full member
Activity: 1232
Merit: 242
Shooters Shoot...
April 18, 2021, 04:30:25 PM
I have AMD Radeon R4 Graphics

That's the problem right there. Kangaroo will not work on AMD cards because nobody wrote a solver for it yet. That's why it's giving you a CUDA driver error. The wording "insufficient driver version" in the error logs is probably just a generalization of "cannot use a CUDA device for whatever reason" errors.
Not true...as I have said before, Brichard19 (Bitcrack developer) has developed one in OpenCL and it's the only program that maximizes the 30xx cards, it's just not open source so I can't make tweaks (specifically to not save kangaroos, makes the save file huge, in the gigs).

https://github.com/brichard19/eclambda
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
April 18, 2021, 03:57:21 PM
I have AMD Radeon R4 Graphics

That's the problem right there. Kangaroo will not work on AMD cards because nobody wrote a solver for it yet. That's why it's giving you a CUDA driver error. The wording "insufficient driver version" in the error logs is probably just a generalization of "cannot use a CUDA device for whatever reason" errors.
full member
Activity: 706
Merit: 111
April 18, 2021, 01:38:05 PM
I got a question about about how to set the gpu to use kangaroo.

What does this mean GPUEngine: CudaGetDeviceCount CUDA driver version is insufficient for CUDA runtime version

and what is the cmd line to use the gpu?
It means you are using a driver that will not run with the CUDA props/runtime that the program was compiled with.  Update your Geoforce Driver. Do you know which driver version you are using?  What card(s) are you using?

-gpu tells the program to use a gpu. If you have more than one then you would use something like -gpu -gpuId 0,1,2,3 (for however many cards you have on the system/want to use)

I have AMD Radeon R4 Graphics
full member
Activity: 1232
Merit: 242
Shooters Shoot...
April 18, 2021, 12:46:33 PM
I got a question about about how to set the gpu to use kangaroo.

What does this mean GPUEngine: CudaGetDeviceCount CUDA driver version is insufficient for CUDA runtime version

and what is the cmd line to use the gpu?
It means you are using a driver that will not run with the CUDA props/runtime that the program was compiled with.  Update your Geoforce Driver. Do you know which driver version you are using?  What card(s) are you using?

-gpu tells the program to use a gpu. If you have more than one then you would use something like -gpu -gpuId 0,1,2,3 (for however many cards you have on the system/want to use)
full member
Activity: 706
Merit: 111
April 18, 2021, 07:20:09 AM
I got a question about about how to set the gpu to use kangaroo.

What does this mean GPUEngine: CudaGetDeviceCount CUDA driver version is insufficient for CUDA runtime version

and what is the cmd line to use the gpu?
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
April 13, 2021, 01:15:40 AM
https://gitea.datahoarding.agency/ZenulAbidin/Kangaroo-256

Not working still with rtx 8 x 3090. Showing
GPUEngine : Launch : an illegal memory access was encountered

I never tested it with that many GPUs at the same time. Time to rent a config from Vast.ai to test on?  Undecided

My hands are full at the moment so I don't think I can attempt a test soon.

(Psst: there's a github link of this available at https://github.com/ZenulAbidin/Kangaroo-256, but it's basically thee same as the gitea link)
full member
Activity: 1232
Merit: 242
Shooters Shoot...
April 13, 2021, 12:01:26 AM

one last thing I still doubt about kangaroo with public key
how to kangaroo use public key

now I know from script
kangaroo convert public key to public point number then what next
if public is compress script uncompressed and split uncompressed public key to X and Y
and convert from hex to decimal number
then what next
how to process point x decimal to reference calculate tame.txt and wild.txt

A point is a point, made up of x and y, so don't look at the point as compressed or uncompressed. A point is an x and a y; no leading 04 (uncom) or 02, 03 (compressed).  So the kangaroo program jumps point to point and if the point meets the user input distinguished point, then it stores the x of the point and the distance.

the program you are using uses decimals in the tame and wild files? If so, convert those to hex, that is your x point. Now find the matching x points and then subtract tame distance - wild distance = private key of public key you are searching for.
newbie
Activity: 6
Merit: 0
April 12, 2021, 11:45:55 PM
https://gitea.datahoarding.agency/ZenulAbidin/Kangaroo-256

Not working still with rtx 8 x 3090. Showing
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
GPUEngine : Launch : an illegal memory access was encountered
member
Activity: 406
Merit: 47
April 06, 2021, 06:59:56 AM

one last thing I still doubt about kangaroo with public key
how to kangaroo use public key

now I know from script
kangaroo convert public key to public point number then what next
if public is compress script uncompressed and split uncompressed public key to X and Y
and convert from hex to decimal number
then what next
how to process point x decimal to reference calculate tame.txt and wild.txt
member
Activity: 406
Merit: 47
April 06, 2021, 06:54:50 AM
full member
Activity: 1232
Merit: 242
Shooters Shoot...
April 05, 2021, 01:16:02 PM
Quote
Can any help to save file tame.txt and wild.txt from kangaroo.exe

kangaroo.exe save file in binary right I can not read it
After saving a work file, export it. That will create a readable text document.

You can use this python code. Run with nameoffile.py --wexport

Code:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys, os
if sys.version_info.major<3:
    print("Python3 required")
    sys.exit(0)

import argparse
from struct import unpack
from binascii import hexlify,unhexlify
from math import log2

HEADW = 0xFA6A8001  # Full work file
HEADK = 0xFA6A8002  # Kangaroo only file

HASH_SIZE = 2**18

TAME=False
WILD=True




def bytes_to_num(b):
    return int(hexlify(b), 16)

def GetTimeStr(dTime):
  tmp = ''
  nbDay = dTime / 86400.0
  if nbDay >= 1:
    nbYear = nbDay / 365.0
    if nbYear > 1:
      if nbYear < 5:
        tmp += "%.1fy" % (nbYear)
      else:
        tmp += "%gy" % (nbYear)
    else:
      tmp += "%.1fd" % (nbDay)

  else:

    iTime = dTime
    nbHour = ((iTime % 86400) / 3600)
    nbMin = (((iTime % 86400) % 3600) / 60)
    nbSec = (iTime % 60)

    if nbHour == 0:
      if nbMin == 0:
        tmp += "%02ds" % (nbSec)
      else:
        tmp += "%02d:%02d" % (nbMin, nbSec)
    else:
      tmp += "%02d:%02d:%02d" % (nbHour, nbMin, nbSec)

  return tmp


def checkhead(wf):
    head = unpack('I', wf.read(4))[0]
    if head==HEADW:
        return head
    else:
        print('HEADER ERROR %08x %08x' % (head, HEADW))
        return False

def workinfo(workfile):

  wf = open(workfile, 'rb')
  head = checkhead(wf)
  if not head:
    print('Invalid WorkFile Header')
    return
  version = unpack('I', wf.read(4))[0]
  dp1 = unpack('I', wf.read(4))[0]
  RangeStart = bytes(wf.read(32))[::-1]
  RangeEnd = bytes(wf.read(32))[::-1]
  x = bytes(wf.read(32))[::-1]
  y = bytes(wf.read(32))[::-1]
  count = unpack('Q', wf.read(8))[0]
  time = unpack('d', wf.read(8))[0]

  print('Header   : %08x' % head)
  print('Version  : %d' % version)
  print('DP Bits  : %08x' % dp1)
  print('Start    : %x' % bytes_to_num(RangeStart))
  print('Stop     : %x' % bytes_to_num(RangeEnd))
  print('PubKey X : %s' % hexlify(x).decode())
  print('PubKey Y : %s' % hexlify(y).decode())

  if count>0:
    print('Count    : %d 2^%.3f' % (count, log2(count)))
  else:
    print('Count    : %d' % (count))

  print('Time     : %s' % GetTimeStr(time))

  wf.close()


def workexport(workfile):

    wf = open(workfile, 'rb')
    head = checkhead(wf)
    if not head:
      print('Invalid WorkFile Header')
      return
    wf.seek(156,0) # Skip WorkFile header

    tameFile = open('tame.txt','a')
    wildFile = open('wild.txt','a')

    for h in range(HASH_SIZE):
      nbItem = unpack('I', wf.read(4))[0]
      maxItem = unpack('I', wf.read(4))[0]
      for i in range(nbItem):
        x = bytes(wf.read(16))[::-1]
        d = bytes(wf.read(16))[::-1]

        sign = (bytes_to_num(d) & 0x80000000000000000000000000000000)>0
        htype = (bytes_to_num(d) & 0x40000000000000000000000000000000)>0

        if htype==TAME:
          tameFile.write('%05x%032x ' % (h, bytes_to_num(x)))
          tameFile.write('%032x\n' % (bytes_to_num(d) & 0x3fffffffffffffffffffffffffffffff))
        else:
          wildFile.write('%05x%032x ' % (h, bytes_to_num(x)))
          if sign:
            wildFile.write('-')
          wildFile.write('%032x\n' % (bytes_to_num(d) & 0x3fffffffffffffffffffffffffffffff))

        if args.verbose:
          sys.stdout.write('%s' % ('Tame' if htype==TAME else 'Wild'))
          sys.stdout.write(' %05x%032x ' % (h, bytes_to_num(x)))
          if sign:
            sys.stdout.write('-')
          sys.stdout.write('%032x\n' % (bytes_to_num(d) & 0x3fffffffffffffffffffffffffffffff))


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('-f', dest='workfile', type=str, required=True, help='WorkFile path')
    parser.add_argument('--winfo', dest='winfo', action='store_true', help='Show workfile info')
    parser.add_argument('--wexport', dest='wexport', action='store_true', help='Export workfile into tame.txt and wild.txt')
    parser.add_argument('-v', dest='verbose', action='store_true', help='Verbose')
    args = parser.parse_args()

    if args.workfile:
        print("[+] Workfile %s" % args.workfile)

    if args.winfo:
        workinfo(args.workfile)

    if args.wexport:
        workexport(args.workfile)

It will create 2 text files; tame.txt and wild.txt
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
April 05, 2021, 12:48:31 PM
Are kangaroo collisions in the same herd a bad thing? My program (https://github.com/ZenulAbidin/Kangaroo-256) was doing that until I changed the hash table index calculation to use & HASHMASK instead of % HASHMASK.

To my understanding, they don't slow down the search - that happens when your DP size is too small for your search range and initial points are lost - but it just keeps going on forever without colliding the private key in the hash table.

Can you make an windows version of this too?

My friend's going to attach a K20 to my Windows server and then I'll be able to release a compiled version.
Pages:
Jump to: