Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
WanderingPhilospher
on 04/06/2020, 13:38:44 UTC
Those are from Tame and Wild files. What exactly does the program look for in those 2 lines above to result in solved key? Can anyone break it down by line and what the line/characters represent?  Thanks.
Without knowing how the data is encoded/decoded, the lines by themselves are not very useful. A link to the source code would be very useful in this case.
was the export done by patatasfritas where he stated:
Quote
The X-coord is 128+18 bits and distance 126bits. The X-coordinate could be re-generated from the distance if necessary.

source code:
Code:
// Read DP
  for(uint32_t h = 0; h < HASH_SIZE; h++) {

    fread(&items,sizeof(uint32_t),1,f1);
    fread(&maxItems,sizeof(uint32_t),1,f1);

    for(uint32_t i = 0; i < items; i++) {
      fread(&x,16,1,f1);
      fread(&d,16,1,f1);
      sign = (d.i64[1] & 0x8000000000000000);
      htype = (d.i64[1] & 0x4000000000000000);

      if(htype==0) {
          ::fprintf(ft,"%05x%016lx%016lx ", h & 0x3ffff, (uint64_t) (x.i64[1]), (uint64_t) (x.i64[0]));
          ::fprintf(ft,"%016lx%016lx\n", (uint64_t) (d.i64[1] & 0x3fffffffffffffff), (uint64_t) (d.i64[0]));
          numTame++;
      } else {
          ::fprintf(fw,"%05x%016lx%016lx ", h & 0x3ffff, (uint64_t) (x.i64[1]), (uint64_t) (x.i64[0]));
          if(sign)
            ::fprintf(fw,"-");
          ::fprintf(fw,"%016lx%016lx\n", (uint64_t) (d.i64[1] & 0x3fffffffffffffff), (uint64_t) (d.i64[0]));
          numWild++;

ft = tame; fw= wild.