Somthing wrong in algoritms
Added show debug outputs.
./break-short-low-mem-2
Check bit = 90 only, pubkey is:
035c38bd9ae4b10e8a250857006f3cfd98ab15a6196d9f4dfd25bc7ecc77d788d5
Build Hash, MEM size = 12GB
2:51:13 Start generate 1000000 from 536870912, 0%
2:51:19 Start generate 2000000 from 536870912, 0%
2:51:25 Start generate 3000000 from 536870912, 0%
2:51:30 Start generate 4000000 from 536870912, 0%
2:51:34 Start generate 5000000 from 536870912, 0%
2:51:39 Start generate 6000000 from 536870912, 1%
2:51:43 Start generate 7000000 from 536870912, 1%
......
..........
......
3:25:14 Start generate 529000000 from 536870912, 98%
3:25:18 Start generate 530000000 from 536870912, 98%
3:25:22 Start generate 531000000 from 536870912, 98%
3:25:26 Start generate 532000000 from 536870912, 99%
3:25:30 Start generate 533000000 from 536870912, 99%
3:25:34 Start generate 534000000 from 536870912, 99%
3:25:38 Start generate 535000000 from 536870912, 99%
3:25:42 Start generate 536000000 from 536870912, 99%
Search bits = 90
Search Keys.... from 20000000000000000000000 to 3ffffffffffffffffffffff
3:26:14 Search in 576460752310000000 from start 576460752303423488 end 1152921504606846976, real_i:6576512 i3:6585646 real_diff:576460752303423488 percent 0%
3:26:57 Search in 576460752320000000 from start 576460752303423488 end 1152921504606846976, real_i:16576512 i3:16586748 real_diff:576460752303423488 percent 0%
3:27:41 Search in 576460752330000000 from start 576460752303423488 end 1152921504606846976, real_i:26576512 i3:26585539 real_diff:576460752303423488 percent 0%
576460752330000000 1 Count 536870912. Percent 0%
3:28:25 Search in 576460752340000000 from start 576460752303423488 end 1152921504606846976, real_i:36576512 i3:36588420 real_diff:576460752303423488 percent 0%
576460752340000000 1 Count 536870912. Percent 0%
3:29:8 Search in 576460752350000000 from start 576460752303423488 end 1152921504606846976, real_i:46576512 i3:46589427 real_diff:576460752303423488 percent 0%
576460752350000000 1 Count 536870912. Percent 0%
3:29:51 Search in 576460752360000000 from start 576460752303423488 end 1152921504606846976, real_i:56576512 i3:56588769 real_diff:576460752303423488 percent 0%
576460752360000000 1 Count 536870912. Percent 0%
3:30:35 Search in 576460752370000000 from start 576460752303423488 end 1152921504606846976, real_i:66576512 i3:66591219 real_diff:576460752303423488 percent 0%
576460752370000000 1 Count 536870912. Percent 0%
576460752370000000 2 Count 536870912. Percent 0%
3:31:19 Search in 576460752380000000 from start 576460752303423488 end 1152921504606846976, real_i:76576512 i3:76596094 real_diff:576460752303423488 percent 0%
576460752380000000 1 Count 536870912. Percent 0%
3:32:2 Search in 576460752390000000 from start 576460752303423488 end 1152921504606846976, real_i:86576512 i3:86588708 real_diff:576460752303423488 percent 0%
576460752390000000 1 Count 536870912. Percent 0%
3:32:45 Search in 576460752400000000 from start 576460752303423488 end 1152921504606846976, real_i:96576512 i3:96583765 real_diff:576460752303423488 percent 0%
576460752400000000 1 Count 536870912. Percent 0%
576460752400000000 2 Count 536870912. Percent 0%
576460752400000000 3 Count 536870912. Percent 0%
3:33:29 Search in 576460752410000000 from start 576460752303423488 end 1152921504606846976, real_i:106576512 i3:106577746 real_diff:576460752303423488 percent 0%
........
........................................................
........
576460760310000000 1 Count 536870912. Percent 0%
576460760310000000 2 Count 536870912. Percent 0%
13:20:11 Search in 576460760320000000 from start 576460752303423488 end 1152921504606846976, real_i:8016576512 i3:8016708349 real_diff:576460752303423488 percent 0%
576460760320000000 1 Count 536870912. Percent 0%
13:21:6 Search in 576460760330000000 from start 576460752303423488 end 1152921504606846976, real_i:8026576512 i3:8026710610 real_diff:576460752303423488 percent 0%
13:21:57 Search in 576460760340000000 from start 576460752303423488 end 1152921504606846976, real_i:8036576512 i3:8036710758 real_diff:576460752303423488 percent 0%
576460760340000000 1 Count 536870912. Percent 0%
13:22:46 Search in 576460760350000000 from start 576460752303423488 end 1152921504606846976, real_i:8046576512 i3:8046712472 real_diff:576460752303423488 percent 0%
13:23:33 Search in 576460760360000000 from start 576460752303423488 end 1152921504606846976, real_i:8056576512 i3:8056715636 real_diff:576460752303423488 percent 0%
576460760360000000 1 Count 536870912. Percent 0%
13:24:22 Search in 576460760370000000 from start 576460752303423488 end 1152921504606846976, real_i:8066576512 i3:8066714095 real_diff:576460752303423488 percent 0%
10 hours and still 0% from 576460752303423488 to 1152921504606846976
This is real speead? Previos algoritm fast checked in generated arrays.
But algoritm not searched in block
printf("Search Keys.... from %lx%016lx to %lx%016lx\n",start_hi,start_lo, end_hi,end_lo);
printf("Start i from %zu to %zu\n",skip, g_max);
uint64_t i3 = 0;
for (uint64_t i = skip; i < g_max; i++) {
if(i%10000000==0){
time_t tt = time(NULL);
tim = localtime(&tt);
uint64_t real_i = i - skip;
uint64_t real_diff = g_max - skip;
printf("%d:%d:%d Search in %zu from start %zu end %zu, real_i:%zu \t i3:%zu \t real_diff:%zu \tpercent %g%% \n", tim->tm_hour, tim->tm_min, tim->tm_sec, i, skip, g_max, real_i, i3, real_diff, (double)(real_i/(real_diff/100)));
}
.......
...........
.......
secp256k1_gej_add_ge_var(&pt, &pt, &ptgstep, NULL);
}
if CHECK_BITS biggest at 95.
Example
./break-short-low-mem-2
Check bit = 100 only, pubkey is:
03d2063d40402f030d4cc71331468827aa41a8a09bd6fd801ba77fb64f8e67e617
Build Hash, MEM size = 1GB
13:31:35 Start generate 1000000 from 67108864, 1%
13:31:39 Start generate 2000000 from 67108864, 2%
13:31:44 Start generate 3000000 from 67108864, 4%
.................................
13:36:10 Start generate 66000000 from 67108864, 98%
13:36:15 Start generate 67000000 from 67108864, 99%
Search bits = 100
Search Keys.... from 00000000000000000 to ffffffffffffffffffffffffffffffff
Start i from 0 to 0
END!!!!!!!!!!!
-----------------
Start i from 0 to 0-----------------
uint64_t skip;
uint64_t g_max;
skip = (uint64_t)0x1 << skip_bits;
g_max = ((uint64_t)0x1 << shift_gmax)* (uint64_t)(GSTEP);
......
printf("Start i from %zu to %zu\n",skip, g_max);
[b]for (uint64_t i = skip; i < g_max; i++) {[/b]
-----------------
May be nead used not 64, and 128 or long long long in
skip and
g_max?