Post
Topic
Board Development & Technical Discussion
Re: Pollard's kangaroo ECDLP solver
by
HardwareCollector
on 07/06/2020, 17:27:16 UTC
I used Linux version, compiling github last version.
 
Code:
65.txt
------
10000000000000000
1FFFFFFFFFFFFFFFF
0230210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1b

# Kangaroo github version Date: Sun Jun 7 06:43:00 2020 +0200
./kangaroo -wi 1 -w 65.save 65.txt

# My fork with 'wexport'
./FriedKangaroo -wexport 65.save

head tame.txt wild.txt
==> tame.txt <==
00007860796862b77663def37eaec012748f8 0000000000000000d1a2b6873ad16061
000082e81e4c4a33d0c1b8b49c3e00a4be836 000000000000000026cad0b165912746
000437e07afd45cef7944ae5b161f1df0ba4e 0000000000000000601ac5f0134d69bd
000464166e33cbd94e3ccf5272b4df1b11469 000000000000000051e7b44b64751df0
0004c94946d338d9f706cbae1860e0a4a362c 000000000000000056f0b43bc155a22c
0005d51d5b66f09c891a5af6efbb9a0f51aae 000000000000000042d2568962f26df1
00061a3590ca99c26549e8c8ee1275516bcab 0000000000000000d80aad8f08314744
000630f0c3542f10acc88362e11df849bc98b 00000000000000008c93cfb5218c6182
000813b89d1350e9740af0bed4224911401f3 0000000000000000ec870953b96ff89b
0008bd33af12d0587acb72a758667760f0780 0000000000000000a8e43affff9d308e

==> wild.txt <==
00011ee12c4fe000037449166c9680be93bf3 0000000000000000732a93a7c0625d29
000158515f890c49b608f23ec7717ed42e650 000000000000000020dee9654893f1d9
00025559376457b3d94c0c6493fb1fd893a15 00000000000000001730d21498fcc363
0003f80f12b0f73ad8483e3d63bb37bd1043a -00000000000000005af81793c032e216
00042e9863823886282176066c4bcc3020c60 -00000000000000004da91f00d7ef1261
00055b5545e9b32f5d9f4b26500d6126f0962 -000000000000000068762260d7829363
0006895b5122bf0a599cc2f4e7d3de2d0180d 00000000000000004ad469542989e05b
00070258142e4c4fddf93edec87781bc43be8 00000000000000006c9d275e1a58bc14
00072dfc9270c8b69f77119b9830b4243e089 00000000000000004a61321922a283ef
00092eb91a1ebe9c45a746bb43928db973eca -0000000000000000342d7af2532ab7c0

# Without 'wexport' using hexdump or xxd.
# Skip 156 bytes of savefile header and show hexdump
dd if=65.save bs=1 count=256 skip=156 | xxd -c 32 -g 16 -e
...
00000040: 860796862b77663def37eaec012748f8 0000000000000000d1a2b6873ad16061
...
Interesting. So Linux vs Windows, you get two different looking files.
I think that on Windows it has to be %0I64x or %016llx for the format specifier. I don’t have Windows to test, so make the changes and see if it make a difference.

In the function “void Kangaroo::WorkExport(std::string &fileName)” change “%016lx” to “%0I64x or %016llx”
https://github.com/PatatasFritas/FriedKangaroo/blob/master/Backup.cpp#L525