mirror of
https://github.com/albertobsd/keyhunt.git
synced 2025-03-17 21:31:49 +01:00
Double BSGS speed for legacy version
This commit is contained in:
parent
cef65fee4e
commit
ad236ddf66
30
keyhunt.cpp
30
keyhunt.cpp
@ -1343,6 +1343,7 @@ int main(int argc, char **argv) {
|
|||||||
BSGS_AMP2[0].Reduce();
|
BSGS_AMP2[0].Reduce();
|
||||||
point_temp.Set(BSGS_MP2_double);
|
point_temp.Set(BSGS_MP2_double);
|
||||||
point_temp = secp->Negation(point_temp);
|
point_temp = secp->Negation(point_temp);
|
||||||
|
point_temp.Reduce();
|
||||||
|
|
||||||
for(i = 1; i < 32; i++) {
|
for(i = 1; i < 32; i++) {
|
||||||
BSGS_AMP2[i] = secp->AddDirect(BSGS_AMP2[i-1],point_temp);
|
BSGS_AMP2[i] = secp->AddDirect(BSGS_AMP2[i-1],point_temp);
|
||||||
@ -1355,12 +1356,11 @@ int main(int argc, char **argv) {
|
|||||||
BSGS_AMP3[0].Reduce();
|
BSGS_AMP3[0].Reduce();
|
||||||
point_temp.Set(BSGS_MP3_double);
|
point_temp.Set(BSGS_MP3_double);
|
||||||
point_temp = secp->Negation(point_temp);
|
point_temp = secp->Negation(point_temp);
|
||||||
|
point_temp.Reduce();
|
||||||
|
|
||||||
for(i = 1; i < 32; i++) {
|
for(i = 1; i < 32; i++) {
|
||||||
BSGS_AMP3[i] = secp->AddDirect(BSGS_AMP3[i-1],point_temp);
|
BSGS_AMP3[i] = secp->AddDirect(BSGS_AMP3[i-1],point_temp);
|
||||||
BSGS_AMP3[i].Reduce();
|
BSGS_AMP3[i].Reduce();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bytes = (uint64_t)bsgs_m3 * (uint64_t) sizeof(struct bsgs_xvalue);
|
bytes = (uint64_t)bsgs_m3 * (uint64_t) sizeof(struct bsgs_xvalue);
|
||||||
@ -5095,7 +5095,6 @@ void *thread_process_bsgs_backward(void *vargp) {
|
|||||||
Point pn;
|
Point pn;
|
||||||
grp->Set(dx);
|
grp->Set(dx);
|
||||||
|
|
||||||
|
|
||||||
tt = (struct tothread *)vargp;
|
tt = (struct tothread *)vargp;
|
||||||
thread_number = tt->nt;
|
thread_number = tt->nt;
|
||||||
free(tt);
|
free(tt);
|
||||||
@ -5121,18 +5120,13 @@ void *thread_process_bsgs_backward(void *vargp) {
|
|||||||
pthread_mutex_lock(&bsgs_thread);
|
pthread_mutex_lock(&bsgs_thread);
|
||||||
#endif
|
#endif
|
||||||
if(n_range_end.IsGreater(&n_range_start)) {
|
if(n_range_end.IsGreater(&n_range_start)) {
|
||||||
/*
|
n_range_end.Sub(&BSGS_N_double);
|
||||||
n_range_end.Sub(&BSGS_N);
|
if(n_range_end.IsLower(&n_range_start)) {
|
||||||
n_range_end.Sub(&BSGS_N);
|
base_key.Set(&n_range_start);
|
||||||
*/
|
}
|
||||||
n_range_end.Sub(&BSGS_N_double);
|
else {
|
||||||
|
base_key.Set(&n_range_end);
|
||||||
if(n_range_end.IsLower(&n_range_start)) {
|
}
|
||||||
base_key.Set(&n_range_start);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
base_key.Set(&n_range_end);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
entrar = 0;
|
entrar = 0;
|
||||||
@ -5142,7 +5136,6 @@ void *thread_process_bsgs_backward(void *vargp) {
|
|||||||
#else
|
#else
|
||||||
pthread_mutex_unlock(&bsgs_thread);
|
pthread_mutex_unlock(&bsgs_thread);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(entrar == 0)
|
if(entrar == 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -5176,9 +5169,7 @@ void *thread_process_bsgs_backward(void *vargp) {
|
|||||||
startP = secp->AddDirect(OriginalPointsBSGS[k],point_aux);
|
startP = secp->AddDirect(OriginalPointsBSGS[k],point_aux);
|
||||||
uint32_t j = 0;
|
uint32_t j = 0;
|
||||||
while( j < cycles && bsgs_found[k]== 0 ) {
|
while( j < cycles && bsgs_found[k]== 0 ) {
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for(i = 0; i < hLength; i++) {
|
for(i = 0; i < hLength; i++) {
|
||||||
dx[i].ModSub(&GSn[i].x,&startP.x);
|
dx[i].ModSub(&GSn[i].x,&startP.x);
|
||||||
}
|
}
|
||||||
@ -5322,7 +5313,6 @@ pn.y.ModAdd(&GSn[i].y);
|
|||||||
pp.y.ModMulK1(&_s);
|
pp.y.ModMulK1(&_s);
|
||||||
pp.y.ModSub(&_2GSn.y);
|
pp.y.ModSub(&_2GSn.y);
|
||||||
startP = pp;
|
startP = pp;
|
||||||
|
|
||||||
j++;
|
j++;
|
||||||
}//while all the aMP points
|
}//while all the aMP points
|
||||||
}// End if
|
}// End if
|
||||||
@ -5463,9 +5453,7 @@ void *thread_process_bsgs_both(void *vargp) {
|
|||||||
startP = secp->AddDirect(OriginalPointsBSGS[k],point_aux);
|
startP = secp->AddDirect(OriginalPointsBSGS[k],point_aux);
|
||||||
uint32_t j = 0;
|
uint32_t j = 0;
|
||||||
while( j < cycles && bsgs_found[k]== 0 ) {
|
while( j < cycles && bsgs_found[k]== 0 ) {
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for(i = 0; i < hLength; i++) {
|
for(i = 0; i < hLength; i++) {
|
||||||
dx[i].ModSub(&GSn[i].x,&startP.x);
|
dx[i].ModSub(&GSn[i].x,&startP.x);
|
||||||
}
|
}
|
||||||
|
2034
keyhunt_legacy.cpp
2034
keyhunt_legacy.cpp
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user