We have a new record for our little program: 57 bit private key in 1.73 hours averaging
153,791 hops per second using only
310,784 bytes of dynamically allocated memory. We still have not yet implemented all of the great ideas in this thread that will improve the hop rate and implementation/algorithm.
ver = 186, sizeof(unsigned) 4, 128 bit integers, scalar 4x64, field 5x52, 8 processors, 8 available
test = 56
seed = none (default value)
b = 2 ^ 57 = 0x0200000000000000
a = 2 ^ 56 = 0x0100000000000000
P = 0x02A521A07E98F78B03FC1E039BC3A51408CD73119B5EB116E583FE57DC8DB07AEA (33 bytes)
k0000 = 0x2DCF462904B478D8
s = 0x01EB25C90795D61C
s*G = 0x02A521A07E98F78B03FC1E039BC3A51408CD73119B5EB116E583FE57DC8DB07AEA (33 bytes)
numt = 0x8 (8)
mem = 0x4BE00 (310784) bytes
cmps = 0x34C9808B (885620875)
hops = 0x39144058 (957628504)
hps = 153790.653757
time = 1.7297 hours (6226831609100 nsecs)
so as not to create possible problems for you, I will publish the source code only after you.
At this time, I will try to write addition in affine coordinates, which is the fastest way, +30% expected speed-up.
We are doing this to learn. It would be no problem for us if you publish your source code. We already have the published python source code and have looked at it in order to improve our program. You do not need to wait for us to publish. The science fair is not until next year so we have a lot of time to get everything just right and then move the code on to a GPU.
Statistics from our most recent run:
test time hps hops compares mem(bytes) total time
---- -------------- ------- ---------- ------------ ---------- --------------
0 0.8564 msecs 1167 1 3 1232 856400
1 0.7479 msecs 1337 1 3 1232 747900
2 0.6127 msecs 1632 1 3 1232 612700
3 8.6445 msecs 925 8 10 1232 8644500
4 1.6279 msecs 6757 11 13 1232 1627900
5 1.9472 msecs 7703 15 17 1232 1947200
6 12.3022 msecs 4226 52 54 1232 12302200
7 2.0009 msecs 15992 32 34 1232 2000900
8 3.2746 msecs 13742 45 47 1232 3274600
9 10.7214 msecs 47568 510 512 1232 10721400
10 18.3054 msecs 48783 893 895 1232 18305400
11 26.3645 msecs 53594 1413 1415 1232 26364500
12 78.4207 msecs 37949 2976 2978 1232 78420700
13 13.5507 msecs 61841 838 338 21888 13550700
14 15.4483 msecs 45441 702 38 23360 15448300
15 22.4275 msecs 48378 1085 143 26304 22427500
16 25.1679 msecs 36355 915 305 32192 25167900
17 31.0598 msecs 24050 747 141 43968 31059800
18 44.3618 msecs 60975 2705 2132 67520 44361800
19 63.4771 msecs 23866 1515 949 114624 63477100
20 120.1801 msecs 32010 3847 3128 208832 120180100
21 200.2294 msecs 26854 5377 5145 397248 200229400
22 397.8554 msecs 30810 12258 11740 774080 397855400
23 91.7390 msecs 97635 8957 5788 40896 91739000
24 64.6165 msecs 60897 3935 770 42368 64616500
25 130.9894 msecs 108573 14222 10071 45312 130989400
26 105.1900 msecs 92489 9729 6966 51200 105190000
27 152.1824 msecs 115979 17650 13956 62976 152182400
28 103.3762 msecs 76613 7920 4563 86528 103376200
29 1.3121 secs 190967 250564 245502 133632 1312076400
30 860.7668 msecs 175329 150918 146792 227840 860766800
31 6.7634 secs 194092 1312726 1302011 416256 6763397900
32 8.2153 secs 195437 1605582 1592230 793088 8215338900
33 2.5348 secs 136228 345314 276375 78336 2534806300
34 1.2517 secs 62445 78166 8225 79808 1251746900
35 4.6382 secs 163879 760109 689150 82752 4638222000
36 38.0879 secs 187772 7151877 6987945 89152 38087934000
37 18.5839 secs 182235 3386646 3302690 100416 18583879400
38 25.5975 secs 183080 4686411 4596034 123968 25597487500
39 46.6920 secs 160988 7516894 8474293 171072 46691996800
40 1.7609 secs 95305 167826 98613 265280 1760925900
41 3.6092 mins 163432 35391791 40060843 453696 216552401100
42 23.0696 mins 181027 250574243 249647494 830528 1384178187200
43 58.8688 secs 113200 6663978 4542748 152544 58868821100
44 1.8608 mins 148273 16554034 14381807 154016 111645595700
45 2.2344 mins 154316 20688475 18479327 156960 134065352000
46 46.5020 secs 83000 3859681 1996004 162848 46501976100
47 48.5642 mins 176154 513288902 505356026 175136 2913854013900
48 17.2490 mins 174174 180259712 176439508 198176 1034938770000
49 23.4304 mins 175194 246292149 242207587 245280 1405822811400
50 18.4636 mins 151963 168347310 188535204 339488 1107817430400
51 58.0994 mins 153719 535862165 606643869 527904 3485962802800
52 34.3880 mins 153038 315762297 357149197 904736 2063282714200
53 40.2602 mins 120565 291240607 223324940 300480 2415611495500
54 41.4377 mins 121698 302574766 234686603 301952 2486260671300
55 54.7941 mins 135532 445582526 376662553 304896 3287646391600
56 1.7297 hours 153790 957628504 885620875 310784 6226831609100